본문 바로가기

activity

[안드로이드 프로그래밍 Next Step] Chapter 8. Broadcast Receiver Chapter 8. Broadcast Receiver Broadcast Receiver는 Observer Pattern을 안드로이드에서 구현한 방식이다. Observer Pattern에서는 일대다 관계에서 직접 호출하지 않고, 인터페이스를 통한 느슨한 결합을 통해 옵저버를 register/unregister하는 방법을 제공한다. 이 방식은 BroadcastReceiver에서도 마찬가지이다. BroadcastReceiver는 바로 Observer이고, 이벤트는 sendBroadcast()에 전달되는 Intent이다. Context에는 registerReceiver()와 unregisterReceiver() 메서드가 있는데, 여러 컴포넌트(Activity, Service, Application)에서 사용될 .. 더보기
[안드로이드 프로그래밍 Next Step] Chapter 5. Activity Chapter 5. Activity Activity는 앱에서 화면의 기본 단위가 되고 가장 많이 쓰이는 컴포넌트이다. Activity는 필요한 만큼만 유지 Activity는 다른 컴포넌트와 마찬가지로 AndroidManifest.xml에 쉽게 선언할 수 있지만 Activity 개수가 많아지면 유지하기도 어려우므로, 불필요하게 많이 만들지 말 것을 권장한다. 내부에 UI 액션이 많고 로직이 많다면 우선 액티비티를 고려하고, 다른 액티비티 위에 팝업 형식으로 뜬다면 custom layout dialog나 DialogFragment, PopupWindow로 대체하는 것이 좋다.'로딩 중'이라고 전체를 덮는 반투명 화면은 어떤게 좋을까?이것도 Activity보다는 DialogFragment가 적절하다.독립적인 .. 더보기
[Android] Context [Android] Context What is Context? Application 환경에 대한 전역 정보를 접근하기 위한 인터페이스 추상 클래스이며 실제 구현은 Android 시스템에 의해 제공됨 Context를 통해 어플리케이션에 특화된 리소스나 클래스에 접근할 수 있음 Activity 실행, Intent Broadcasting, Intent수신 등과 같은 응용 프로그램 수준의 작업을 수행하기 위한 API를 호출 What is Role of Context? 어플리케이션과 관련된 정보에 접근하거나 연관된 시스템 레벨의 함수를 호출할 때 사용 안드로이드 시스템에서 어플리케이션과 관련된 정보에 접근하고자 할 때 ActivityManagerService를 통해야하는데 Context는 ActivityManag.. 더보기
[Android] 앱 구성 요소(Application Component) [Android] 앱 구성 요소(Application Component) Activity(액티비티) 123* 사용자 인터페이스가 있는 단일 화면(상호작용 할 수 있는 화면) * 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 구성됨 * 액티비티는 스택(LIFO)으로 관리됨 Service(서비스) 123* 백그라운드에서 실행되는 구성 요소 * 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행 * 다른 구성 요소가 서비스를 시작한 다음 실행되도록 두거나 자신에게 바인드하여 상호작용할 수 있음 ContentProvider(콘텐츠 제공자) 123* 공유된 앱 데이터 집합을 관리 * 데이터는 파일 시스템이나 SQLite 데이터베이스 또는 웹이나 기타 영구적인 저.. 더보기
[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] 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] 외부 앱 실행 [Android] 외부 앱 실행 앱 정보 얻어오기 12345678910Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); // package Infomation PackageManager pm = getPackageManager(); // 설치되어 있는 App 정보 List installedApps = pm.queryIntentActivities(intent, 0); for(ResolveInfo app : installedApp) { Log.i("App Info : ", app.activityInfo.packageName); } 외부 앱 실행시키기 실행시킬 앱의 Activity Name까지.. 더보기