반응형 ANDROID81 [Android] 핸들러(Handler)로 실행 지연시키기 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 일정 시간 후에 실행하기 응답이 늦어지거나 응답이 없으면 앱이 대기하고 있는 상황이 지속되는 문제 발생 → 별도의 스레드를 만들어 처리하게 됨 BUT 버튼 클릭으로 간단하게 접속 처리하는 경우에 메인 스레드 내에서 지연시간을 주는 것만으로도 UI 멈춤 현상을 방지할 수 있음 Thread.sleep() 메서드로 대기 상태 만들기 핸들러(Handler)로 지연 시간 발생시키기 💡 핸들러로 지연시간을 주는 경우, 핸들러로 실행되는 코드는 메시지 큐(Message Queue)를 통과하면서 순차적으로 실행되므로 UI 객체들에 영향을 주지 않으면서 지연 시간을 두고 실행됨 postDelayed() 메서드를 사용하여 지정한 시간이 지난 후.. 2021. 6. 21. [Android] 핸들러(Handler) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 핸들러(Handler) 새로운 프로젝트를 만들면 자동으로 생성되는 메인 액티비티는 앱이 실행될 때 하나의 프로세스에서 처리됨 → 메인 액티비티 내에서 이벤트를 처리하거나 특정 메서드를 정의하여 기능을 구현할 때도 같은 프로세스 안에서 실행됨 ☝ BUT, 대기 시간이 길어지는 네트워크 요청 등의 기능을 수행할 때는 화면에 보이는 UI 멈춤 상태가 발생하는 문제가 생길 수 있음 [해결방법] 멀티 스레드 방식 : 하나의 프로세스 안에서 여러 개의 작업이 동시 수행 👍 같은 프로세스 안에 들어 있으면서 메모리 리소스를 공유하기 때문에 효율적인 처리 가능 👎 동시에 리소스에 접근할 때 데드락(DeadLock)이 발생하여 시스템이 비정상.. 2021. 6. 17. [Android] 매니페스트(Manifest), 리소스(Resource) 그리고 그래들(Gradle) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 안드로이드 앱은 '자바 코드'와 '리소스'로 구성됨 자바 코드에서는 앱의 흐름과 기능을 정의하고, 리소스에서는 레이아웃이나 이미지처럼 사용자에게 보여주기 위해 사용하는 파일이나 데이터를 관리함. 매니페스트(Manifest) 설치된 앱의 구성 요소가 어떤 것인지, 어떤 권한이 부여되었는지 시스템에 알려주는 역할 모든 안드로이드 앱은 가장 상위 폴더에 매니페스트 파일(AndroidManifest.xml)이 있어야 하고, 이 정보는 앱이 실행되기 전에 시스템이 알아야 할 내용들을 정의하고 있음 매니페스트의 주요 역할 앱의 패키지 이름 지정 앱 구성 요소에 대한 정보 등록(액티비티, 서비스, 브로드캐스트 수신자, 내용 제공자) 각 구.. 2021. 6. 16. [Android] 위험 권한(Permission) 부여하기 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 위험 권한 대부분 주요 권한들은 개인 정보가 담겨 있는 정보에 접근하거나 개인정보를 만들어 낼 수 있는 단말의 주요 장치에 접근할 때 부여됨 매니페스트에 넣어준 권한은 앱을 설치할 때 사용자가 허용하면 한꺼번에 권한이 부여되는데 마시멜로(API 23)부터는 중요한 권한들을 분류하여 설치 시점이 아니라 앱을 실행했을 때 사용자로부터 권한을 부여받도록 변경 일반 권한과 위험 권한 *일반 권한(Normal Permission) - 앱을 설치할 때 사용자에게 권한이 부여되어야 함을 알려주고 설치할 것인지 물어봄 → 사용자가 부여할 권한들을 보고 수락하면 앱이 설치되고 앱에는 해당 권한들이 부여됨 *위험 권한(Dangerous Perm.. 2021. 6. 15. [Android] 브로드캐스트(Broadcast) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 브로드캐스트 수신자(Broadcast Receiver) 브로드캐스팅(Broadcasting) : 메시지를 여러 객체에 전달하는 것 → 안드로이드는 여러 앱 구성 요소에 메시지를 전달할 때 브로드캐스팅을 사용함 (앱과 앱 사이, 앱과 시스템 사이의 이벤트 전달) 안드로이드 4대 앱 구성 요소 중 하나 AndroidManifest 파일에 등록해야 시스템이 알 수 있고 화면도 없게 됨 매니페스트 등록 방식이 아닌 소스코드에서 registerReceiver() 메서드를 사용해서 시스템에 등록할 수 있음 브로드캐스트 수신자 등록하고 사용하기 브로드캐스트 수신자는 태그 안에 태그를 넣어 어떤 인텐트를 받을 것인지 지정 태그 안에 태그의 .. 2021. 6. 11. [Android] 서비스(Service) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 서비스(Service) 백그라운드에서 실행되는 앱의 구성요소/프로세스 *백그라운드 : 화면 뒤의 공간 👆 서비스도 액티비티와 같이 앱의 4대 구성요소(액티비티, 서비스, 브로드캐스트 수신자, 내용 제공자) 중 하나! → 시스템에서 관리하기 때문에 액티비티처럼 서비스도 Manifest 파일에 꼭 등록해야 함! 서비스의 실행 원리와 역할 [역할] 단말이 항상 실행되어 있는 상태로 다른 단말과 데이터를 주고 받거나 필요한 기능을 백그라운드에서 실행 → 실행된 상태를 계속 유지하기 위해 서비스가 비정상적으로 종료되더라도 시스템이 자동으로 재실행함! 👆 서비스를 시작하기 위해 액티비티에서 startServcie() 메서드를 호출 sta.. 2021. 6. 9. 이전 1 ··· 8 9 10 11 12 13 14 다음 반응형