앱을 개발하는 중에 Doze 상태일 때 해당 앱의 대한 동작을 확인해야 할 경우가 생김. adb를 이용하여 디바이스를 강제적으로 Doze 상태로 변경할 수 있음. - 사전 작업 : adb 설치 *아래 사이트에서 테스트 수행방법을 확인. https://developer.android.com/training/monitoring-device-state/doze-standby#testing_doze 잠자기 및 앱 대기 모드에 맞게 최적화하기 | Android Developers 앱에서 Android 6.0의 절전 기능을 테스트하고 최적화합니다. developer.android.com ------------------------------- Doze 모드 수행 흐름 1. 디바이스를 개발 개발도구에 연결하여 앱을 ..
Android6.0 (API level 23) 부터는 디바이스의 효율적인 배터리 사용을 위해 Doze (잠자기 모드), App Standby(앱대기모드) 가 존재함. Doze : 사용자가 디바이스에 전원 공급 장치를 연결하지 않은 상태에서, 장시간 디바이스를 이용하지 않은 경우에 대하여, 백그라운드 CPU 작업, 네트워크 활동을 지연시킴. App Standby : 사용자가 디바이스에 전원 공급 장치를 연결하지 않은 상태에서, 사용자가 특정 앱에 대하여 장시간 상호작용이 없는 경우, 해당 앱에 대하여, 백그라운드 CPU 작업, 네트워크 활동을 지연시킴. 디바이스는 중간 중간 maintenance window(유지보수기간)을 갖음. 그러나 사용자가 장시간 디바이스를 사용하지 않을 경우 maintenance ..
PendingIntent는 타 애플리케이션을 제어하는 역할을 수행함. Broadcast로 전달하는 것, Activity에서 받는 것, Service로 받는 것이 있음. *Broadcast : Android 앱에서는 게시-구독 디자인 패턴(Publish-subscribe pattern)과 유사한 브로드캐스트 메시지를 받거나 보낼 수 있음. 관심있는 이벤트가 발생할 때 이러한 브로드캐스트가 전송. https://developer.android.com/guide/components/broadcasts 브로드캐스트 개요 | Android Developers Android 앱은 Android 시스템 및 기타 Android 앱에서 게시-구독 디자인 패턴과 유사한 브로드캐스트 메시지를 받거나 보낼 수 있습니다. 관심..
Activity 라이프사이클 : Activity의 상태전이에 사용되는 콜백함수 흐름도 onCreate() : 시스템에서 Activity를 생성하기 위해 가장 먼저 실행되는 함수. onCreate()를 실행하면 Activity 는 "생성됨" 상태가 됨. Activity의 전체 생명주기에서 단 한번만 실행되며, 애플리케이션의 시작 로직을 수행. 이때, onCreate의 매개변수 savedInstanceState를 수신하는데, 이는 Activity의 이전 저장 상태를 포함한 Bundle 객체. ( 처음생성된 Activity의 경우 Bundle 객체 값은 null ) onStart() : 해당 함수가 실행되면 Activity가 사용자에게 보이게 되며, Activity를 포어그라우드에 보내 사용호작용할 수 있도록..
ref : https://developer.android.com/guide/topics/manifest/receiver-element.html#prmsn | Android Developers broadcast receiver(BroadcastReceiver 서브클래스)를 애플리케이션의 구성요소 중 하나로 선언합니다. broadcast receiver를 사용하면 다른 구성요소가 다음과 같을 때도 시스템이나 다른 애플리케이션에서 브로드캐스트팅하는 인텐트를 애플리케이션에서 수신할 수 있습니다. developer.android.com android:enabled - 시스템에서 broadcast receiver를 객체화할 수 있는지에 대한 여부 "true" : 시스템은 broadcast receiver를 객체화하..
안드로이드 spinner 사용시에는 setOnItemClickListener를 사용할 수 없다는 에러. spinner의 클릭 이벤트 사용은 setOnItemSelectedListener를 사용해야 함. mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView adapterView, View view, int i, long l) { //TODO } @Override public void onNothingSelected(AdapterView adapterView) { //TODO } });
데이터를 저장하기 위해 자바 객체를 생성하지 않고, json을 통해 데이터를 전달하는 방법. 저장 변수 - id - name json 라이브러리 - Gson 1. 변수를 Json 객체에로 저장 JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("id", "ABC"); jsonObject.addProperty("name","ABCABC"); 2. jsonObject 객체 내의 변수 추출 String id = new JsonParser().parse(jsonString).getAsJsonObject().get("id").getAsString(); System.out.println(id) -> ABC String id = new JsonPars..