본문 바로가기

Android

[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.. 더보기
[Android] Dependency Structure [Android] dependency 구조 보기Requireapk-dependency-graph(https://github.com/alexzaitsev/apk-dependency-graph)apk fileant 1.9.9 or newerat least Java 5 Intstall & Run (For Mac) hyogeun.park@xxxxxxxxxxxxx:~$ xcode-select --installhyogeun.park@xxxxxxxxxxxxx:~$ brew updatehyogeun.park@xxxxxxxxxxxxx:~$ brew install ant// move apk-dependency-graph directoryhyogeun.park@xxxxxxxxxxxxx:~$ anthyogeun.park@xx.. 더보기
[Android] android.content.ActivityNotFoundException [Android] android.content.ActivityNotFoundExceptionProblem : AndroidManifest.xml에 Activity 항목을 추가를 안해서 에러가 발생 android.content.ActivityNotFoundException: Unable to find explicit activity class {kr.co.xxxx .viewtest/kr.co.xxxx.viewtest.BlogActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1820) at an.. 더보기
[Android] View Collapse & Expand Animation Collpase & Expand AnimationCollpase/Expand UI를 만들 때, Animation을 주는 방법TransitionManager를 이용하면 간단하게 만들 수 있다! TransitionManager.beginDelayedTransition(ViewGroup, Transition) // ViewGroup은 root view를 넣어주면 된다.Transition의 종류Android 5.0(API 레벨 21) 이하에서 사용할 경우AutoTransition() : Android가 자동으로 Animation을 설정ChangeBound() : Collpase/Expand AnimationAndroid 5.0(API 레벨 21) 이상일 경우(위 2개 포함)는 아래 주소 참조 https://de.. 더보기