Deperecated/Android_강의 55

안드로이드 - Fragment - IPC

1. IPC란? - Activity에서 실행 중인 서비스에 접속하여 그 서비스의 데이터를 사용하고자 할 때 사용하는 개념. - Activity가 현재 실행중인 서비스에 접속하고 서브사가 가지고있는 메서드를 호출함으로써 값을 가져와 사용할 수 있다. 2. 서비스에 접속해서 데이터 가져오기. 1. Service()를 상속하는 서비스 클래스 생성하기. 2. Main에서 서비스를 실행시킨다. // 2. // 서비스를 실행시킨다. // 현재 실행중인 서비스의 목록을 순회하며 매개변수로 들어간 클래스이름과 같은 서비스가 없다면 return false. fun isServiceRunning(name:String):Boolean { var manager = getSystemService(Context.ACTIVITY_..

안드로이드 - 서비스

1. 서비스란? - 안드로이드 4대 구성요소 중 하나로 백그라운드 처리를 위해 제공되는 요소이다. - Activity는 화면을 가지고있어 화면이 보이는 동안 동작하지만 Service는 화면을 가지고있지 않아 보이지 않는 동안에도 동작하는 것을 의미한다. 2. 서비스 만들기 예제 1. app -> New -> Service로 Service클래스를 상속하는 클래스를 만들어준다. - StartService()가 불리면 서비스클래스에서 자동으로 onStartCommand()가 호출된다. - StopService()가 불리면 서비스클래스에서 자동으로 onDestroy()가 호출된다. class ServiceClass1 : Service() { override fun onBind(intent: Intent): IB..

안드로이드 - 시스템 메세지

1. 시스템 메세지란? - 안드로이드에서는 단말기에서 사건이 발생했을 경우 각 사건마다 정해 놓은 이름으로 시스템 메세지를 발생시킨다.(배터리용량 부족, 메세지 도착, 부팅 완료 등) - 이 메세지와 동일한 이름으로 설정되어 있는 BroadCastReceiver를 찾아 개발자가 만든 코드를 동작시킬 수 있다. - 안드로이드 8.0(오레오) 부터는 사용할 수 있는 시스템 메세지의 수가 줄어들었다. (암시적 인텐트) https://developer.android.com/guide/components/broadcast-exceptions 암시적 브로드캐스트 예외 | Android 개발자 | Android Developers 백그라운드 제한에서 제외되는 암시적 브로드캐스트입니다. developer.android..

안드로이드 - BroadCastReceiver

1. BroadCastReceiver란? - 안드로이드OS가 특정 이름을 가진 브로드캐스트를 송출하면 단말기의 모든 APP들에서 특정 이름을 가진 BroadCastReceiver가 동작하는것. - 특정 이벤트(문자수신, 부팅완료, 배터리부족 등)를 처리하기 위해 잘 사용된다. Ex) 문자메세지를 수신했다는걸 안드로이드OS가 알리면, RECEIVE_SMS라는 이름을 갖는 BraodCastReceiver를 찾아서 동작하게 한다. 2. 명시적 인텐트 - 안드로이드의 4대 구성요소 중 하나를 동작시키기 위해 동작 시키고자 하는 구성 요소의 클래스명을 직접 기술하여 동작시키는것을 의미한다. - 한번에 하나만 실행이 가능하다. 3. BroadCastReceiver 만들기 - app -> NEW -> Other ->..

안드로이드 - Activity Action

1. Activity Action - 안드로이드에서 제공되는 기본 애플리케이션 중 다른 애플리케이션이 사용할 수 있도록 Activity가 제공되는 것들이 있다. - 이들은 모두 공개되어 있는 이름이 제공되며 이를 이용해 실행할 수 있다. - Intent의 액션을 설정해 사용할 수 있으며, 뒤에 전달해주는 uri에 따라 실행시키는것이 다르다. var intent = Intent(Intent.ACTION_VIEW, uri) var intent = Intent(Intent.ACTION_DIAL, uri) var intent = Intent(Intent.ACTION_CALL, uri)startActivity(intent) 2. 지도 띄우기 - ACTION_VIEW을 이용해 위도를 전달해 지도를 띄울 수 있다. ..

안드로이드 - 다른 애플리케이션의 액티비티 실행하기

1. Intent Filter - 안드로이드의 4대 구성요소는 모두 AndroidManifest.xml파일에 기록되어야 한다. - 이 때 다른 애플리케이션이 실행할 수 있도록 하고자 한다면 Intent Filter를 이용해 설정해주면 된다. - Intent Filter를 통해 액티비티의 이름을 등록하면 다른 애플리케이션에서 실행이 가능하다. 2. App1에서 App2띄우기 1. App2의 AndroidMenifest.xml에서 띄우고자 하는 Activity에 intent-filter를 적용해 action, category를 지정해준다. 2. App1의 button의 람다식에 Intent를 위 intent-filter의 action명을 넣어 startActivity(intent)를 호출해준다. overri..

안드로이드 - 객체 전달하기

1. Parcelable - Intent를 통해 객체를 전달할 때는 Parcelable 인터페이스를 구현한 객체만 가능하다. - Parcelable 인터페이스는 전달받은 쪽에서 객체를 복원할 때 필요한 정보를 가진 부분을 의미한다. - 안드로이드에서는 액티비티 - 액티비티간에 "객체 자체"를 전달할 수는 없고, "객체 안에 있는 값들을 전달"해서 받는 액티비티에서 "똑같은 객체를 새로 생성"해서 마치 객체가 전달 된 것 마냥 하는것이다. -> 왜 이러는걸까? 1. 안드로이드의 4대 구성요소들은 모두 독립적인 실행단위이기 때문에. 2. 다른 어플리케이션이 갖고있는 4대 구성요소를 실행시키는것도 가능하기 때문에. 2. Parcelable 인터페이스를 구현한 클래스 1. class TestClass : Par..

안드로이드 - 데이터 전달하기

1. Intent에 데이터 셋팅하기 - Activity를 실행하기 위해 사용하는 Intent 객체에 putExtra() 메서드를 이용하여 데이터를 세팅하면 실행되는 Activity에 서 데이터를 전달받을 수 있다. - putExtra() 메서드는 자료형 별로 메서드가 제공되기 때문에 타입을 가리지 않는다. 2. Intent에서 데이터 가져오기 - Intent에 셋팅된 데이터는 getXXXExtra() 메서드를 이용해서 가져오면 된다. - 자료형별로 메서드가 제공되므로 가져오고자 하는 데이터 타입에 맞는 메서드를 이용하여 가져온다. 3. 예제가 중요함 - main에서 second에 전달하고, second도 main에 전달함. main class MainActivity : AppCompatActivity()..

안드로이드 - OnResultActivity

1. startActivityForResult - Activity에서 다른 Activity를 실행하고 다시 돌아왔을 때 어떤 처리가 필요하다면 Activity를 실행할 때 startActivity가 아닌 startActivityForResult 메서드를 사용한다. 나는 그냥 다른 액티비티만 실행하면돼! -> startActivity 아니 나는 다른 액티비티 실행했다가 다시 돌아와서 뭔가 수행해야돼 -> startActivityForResult 2. onActivityResult - startActivityForResult 메서드를 이용해 Activity를 실행하고 돌아오면 자동으로 onActivityResult 메서드가 호출된다. 여기에서 필요한 작업을 처리하면 된다. - 매개변수 1. requestCo..

안드로이드 - 안드로이드 4대 구성 요소 - Activity 실행하기

1. 안드로이드 4대 구성요소 - 하나의 애플리케이션은 독립된 실행단위인 4대 구성 요소로 구성된다. 1. Activity - 눈에 보이는 화면(UI요소)을 관리하는 실행단위 - 여러개의 화면이 떠있는 App의 경우 여러개의 Activity가 있는 것이다. 2. Service - 백그라운드에서 실행되는 실행단위 3. BroadCastReceiver - OS가 전달하는 메세지(Ex. 배터리 닳음, 메세지 도착 등)를 전달 받아 실행되는 실행단위 4. ContentsProvider - 저장된 데이터를 제공하기위한 실행단위 2. AndroidManifest.xml - 안드로이드 4대 구성요소는 AndroidManifest.xml에 전부 기록되어야 한다. - AndroidManifest.xml은 개발자가 안드로..