Deperecated 120

안드로이드 - DialogFragment

1. DialogFragment란? - AlertDialog를 관리하는 Fragment를 만들어 사용할 수 있도록 제공되는 Fragment이다. - AlertDialog와 큰 차이는 없으며, 현업에서는 AlertDialog 보다 DialogFragment를 사용하는 것이 편할 때가 종종 있다. 2. 예제 1. DialogFragment를 상속하는 Fragment를 생성. 2. AlertDiaglouge생성 3. MainActivity에 Fragment show() 4. 리스너 생성 후 세팅 class FirstFragment : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { // 4. 리스너 세팅 ..

안드로이드 - ListFragment

1. ListFragment란? - ListView를 보다 쉽게 사용하기 위해 제공되는 Fragment. - Fragment 내에 ListView를 사용할 경우 보다 편리하게 구성할 수 있도록 제공되는 Fragment이다. - ListView의 id가 @android:id/list로 설정되어 있을 경우 자동으로 ListView를 찾아 관리하게 된다. - 일반적으로 리스트뷰를 만드려면 1. 어댑터 생성 2. 어댑터를 리스트뷰에 세팅 3. 필요하다면 리스너 생성이 있어얗는데 이 모든걸 id만 맞추면 자동으로해준다. 2. 예제 1. ListView의 id 설정 2. ListFragment()를 상속하는 클래스 생성. 3. 리스트뷰를 구성하기 위한 어댑터 세팅. 4. 리스너 세팅. class FirstFragm..

안드로이드 - Activity Controller

1. Controller - 웹, 모바일 등 애플리케이션 개발 시 눈에 보이는 화면들을 관리하는 요소를 Controller라고 부른다. - 만약 눈에 보이는 모든 화면을 Fragment로 만들어 사용할 경우 Fragment를 관리하는 Activity가 Controller의 역할을 한다. 2. Activity의 역할 - 각 Fragment를 교환하고 관리하는 역할을 한다. - Fragment들이 사용할 데이터를 관리하는 역할을 한다. - 각 Fragment들은 배치되어있는 Activity에 접근할 수 있다. - 애플리케이션 개발 시 눈에 보이는 화면을 Fragment로 사용할 경우 Activity가 Controller의 역할을 하게된다.1 3. 예제 - 프래그먼트1에서 버튼을 누르면 프래그먼트2에 데이터를..

안드로이드 - Fragment

1. Fragment란? - Activity 내의 작은 화면 조각. - 일반적으로 여러 화면을 가지고 있는 애플리케이션은 여러 Activity를 가지고 있는 애플리케이션을 의미한다. - Activity는 독립된 실행단위로 메모리를 많이 소모하는데 독립된 실행단위가 아닌 화면만 필요한 경우 Activity보단 Fragment를 사용하는 것이 효율적이다. - Fragment는 Activity내의 작은 화면의 조각으로 Activity의 화면을 여러 영역으로 나누어 관리하는 목적으로 사용되며, 각 영역을 관리하는 클래스라고 보면 된다. - Fragment는 안드로이드 5.0에서 추가되었지만 하위 버전에서도 사용할 수 있도록 설계되어 있다. 2. 주요 메서드 - add : Fragment를 지정된 레이아웃에 추가..

안드로이드 - 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..