Android 앱개발 공부/TIL(Today I Learned) 44

[Android] TIL 44일차

사용자 위치 얻기1. 위치 접근 권한 - android.permission.ACCESS_FINE_LOCATION: 위성, 와이파이, 모바일 데이터 등 이용할 수 있는 위치 제공자를 사용해 최대한 정확한 위치에 접근- android.permission.ACCESS_BACKGROUND_LOCATION: 백그라운드 상태에서 위치에 접근하는 권한(안드로이드 10(API 29) 이상)- android.permission.ACCESS_COARSE_LOCATION: 와이파이나 모바일 데이터(또는 둘 다)를 사용해 기기의 위치에 접근하는 권한, 대략적 위치에 접근 * 권한 설정 방법 1. 매니페스트에 권한 추가(위에 작성한 접근 권한 중 원하는 권한 작성)2. 권한 요청(예제 코드)// 위치 제공자를 사용할 수 있는 ..

[Android] TIL 43일차

데이터를 영구적인 저장 하는 방법 총 3가지SharedPreferencesDB로 저장하는 방법파일 형태로 저장하는 방법Preferences : 프로그램의 설정 정보를 영구적으로 저장하는 용도로 사용XML 포맷의 텍스트 파일에 키-값 세트로 정보를 저장(ex : 알람 true, 알람 false)Preferences 종류는 크게 두 가지getSharedPreferences(여러가지 데이터를 한꺼번에 저장)getSharedPreferences(name, mode)name : 프레퍼런스 데이터를 저장할 XML 파일의 이름mode : 파일의 공유 모드MODE_PRIVATE: 생성된 XML 파일은 호출한 애플리케이션 내에서만 읽기 쓰기가 가능getPreferences(딱 한 개의 Preferences를 사용할 때)..

[Android] TIL 40일차

오늘은 팀 회의랑 코드카타만 진행..  문제 : 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.class Solution { fun solution(n: Int): String { var answer = "" for(i in 1..n){ if(i%2==1) answer += '수' else answer += '박' } return answer }}

[Android] TIL 38일차

사과마켓 앱 제작하기 - 2 * MainActivitypackage com.android.applemarketimport android.app.NotificationChannelimport android.app.NotificationManagerimport android.app.PendingIntentimport android.content.Contextimport android.content.DialogInterfaceimport android.content.Intentimport android.media.AudioAttributesimport android.media.RingtoneManagerimport android.net.Uriimport android.os.Buildimport android...

[Android] TIL 36일차

다이얼로그* 다이얼로그사용자에게 결정을 내리거나 추가정보를 입력하라는 메시지를 표시하는 작은창보통은 사용자가 다음으로 계속 진행하기 전에 조치를 취해야 하는 모달 이벤트에 사용 * 다이얼로그 구조알림 다이얼로그에는 총 세 가지 영역이 있음 1. 제목선택 사항이며 콘텐츠 영역에 상세한 메시지,목록 또는 맞춤 레이아웃이 채워져 있는 경우에만 사용단순 메시지 혹은 질문을 나타내는 경우 제목은 없어도 됨2. 콘텐츠 영역메시지,목록 또는 다른 맞춤 레이아웃을 표시 할 수 있음3. 작업 버튼대화 상자 하나에 작업 버튼은 최대 세 개 다이얼로그 예제1. 기본 다이얼로그(AlertDialog)binding.btn1Alert.setOnClickListener { var builder = AlertDi..

[Android] TIL 35일차

프래그먼트(Fragment)* 프래그먼트란?프래그먼트는 한 개의 액티비티 화면 안에서 특정 영역만 교체하는 것(액티비티와 분리되어 독립적으로 동작 불가능)여러 개의 프래그먼트를 하나의 액티비티에 조합할 수 있고, 하나의 프래그먼트를 여러 액티비에서 재사용할 수도 있음* 액티비티와 프래그먼트 비교Activity : 시스템의 액티비티 매니저에서 인텐트(intent)를 해석해 액티비티 간 데이터 전달Fragement : 액티비티의 프래그먼트 매니저에서 메소드(method)로 프래그먼트간 데이터 전달 * 프래그먼트 사용 이유Activity로 화면을 계속 넘기는 것보다 Fragement로 일부만 바꾸는 게 자원 이용량이 적어 속도가 빠르기 때문복잡도 감소재사용할 수 있는 레이아웃을 분리해서 관리 가능 등* 프래그..

[Android] TIL 34일차

★ 리사이클러 뷰(RecyclerView)* 리사이클러 뷰란?- 리스트 형태의 데이터를 표시하는데 사용되는 위젯- View를 재활용해서 사용 * 리스트 뷰와 리사이클러 뷰의 차이 ListView사용자가 스크롤 할 때마다 위에 있던 아이템 삭제, 맨 아래의 아이템은 생성되는 걸 반복아이템이 100개면 100개 전부 삭제 및 생성되고 반복하여 성능에 좋지 않음RecylcerView사용자가 스크롤 할 때, 위에 있던 아이템이 재활용돼서 아래로 이동한 후 재사용 함아이템이 100개면 10개정도의 View만 만들고 이 10개를 재활용해서 사용결론적으로 ListView의 단점을 보완한 것 Recycler View 사용하기Adapter데이터 테이블을 목록 형태로 보여주기 위해 사용되는 것데이터를 다양한 형식의 리스트..