Android Studio 30

Android - Room

Room ? 네트워크에 액세스할 수 없을 때도 사용자가 오프라인 상태로 계속 콘텐츠를 탐색할 수 있도록 관련 데이터를 개시하는 것이다. 즉 자체 데이터베이스이다. 장점 SQL 쿼리의 컴파일 시간 확인 반복적이고 오류가 발생하기 쉬운 상용구 코드를 최소화하는 편의 주석 간소화된 데이터베이스 이전 경로 기본 구성요소 Database Class : 데이터베이스를 보유하고 앱의 영구 데이터와 기본 연결을 위한 기본 액세스 포인트 역할 Data entities : 앱 데이터베이스의 테이블 Data Access Objects(DAO) : 앱의 데이터베이스의 데이터를 쿼리, 업데이트, 삽입, 삭제하는 데 사용할 수 있는 메서드 DAO @Dao interface UserDao { @Query("SELECT * FROM..

Android Studio 2024.02.15

Fragment 이론 정리

Fragment ? 어떤 동작 또는 사용자 인터페이스의 일부를 나타내고, 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러 개인 UI를 빌드할 수 있고 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있다. Fragment를 생성하려면 하위 클래스를 생성해야 한다. activity와 비슷한 콜백 메서드 onCreate(), onStart(), onPause(), onStop() 등이 있다. onCreate() 프래그먼트 생성할 때 호출한다. onCreateView() 시스템은 프래그먼트가 자신의 사용자 인터페이스를 처음으로 그릴 때 호출한다. UI가 필요없으면 null을 반환하면 된다. fragment에 대해 레이아웃을 제공하려면 반드시 이 콜백 메서드를 구현해야 한다. class Examp..

Android Studio 2024.02.15

Android - Fragment사용하여 화면 이동 방법

1. binding 사용 앱 수준의 build.gradle에 viewBinding sync viewBinding{ enable = true } 2. xml activity_main에 FrameLayout과 버튼 2개를 생성해준다. 버튼1 -> A Fragment / 버튼2 -> B Fragment로 갈 예정 더보기 3. MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding //binding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = A..

Android Studio 2024.02.14

Android 4대 컴포넌트

애플리케이션 기본 항목 | Android 개발자 | Android Developers 애플리케이션 기본 항목 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 앱은 Kotlin, Java, C++ 언어를 사용하여 작성할 수 있습니다. Android SDK 도구는 모 developer.android.com 다른 기본적인 내용은 지나치고 안드로이드를 구성하는데 필요한 4가지 요소들이다. 1. 액티비티(Activity) 사용자와 상호작용을 담당하는 인터페이스이다. 실제로 사용자에게 보이는 화면을 의미한다. Intent를 통해 다른 Application의 Activity를 호출할 수 있다. 반드시 1개 이상의 activity가 있어야 한다. Fragment로 화면을 분..

Android Studio 2024.02.14

[기본] 갤럭시 스톱워치 클론코딩 (2/3 기능구현)

먼저 뷰바인딩은 해주고 시작 더보기 viewBinding{ enable = true } 기능 구현 시작! 1. Button 먼저 버튼 보여지는 방식을 단순하게 만들었다. binding.startButton.setOnClickListener{ // 구간기록, 중지 start() binding.startButton.isVisible = false binding.continueButton.isVisible = false binding.pauseButton.isVisible = true binding.clearButton.isVisible = false binding.lapButton.isVisible = true } 시작 버튼을 누르면 구간기록과 중지 버튼이 보이도록 isVisible을 사용하였다. 나머지도 ..

[기본] 갤럭시 스톱워치 클론코딩 (1/3 분석단계 및 UI )

1. 기본 스톱워치 분석 구성 1개의 Activity로 구현 TextView1(분 : 초 . 00), Button 2개(floatingActionButton으로 진행), TextView2(구간기록) 기존화면 시작-> 시작->중지-> 시작->구간기록-> 시작->중지->초기화-> 버튼 분석 총 5개 버튼 초기화면 구간기록 / 시작 시작-> 구간기록 / 중지 시간 시작 중지-> 초기화 / 계속 시간 정지 상태 구간기록-> 구간기록 / 중지 버튼누른 순간의 시간 기록 초기화-> 1) 반복 clear 2. UI 따라그리기

[기본] 안드로이드 계산기 클론 코딩 (2/2) 완료X

예외 처리 1) 큰 숫자 연산에서 NumberFormatException이 났다. 해결- 입력받는 숫자를 bigDecimal()로 변경 참고 2) 0을 먼저 입력 후 숫자를 누르면 01 이런식으로 코드가 작성됨 해결 (text를 업데이트 해주는 부분에 조건문 걸기 val firstFormattedNumber = if(firstNumberText.isNotEmpty()) decimalFormat.format(firstNumberText.toString().toBigDecimal()) else "" val secondFormattedNumber = if(secondNumberText.isNotEmpty()) decimalFormat.format(secondNumberText.toString().toBigDe..

[기본] 개인 정보 등록 앱 구현하기 (2/2)

1. 데이터 저장 1-1) 단순하게 데이터를 저장하려고 알아보다가 SharedPreferences로 저장하기로 한다. SharedPreferences로 단순 데이터 저장하기 | Android 개발자 | Android Developers DataStore는 로컬 데이터를 저장하는 최신 방법을 제공합니다. SharedPreferences 대신 DataStore를 사용해야 합니다. 자세한 내용은 DataStore 가이드를 참고하세요. SharedPreferences로 단순 데이터 저장하기 컬 developer.android.com 공식문서를 보면 - 키-값이 비교적 적을 경우 SharedPreferences API를 사용할 수 있다고 한다. 나머지는 공식문서를 통해 보고 앞에 editer가 계속 쓰이기때문에 ..

[기본] 개인 정보 등록 앱 구현하기 (1/2)

메인화면 정보 작성 화면 밑에 FloatingActionButton을 누르면 정보 작성 화면으로 넘어간 뒤 정보를 작성하고 +버튼을 누르면 입력된 정보를 저장 / 화면에 표시 1. layout 너무 길어져서 코드 생략 TextView, EditText, ImageView, GuideLine, RadioGruop, RadioButton, Spinner 사용 (github 링크 걸어둘 예정) 2. viewbinding 기본 설정 // MainActivity.kt ... class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: ..