모바일/안드로이드 (18) 썸네일형 리스트형 [Android] Step2 - 활동(Activity) 활동 Activity 클래스는 Android 앱의 중요한 구성요소로 활동이 실행되고 결합되는 방식은 플랫폼 애플리케이션 모델의 기본 요소. main() 메서드를 사용하여 앱을 실행하는 프로그래밍 패러다임과 달리 Android 시스템은 수명 주기의 특정 단계에 해당하는 특정 콜백 메서드를 호출하여 Activity 인스턴스의 코드를 시작 활동의 개념 모바일 앱 환경은 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 다름. 한 앱이 다른 앱을 호출할 때 호출 앱은 다른 앱을 전체적으로 호출하는 것이 아니라 다른 앱의 활동을 호출 이런 방식으로 활동은 앱과 사용자의 상호작용을 위한 진입점 역할 -> Activity 클래스의 서브클래스로 구현 활동은 앱이 UI를 그.. [Android] Step1 - 안드로이드 소개 Android Studio app > java > com.example.myfirstapp > MainActivity 앱의 진입점. 앱을 빌드하고 실행하면 시스템에서 이 Activity의 인스턴스를 실행하고 레이아웃 로드 app > res > layout > activity_main.xml 이 xml 파일은 활동의 사용자 인터페이스(UI) 레이아웃 정의, 파일에 'Hello, World!' 라는 텍스트가 있는 TextView 포함 app > manifests > AndroidManifest.xml 매니페스트 파일은 앱의 기본 특성을 설명하고 앱의 각 구성요소를 정의 Gradle Scripts > build.gradle 이 이름을 가진 파일은 두개 1) Project: My_App // 프로젝트용 2) M.. [Android] BroadcastReceiver Broadcast 시스템이나 다른 앱이 발생시키는 Broadcast를 구독하거나 내 앱이 게시 가능 ex) 폰 부팅, 충전 시작, 블루투스 기능 상태 변화 구독하는법 1. AndroidManifest.xml에 선언하기 1) 앱이 실행중이 아니면 앱을 실행 2) Android 8.0 Oreo API 26부터는 일부 Broadcast를 제외하고는 사용 불가 3) https://developer.android.com/guide/components/broadcast-exceptions?hl=ko 암시적 브로드캐스트 예외 | Android 개발자 | Android Developers 백그라운드 제한에서 제외되는 암시적 브로드캐스트입니다. developer.android.com 2. Context에 등록하기 1) .. [Android] Permission Permission Android에서 각 application은 고유한 시스템 아이디(Linux의 user id 및 group id)를 사용하여 실행 각 애플리케이션은 각각 프로세스 샌드박스에서 실행 되며 자신의 영역이 아닌 다른 추가적인 부분의 기능 필요시 권한 신청 필요 ! 권한 신청 방법 1. AndroidManifest.xml 파일에 필요한 권한을 추가 2. Dangerous 권한인 경우 런타임에 반드시 권한 확인 1) Normal Permission : 다른 애플리케이션의 실행을 방해하거나 사생활 침해의 우려가 없는 권한 2) Dangerous Permission : 다른 애플리케이션의 실행을 방해하거나 사생활을 침해할 수 있는 권한 Normal Permission의 예 - 인터넷 사용, 와이파.. [Android Studio] RecyclerView 기존 안드로이드 : ListView 사용 최근 안드로이드 : RecyclerView 사용 ListView 대비 RecyclerView는 개발자들이 구현하던 View Holder 패턴을 라이브러리 내에 포함 단순 가로, 세로 스크롤 외에 그리드 타입, 가변 높이 타입 등 다양한 레이아웃 제공 배경 이미지, 간격 조정 등의 기능 제공 새 화면을 출력할 Activity를 하나 추가하고, RecyclerView를 추가한 다음 MainActivity에서 새 Activity를 부르도록 구현 RecyclerView의 구성 요소 각 항목의 화면 디자인을 가지고 있는 레이아웃 파일 그 파일을 불러 변수로 제공할 ViewHolder 주어진 데이터와 ViewHolder를 결합하여 각 항목의 화면을 제공할 Adapter 리스.. [Android Studio] SharedPreference 앱을 삭제해도 남아 있어야 할 데이터는 서버에 저장하는 것이 기본이지만 서버와 별개로 Client Device, 즉 앱이 설치 된 스마트폰에 데이터를 저장하는 것도 가능 앱이 재시작 되더라도 값을 읽어올 수 있도록 폰에 데이터를 저장하는 것은 다음과 같은 상황 1) 설정 등과 같이 서버에 저장할 필요는 없지만 앱 종료 후에도 저장할 값들의 관리 2) 서버 데이터의 복사본 SharedPreference Key, Value 형태의 파일로 저장되는 값( 검색 지원 X ) 파일로 저장되므로 앱이 재시작 하여도 이전에 저장한 값을 불러 오기 가능 주로 설정 값을 저장하는 용도 값 읽기 getSharedPreferences("file_name", Context.MODE_PRIVATE) // 앱 내의 모든 Activ.. [Android Studio]Activity 와 Intent Android App Components 안드로이드 앱의 기본 구성 요소 시스템이나 사용자가 앱에 들어올 수 있는 진입점 Activity 사용자가 상호작용을 하는 진입점, GUI 제공 각 Activity는 독립되어 있으며 앱이 허용할 경우 외부에서도 Activity 사용 가능 Service 백그라운드에서 실행, GUI 제공 X 앱이 화면에 출력되지 않아도 동작 Broadcast Receiver 시스템 또는 다른 앱이 전송하는 Broadcast를 받을 수 있으며 Broadcast를 통해 앱 실행 가능 GUI는 없지만 상태 표시줄에 알림 표시 가능 Content Provider 파일, SQLite 등의 데이터 제공, 다른 앱이 사용할 수 있도록 적잘한 API 제공 Activity Lifecycle Inten.. [Android Studio] View Binding Widget을 코드에 연결할 때 불편한 점 xml 파일에 선언된 Widget을 SetContentView를 이용해 객체를 만든 다음 findViewById 함수를 통해 변수와 연결하는 일련의 과정 1. 코드에서 제어 할 widget 수 만큼 findViewById 호출 2. 두 개 이상의 레이아웃 파일이 프로젝트에 존재할 경우 사용하지 않는 다른 파일의 위젯 아이디를 넣은 앱 실행 후 Null Exception 발생 -> 컴파일 단계에서는 에러 발생 X 이 문제 해결을 위해 외부 라이브러리 개발 -> View Binding 1. Android Gradle Plugin 버전 : 3.6.0 이상인지 확인 (File -> Project Structure : Android Gradle Plugin Version.. 이전 1 2 3 다음