Android
-
Guide to background processingAndroid/AndroidStudio 2018. 6. 30. 23:51
https://developer.android.com/guide/background/ 이 페이지에서는 어플의 성능을 저하시키지 않으면서 당신의 어플이 백그라운드에서 작업을 수행할 수 있도록 도와 줄 것이다. 모든 안드로이드 어플은 UI를 담당하는 메인 스레드를 가지고 있으며,( 뷰들을 측정하고 그리는 작업을 포함한다 ), 또는 사용자간의 상호작용을 조절하거나, 생명주기와 관련된 이벤트들을 받는다. 만약 이 메인스레드에 너무 많은 작업들이 일어나면, 머플을 매우 느려져보인다. 이는 사용자들에게 불만족스러운 사용자 경험을 경험하게 한다. 시간이 많이 걸리는 계산작업이나 비트맵, 디스크 관련 그리고 네트워크가 요구되는 일들은 백그라운드의 독립된 스레드에서 수행되어야 한다. 일반적으로 수 밀리초 이상의 일들은 ..
-
FragmentAndroid/AndroidStudio 2018. 6. 21. 16:52
프래그먼트 이해하기 여러 액티비티에 공통되는 부분이 있다고 가정 ( 카카오톡을 켰을 때, 아래 생기는 메뉴바) 하면,화면이 전환 될 때마다 똑같은 코드가 또 사용되게 된다. 때문에 하나의 액티비티에(시스템에서 관리) 여러 화면을 보여주기 위해 프래그먼트를 사용한다.(과거에는 외부라이브러리였지만 현재는 api에 추가 되었으면, 널리 사용되기 때문에 꼭 알아야한다.) 프래그먼트는 액티비티를 본 따서 만들어졌다. - 생명주기를 갖는다. - 플래그먼트간 전환시 액티비티처럼 intent가 필요하다(intent를 닮았지만 다르다) - 액티비티안에 존재하는 플래그먼트매니저(시스템의 역할)에 의해 전환된다. - 플래그 먼트는 뷰가 아니기 때문에 context가 없다. -> 플래그먼트가 들어가는 액티비티에서 참조해야 한..
-
서비스로 명령 전달Android/AndroidStudio 2018. 6. 20. 16:24
구성요소에서 서비스로 명령전달 startService(intent 객체) 메소드를 통하여 서비스를 실행할 수 있다. 서비스의 경우 onCreate() 및 onDestroy()의 메소드를 재정의 할 수있다.액티비티에 비해 단순한 생명주기를 가진다. 서비스는 한번 호출되면 비정상적으로 소멸된다하더라도 시스템에 의해 다시 실행 될 수 있다.따라서 한번 호출되면 onCreate()가 다시 실행되지 않는다. 여러 구성요소에서 인텐트로 서비스에 명령을 전달할 때,onCreate()에서는 그 명령을 받을 수 없다. -> 이럴때는 onStartCommand() 메소드를 재정의 한다. 일반적으로 새로운 클래스를 정의할 때 onCreate(), onStartCommand(), onDestory() 메소드를 재정의 하는 경..