본문 바로가기

Development

[Android] Context [Android] Context What is Context? Application 환경에 대한 전역 정보를 접근하기 위한 인터페이스 추상 클래스이며 실제 구현은 Android 시스템에 의해 제공됨 Context를 통해 어플리케이션에 특화된 리소스나 클래스에 접근할 수 있음 Activity 실행, Intent Broadcasting, Intent수신 등과 같은 응용 프로그램 수준의 작업을 수행하기 위한 API를 호출 What is Role of Context? 어플리케이션과 관련된 정보에 접근하거나 연관된 시스템 레벨의 함수를 호출할 때 사용 안드로이드 시스템에서 어플리케이션과 관련된 정보에 접근하고자 할 때 ActivityManagerService를 통해야하는데 Context는 ActivityManag.. 더보기
[Android] java.lang.IllegalStateException: Main thread not allowed to quit. [Error]java.lang.IllegalStateException: Main thread not allowed to quit. 123456789101112131415161718192021222324252627282909-17 19:09:28.921 6296-6296/com.tistory.gpark.nextstep E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tistory.gpark.nextstep, PID: 6296 java.lang.RuntimeException: Unable to destroy activity {com.tistory.gpark.nextstep/com.tistory.gpark.nextstep.JavaActivity}: java.lan.. 더보기
[Android] java.lang.IllegalStateException: This message is already in use. [Error] java.lang.IllegalStateException: This message is already in use. 1234567891011121314151609-17 19:01:27.286 5673-5673/com.tistory.gpark.nextstep E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tistory.gpark.nextstep, PID: 5673 java.lang.IllegalStateException: { when=0 what=1 obj=메시지입니다.^^ target=android.os.Handler } This message is already in use. at android.os.MessageQueue.enqueueMe.. 더보기
[Android] 앱 구성 요소(Application Component) [Android] 앱 구성 요소(Application Component) Activity(액티비티) 123* 사용자 인터페이스가 있는 단일 화면(상호작용 할 수 있는 화면) * 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 구성됨 * 액티비티는 스택(LIFO)으로 관리됨 Service(서비스) 123* 백그라운드에서 실행되는 구성 요소 * 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행 * 다른 구성 요소가 서비스를 시작한 다음 실행되도록 두거나 자신에게 바인드하여 상호작용할 수 있음 ContentProvider(콘텐츠 제공자) 123* 공유된 앱 데이터 집합을 관리 * 데이터는 파일 시스템이나 SQLite 데이터베이스 또는 웹이나 기타 영구적인 저.. 더보기
[Android] android.os.FileUriExposedException [Error] android.os.FileUriExposedException: file:///… targetSdkVersion을 24이상으로 했을 때 File 경로를 Uri로 변경하고자 할 때 Uri.parse(File 경로) 를 사용하게 되면 발생하는 에러 FileProvider를 사용하면 해결 Solution [Android] How To APK Install Programmatically :: Gpark's Blog 더보기
[Android] How To APK Install Programmatically How To APK Install Programmatically targetSdkVersion을 24이상부터 file 접근하는 방법이 변경됨[Android 7.0 변경사항 참고 : https://developer.android.com/about/versions/nougat/android-7.0-changes?hl=ko] [Code] AndroidManifest.xml 12345678910111213141516171819202122... ... ... res/xml/file_provider.xml 123456 [Function] install 12345678910111213141516171819private void install(Context context) { Observable installApk =.. 더보기
[Android] Window What is Window? 하나의 뷰 계층을 가진 직사각형 영역, 하단의 직사각형들이 각각의 윈도우 영역 What are Characteristics of Window? 1. Activity에 의해 생성됨 2. WindowManager에 의해 관리됨. 3. 각각의 Activity는 User Interface를 그릴 수 있는 하나의 윈도우가 주어짐 4. Window의 Contents를 그릴 수 있는 하나의 Surface를 가짐 5. Surface는 view들을 가지고 있는 ViewGroup을 포함한다. How interaction happens among the Window, Surface, Canvas, and Bitmap? 1. Suface는 lock이 되어있어서, 그 안에 그릴 수 있는 Canvas.. 더보기
[Android] Input Event 이벤트 리스너(EventListener) void onClick( ) From View.OnClickListener 사용자가 항목을 터치하거나, navigation key 또는 트랙볼을 사용하여 해당 항목에 포커스를 맞추고 ‘Enter’키를 누르거나 트랙볼을 클릭하면 호출 1. 변수로 리스너 등록 // Create an anonymous implementation of OnClickListener private OnClickListener mCorkyListener = new OnClickListener() { public void onClick(View v) { // do something when the button is clicked } }; protected void onCreate(Bundle .. 더보기
[Android] View View Android의 UI는 ViewGroup과 View의 계층으로 이루어짐 출처 : Good Joon :: 안드로이드 개발 #4 - 첫 UI 개발 View란? Activity에서 화면을 구성하는 최소 단위(Widget들의 기본 Class) 로 화면에 보이는 모든 것 View를 상속하는 Class 예 : TextView ImageView, EditText, Button 등 ViewGruop n개의 View를 담을 수 있는 Container로 ViewGroup 또한 View를 상속받아 만든 Class입니다. ViewGroup를 상속하는 Class 예 : TextView ImageView, EditText, Button 등 출처: Android UI Layouts Tutorial View LifeCycl.. 더보기
[Android] java.lang.IllegalMonitorStateException: object not locked by thread before notify() [Android] java.lang.IllegalMonitorStateException: object not locked by thread before notify()Problem: lock을 걸지 않았을 때 발생하는 에러(wait도 마찬가지로 발생) java.lang.RuntimeException: Unable to start activity ComponentInfo{kr.co.foodfly.viewtest/kr.co.foodfly.viewtest.BlogActivity}: java.lang.IllegalMonitorStateException: object not locked by thread before notify() at android.app.ActivityThread.performLaunchAc.. 더보기