목록공부 (12)
라떼는말이야
UI 디자인 XML에서 모르는 부분은 댓글로 물어봐주세요. 따로 설명하지는 않겠습니다. Android - CountDownTimer 안드로이드에서 카운트다운을 위한 메소드를 제공해준다. public abstract class CountDownTimer 사용법은 다음과 같다. object : CountDownTimer(30000, 1000) { override fun onTick(millisUntilFinished: Long) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000) } override fun onFinish() { mTextField.setText("done!") } }.start() CountDownTimer의 인..
안드로이드 권한의 종류 안드로이드 앱을 사용할 때 주소록, 갤러리 등의 기기의 데이터나 gps, 오디오 녹음 등 특정 기능을 활용하기 위해 사용자에게 권한을 요청할 수 있다. 이처럼 사용 중 필요할 때 요청되는 권한을 런타임 권한(Runtime permissions)이라고 하고, 앱이 설치되면서 자동으로 부여되는 권한은 설치 시간 권한(Install-time permissions)이라고 한다. 설치 시간 권한에는 일반 권한과 서명 권한 등의 여러 하위 권한이 포함된다. 일반적으로 사용자의 개인 정보나 데이터를 사용하지 않는다. 런타음 권한은 다음과 같이 사용자에게 권한 허가 여부를 물어본다. 당연한 얘기지만 사용자가 앱을 사용할 때 반드시 필요한 권한만 요청해야한다. 이후 부터는 런타임 권한에 대한 이야..
안드로이드 개발을 위해 코틀린을 새로 공부하면서 매일 매일 코틀린과 다른 언어의 차이점을 알아가면서 재미를 느끼고 있다. 현재는 계산기를 만드는 중인데 생각보다 복잡하다... 계산기를 만드는 과정 중 계산식의 마지막에 입력된 버튼이 숫자인지 판별해야 했다. 이때 계산식은 String 형이기 때문에 단순히 is Int 로 판별하기 힘들며 소수점도 숫자로 판별하기 위해 "."도 숫자로 판단해야 한다. 다양한 방법이 있겠지만 나는 리스트를 사용하기로 했다. 만약 코딩테스트에서 이런 문제가 나왔다고 한다면 나는 주로 파이썬을 사용하기 때문에 파이썬으로는 다음과 같이 짰을 것이다. # 파이썬 코드 digits = [str(i) for i in range(10)].append(".") 파이썬은 강력한 리스트 컴프리..
해결 과정 - 안드로이드 카페, 안드로이드 질문 카톡방, 구글링 등 여러 방법을 시도해봤지만 확실한 해결책을 찾지 못함. - 친구와 코드리뷰를 하며 문제점을 발견하고 해결할 수 있었음 문제 원인 문제의 원인은 프래그먼트를 다루는 것에 대한 미숙함 때문이었다. 우선 착각한 부분이 프래그먼트에 있는 EditText에 글자를 입력하고 다음 프래그먼트로 넘어갔다가 돌아오면 기존에 입력했던 글자가 그대로 남아있었기에 단순히 TextView에 setText를 하고 화면이 갱신 안 된 문제로 판단했다. 하지만 내가 프래그먼트를 새로 생성했던 것. onChangeFragment 함수에서 signInPage2 = new RegisterFragment2();로 새로운 프래그먼트 객체를 생성하고 그 객체를 갖다 붙인 것이었..
보호되어 있는 글입니다.
좋아요 버튼을 누르거나 싫어요 버튼을 누르면 숫자가 올라가면서 주황색 아이콘으로 변한다. 만약 좋아요나 싫어요 버튼이 눌린 상태에서 한번 더 누르면 숫자가 내려가고 아이콘은 하얗게 돌아오고, 좋아요가 눌린 상태에서 싫어요 버튼을 누르거나 싫어요가 눌린 상태에서 좋아요 버튼을 누르면 원래 눌려있던 버튼이 취소되고 새로 누른 버튼이 활성화된다. 좋아요와 싫어요를 동시에 할 수 없도록 한 것이다. 어려운 로직은 아니다. ScrollView에 ListView를 넣었을 때 아이템이 하나만 보여줘서 한참 헤맸는데 알고보니 ScrollView에 android:fillViewport="true" 옵션만 넣으면 되는 것이었다. 하지만 스크롤을 하려면 스크롤뷰에 이벤트를 달아야 한다. listView.setOnTouchL..
보호되어 있는 글입니다.
자바 클래스 생성 BitmapButton이라는 자바 클래스를 새로 생성해준다. 자바 클래스를 생성하면 public class BitmapButton { } 으로 생성이 되는데 버튼을 상속해서 커스텀 버튼을 만들 예정이니 버튼을 상속해줘야 한다. AppCompatButton 을 상속하면 된다. 빨간 밑줄이 쳐있는데 생성자가 없기 때문이다. 마우스 우클릭 - [Generate...] - [Constructor] 매개변수가 하나짜리와 두개짜리가 있는 생성자를 선택해서 OK를 눌러준다. 하나짜리는 JAVA를 위한 생성자이고, 두개짜리는 XML을 위한 생성자라고 한다. Ctrl 을 누르고 선택하면 중복 선택이 가능하다. init 메소드 작성 init 메소드를 작성해준다. (이름이 꼭 init일 필요는 없다) in..