본문 바로가기
반응형

ANDROID/Android 앱 프로그래밍35

[Android] 간단한 값 저장은 SharedPreferences 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. SharedPreferences 앱 안에서 간단한 데이터를 저장하거나 복원할 때 사용 간단한 데이터를 저장해야 하는데 SQLite 같은 DB를 이용하기 번거로운 경우에 사용함 앱 내부에 파일을 하나 만들고, 이 파일 안에서 데이터를 저장하거나 불러올 수 있게 함 실제로 개발할 때는 파일을 만들 필요 없이 SharedPreferences의 저장/복원 메서드를 호출함 key - value 형식으로 저장함 [ 예제 ] public class SaveActivity extends AppCompatActivity { @Override protected void onPause() { super.onPause(); Toast.makeTex.. 2021. 5. 27.
[Android] 액티비티의 생명주기(Life cycle) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 액티비티의 생명주기(Life Cycle) 액티비티는 처음 실행될 때 메모리에 만들어지는 과정부터 시작해서 실행, 중지, 메모리에서 해제되는 여러 과정의 상태 정보를 갖고 있음. 이런 상태 정보는 시스템이 관리하면서 각각의 상태에 해당하는 메서드를 자동으로 호출함. 액티비티의 상태 정보 실행(Running) 화면상에 액티비티가 보이면서 실행되어 있는 상태 액티비티 스택의 최상위에 있으며 포커스를 가지고 있음 일시 정지(Pause) 사용자에게 보이지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태 대화 상자가 위에 있어 일부가 가려진 경우에 해당 중지(Stopped) 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태 액.. 2021. 5. 25.
[Android] 태스크(Task) 관리 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 태스크(Task) 앱을 실행하면 그 앱은 하나의 프로세스 위에서 동작함 → 프로세스가 하나 실행되고 그 위에 VM(Virtual Machine)이 만들어지고, VM 위에서 앱이 실행됨 ☝ 현재 앱에서 전화 앱(다른 별도의 프로세스)으로 갔다가 다시 현재 앱으로 돌아오는 경우? 💡 프로세스는 독립적인 것이라 프로세스 간의 정보 공유가 어려움. 따라서 태스크를 사용해서 앱이 어떻게 동작할지 결정해야 함. → 태스크를 이용하면 프로세스처럼 독립적인 실행 단위와 상관없이 어떤 화면들이 같이 동작해야 하는지 흐름을 관리할 수 있음 프로세스와 태스크 하나의 프로세스에서 다른 프로세스를 띄우려면 시스템의 도움이 필요함 시스템에서 이런 액티.. 2021. 5. 25.
[Android] 플래그(flag)와 부가 데이터(Extra Data) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 액티비티로 만든 화면이 한 번 메모리에 만들어졌는데도 계속 startActivity()나 startActivityForResult() 메서드를 여러 번 호출하면 동일한 액티비티가 메모리에 여러 개 만들어 질 것 ∵ 시스템이 인텐트 별로 새 액티비티를 띄워주기 때문 💡 중복된 액티비티를 띄우지 않으려면? 플래그(Flag)로 조정할 수 있다! 플래그(flag) 액티비티가 처리되는 방식 액티비티는 액티비티 매니저(ActivityManager)라는 객체에 의해 '액티비티 스택(Activity Stack)'으로 관리됨. 이 스택은 액티비티를 쌓아두었다가 가장 상위에 있던 액티비티가 없어지면 이전의 액티비티가 다시 화면에 보이게 함 새로.. 2021. 5. 24.
[Android] 인텐트(Intent) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 인텐트(Intent) 앞에서 본 인텐트는 작업을 수행하기 위해 사용되는 명령 or 데이터를 전달하는 기능 → 인텐트를 만든 후 startActivity()나 startActivityForResult() 메서드를 호출하면서 전달하는 방법으로 인텐트를 시스템에 전달 → 시스템은 그 인텐트 안에 들어있는 명령을 확인하고 이미 만든 액티비티 or 단말에 설치되어 있는 다른 앱들의 액티비티를 띄운 것 인텐트의 역할 앱 구성 요소 간에 작업 수행을 위한 정보 전달 다른 앱 구성 요소에 인텐트를 전달할 수 있는 대표적인 메서드 4가지 startActivity() or startActivityForResult() : 액티비티를 화면에 띄울 .. 2021. 5. 21.
[Android] 화면 간 전환하기, 인텐트(Intent) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 화면 간 전환 (1) 액티비티를 화면에 띄우는 경우과 (2) 어떤 액티비티를 띄운 것인지와 그 액티비티로부터 다시 원래의 액티비티로 돌아오면서 응답을 받아 처리하는 경우가 있다. 다음과 같은 상황에서는 각각 해당 메서드를 사용한다. startAcitivy() 메서드 startActivityForResult() 메서드 startActivityForResult() startActivityForResult(Intent intent, int requestCode) 새 액티비티에서 원래의 액티비티로 돌아오면서 새 액티비티의 응답을 받아 처리해야 하는 경우에는 어떤 액티비티에서 돌아온 응답인지 구분해야 이 응답을 처리할 수 있다. 이 응.. 2021. 5. 20.
반응형