본문 바로가기
반응형

ANDROID81

[Android] 탭(Tab)과 바텀 내비게이션(Bottom Navigation) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 일반적으로 모바일 단말은 화면 크기가 작기 때문에 하나의 화면에 너무 많은 구성 요소를 넣으면 성능이나 사용성 면에서 좋지 않음. 안드로이드의 경우에도 하나의 액티비티를 최대한 많이 분리시켜서 하나의 화면에 보이는 뷰의 개수를 줄이는 것이 좋음! 👆 BUT, 하나의 화면에 여러 가지 구성 요소를 넣어두고 필요할 때 전환하여 보여주는 것이 좋을 때도 있음 탭(Tab) : 몇 개의 버튼을 두고 그중 하나의 버튼을 눌러 서브 화면을 전환하는 방식 내비게이션(Navigation) 위젯 상단 탭과 하단 탭(Bottom Navigation)으로 구분할 수 있음 상단 탭은 액션바에 탭 기능을 넣어 보여주는 방법으로 제공됨 하단 탭은 별도의.. 2021. 6. 8.
[Android] 프래그먼트(Fragment) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 프래그먼트(Fragment) 🤷‍♀️ 리니어 레이아웃 안에 다른 레이아웃을 추가하거나 각각의 레이아웃 안에 필요한 뷰를 넣어 화면을 구성하는 방법은? 😩 여러 개의 레이아웃을 넣어 중첩시킨 후 가시성 속성으로 필요한 레이아웃만 보이게 하는 방식으로 구현.. 각각의 레이아웃이 동시에 보이는 상태인지 아닌지에 대한 정보 등 코드가 많이 복잡해짐 🙋‍♀️ 하나의 액티비티에 여러 개의 부분 화면을 올려주는 방법? 🤨 Activity 클래스와 ActivityGroup 클래스를 사용하면 구현이 가능함. 하지만 액티비티는 하나의 화면을 독립적으로 구성할 때 필요한 여러 가지 속성들을 사용하게 되고, 안드로이드 시스템에서 관리하는 앱 구성 .. 2021. 5. 31.
[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.
반응형