본문 바로가기
[android] concurrent document에 대해 알아본다. [android] concurrent document에 대해 알아본다. https://www.youtube.com/watch?v=4Y3JMvbcxQEhttps://developer.android.com/guide/topics/manifest/activity-element#dlmode -안드로이드 LOS 부터 concurrent document 라는 새념이 생겼다.이는 런타임 시에 앱의 테스크를 몇 개라도 동적으로 생성할 수 있게 된다. -concurrent document 를 적극 활용하는 대표적 앱은 google drive 가 있겠다. -concurrent document 를 하는 방법은 두가지가 있다.첫째는 startActivity 시 Intent 의 flag 로 FLAG_ACTIVITY_NEW_DO.. 2019. 4. 25.
[android] Google Play Service: Nearby Connections API [android] Google Play Service: Nearby Connections API https://code.tutsplus.com/tutorials/google-play-services-using-the-nearby-connections-api--cms-24534 -Google Play Service(이하 G.P.S) 에 있는 Nearby Connections API 를 이용하면,LAN ( Local Area Network ) 를 이용해 App 을 host 로 작동시키면서 여러개의 device 를 해당 host 에 연결시킬 수 있다. Use case 는 phone 을 android TV 에 연결해서 control 을 한다던지, Multi user 를 연결해서 game 을 한다던지 할 수 있겠.. 2019. 1. 28.
연락처 계정 생성시 OEM 에서 연락처에서 추가/편집 가능한 Field 정의 연락처 계정 생성시 OEM 에서 연락처에서 추가/편집 가능한 Field 정의 -먼저 Manifest 에 아래와 같이 SyncAdapterService 를 정의하면서meta-data 에 android.provider.CONTACTS_STRUCTURE 에 xml 을 정의해서 넣어준다.이 xml 을 OEM 등의 연락처 앱이 참조해서 필드 표시를 해준다 -xml format 은 developer 문서에 공식적으로는 찾을 수 없었고, AOSP 안의 test 앱에서 그 scheme 을 찾을 수 있었다. ( http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.3_r1/packages/apps/Conta.. 2019. 1. 17.
[android] Background Optimization ( 백그라운드 최적화 ) -Background process 는 User 가 알 수 없게 cpu, memory, battery 등을 소모한다.Android 7.0 ( API 24 ) 부터는 다음과 같은 제약이 추가되었다. targetSdk 24 이상인 앱의 경우 manifest 에 CONNECTIVITY_ACTION 를 등록해도 broadcast 를 받지 못한다. Context.registerReceiver() 를 통한 Runtime receiver 를 등록한 경우에만 받을 수 있다. 앱은 ACTION_NEW_PICTURE 나 ACTION_NEW_VIDEO broadcast 를 보내거나 받을 수 없다. ( 이것은 Android 7.0 target 이 아닌 단말 기준으로 모든 앱에 작동한다. ) -만약 위에 명시된 Action 들.. 2018. 10. 8.
[android 보안] 사용자 관리 #1 [android 보안] 사용자 관리 #1 출처 : Android Security Internals 4장개요 목차 4. 사용자 관리 4.1. 다중 사용자 지원 개요 4.2. 사용자 종류 4.2.1. 주 사용자(소유자) 4.2.2. 보조 사용자 4.2.3. 제한된 프로필 4.2.4. 게스트 사용자 4.3. 사용자 관리 4.3.1. 명령행 도구 4.3.2. 사용자 상태 및 관련된 브로드캐스트 4.4. 사용자 메타 데이터 4.4.1. 사용자 리스트 파일 4.4.2. 사용자 메타데이터 파일 4.4.3. 사용자 시스템 디렉터리 4.5. 사용자별 앱 관리 4.5.1. 앱 데이터 디렉터리 4.5.2. 앱 공유 4.6. 외부 저장소 4.6.1. 외부 저장소 구현 4.6.2. 다중 사용자 외부 저장소 4.6.3. 외부 저.. 2018. 4. 20.
Efficient Android Threading #9 서비스 Efficient Android Threading #9 서비스 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.11.1. 비동기 실행을 위해 서비스를 사용해야 하는 이유 -구성요소 생명주기와 스레드 생명주기의 분리호스팅 프로세스의 생명주기 서비스는 메모리 누수에 대한 위험과 너무 빨리 태스크가 종료될 위험을 모두 줄일 수 있다. 11.2. 지역, 원격, 전역 서비스 -전용 원격(다른 프로세스 사용) 서비스는 자신만의 UI 스레드를 가진다.따라서 서비스 UI 스레드는 클라이언트 구성요소의 UI 스레드의 실행을 지연하지 않는다.원격 서비스는 같은 힙 메모리 영역을 공유하지 않는다.따라서 클라이언트는 원격 메서드를 호출하는 데 바.. 2018. 3. 25.
[android] App Shortcuts Tutorial [android] App Shortcuts Tutorial https://catinean.com/2016/10/20/exploring-android-nougat-7-1-app-shortcuts/ - -Android N ( Nougat ) 7.1 버전부터 사용 가능. -Shortcut 이 설정된 앱은 롱 프레스를 하면 위의 스샷처럼 바로가기 옵션이 나온다. -간단한 정리 특정 동작을 진입과 동시에 할 수 있다는 것이 키 포인트 static 과 dynamic shortcut 2가지 종류가 있다. static 은 xml 에 정의하여 앱 안에 내용이 정의되어 있다. ( 수정하려면 앱 수정 및 재배포를 해야 한다. ) dynamic 은 Runtime 에 바꿀 수 있다. shortcut 으로 앱을 열 때 activ.. 2018. 2. 25.
[android] earphone(headset) plug or unplug intent action [android] earphone(headset) plug or unplug intent action https://developer.android.com/reference/android/media/AudioManager.html#ACTION_HEADSET_PLUG-Action 은 AudioMangaer.ACTION_HEADSET_PLUG. intent extra 로 아래 값들이 있다."state"0 : unplugged1 : plugged "name"headset type, human readable string "microphone"0 : microphone 기능이 없음1 : microphone 기능이 함께 있음 -manifest 를 통해서 receiver 등록되지 않는다.앱에서 명시적으로 등록해야 .. 2018. 1. 22.
[android] Android 6.0(MOS) SDK 에서 바뀐 것들!! [android] Android 6.0(MOS) SDK 에서 바뀐 것들!! https://commonsware.com/blog/2015/08/17/random-musings-android-6p0-sdk.html -ACTION_INSTALL_PACKAGE 를 사용하면서 targetSdkVersion 이 22 이상이면 REQUEST_INSTALL_PACKAGE permission 이 반드시 있어야 한다. -PendingIntent 는 FLAG_IMMUTABLE 이라는 option 이 있다.이것은 PendingIntent 를 invoke 할 때 변형되지 않게 하는 것으로 security 측면에서 좋다. -새로운 Setting screen 들을 Settings 의 action string 을 통해 접근할 수 있.. 2017. 9. 18.
반응형