Android 7

[Android Multi module] DataStore protobuf 암호화/복호화 적용

이전에 작성된 내용으로 DataStore protobuf Read/Write를 사용하게 되면 저장된 파일을 봤을 때 평문으로 저장되는 타입이 생깁니다.https://whjungdev.tistory.com/6 저장되는 데이터를 직접 확인해보기 위해서 test_data.proto 파일에string 타입을 추가해보았습니다.syntax = "proto3";option java_package = "com.example.sampleapp.core.datastore";option java_multiple_files = true;message TestData { bool isTest = 1; string test = 2;}그리고 string 테스트 값을 넣어보았습니다.viewModel.updateTestString..

Android/Module 2024.09.13

[Android Multi module] DataStore protobuf 적용 테스트

이전에 작성된 protobuf 라이브러리 세팅을 먼저 진행한다.DataStore protobuf 라이브러리 세팅 방법.proto file은 /core/datastore/src/main 하위 디렉토리에 생성을 한다.https://github.com/woohyun-jeong/AndroidSampleApp/tree/datastore_test1/core/datastore/src/main/proto예)syntax = "proto3";option java_package = "com.example.sampleapp.core.datastore";option java_multiple_files = true;message TestData { bool isTest = 1;}proto 객체를 만들게 되면 해당 파일을 참조하..

Android/Module 2024.09.13

[Android Multi module] local.properties 파일로 API Key 관리

API Key 값 (client_id, client_secret)에 대해서 코드 베이스로 넣게 된다면 프로젝트 공유 시 해당 파일이 포함되어 있으면 문제가 될 것이다.해당 요소의 문제를 없애기 위해서 다음과 같이 설정해서 사용한다. 1. local.properties 파일에 Key/Value 정리NAVER_CLIENT_ID=""NAVER_CLIENT_SECRET="" 2. build-logic 모듈의 DataAndroid 파일에 android gradle configure 설정https://github.com/woohyun-jeong/AndroidSampleApp/blob/datastore_test1/build-logic/src/main/kotlin/com/example/sampleapp/DataAndr..

Android/Module 2024.09.13

[Chromium DevTools] Facebook Stetho 라이브러리를 통한 네트워크 디버깅

앱 화면에서 멀티 스레딩으로 API를 처리했을 때 okHttp에서 지원하는 LoggingInterceptor로 Logcat을 볼 때 로그들이 병합이 되어서 분석하기 힘든 경우들이 생깁니다.이런 상황에서 Stetho 라이브러리를 통해서 디버깅을 원할하게 할 수 있습니다. Facebook Stetho 라이브러리 : https://github.com/facebookarchive/stetho프로젝트 세팅 방법build.gradle (Module :app) //stetho - debug debugImplementation 'com.facebook.stetho:stetho:1.6.0' debugImplementation 'com.facebook.stetho:stetho-okhttp3:1.6.0'Ap..

Android/Debugging 2024.09.13

[Android Multi module] DataStore protobuf 라이브러리 추가 방법

1. libs.versions.toml 파일에 protobuf 라이브러리 추가protobuf = "3.21.12"protobufPlugin = "0.9.0"[libraries]protobuf-kotlin-lite = { group = "com.google.protobuf", name = "protobuf-kotlin-lite", version.ref = "protobuf" }protobuf-protoc = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" }[plugins]protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" }https://git..

Android/Module 2024.09.13

[Android Multi module] feature module 생성 방법

* Android Studio 제공하는 기능으로 Module 생성1. New > Module 선택 2. Application/Library name 내용과 Package name 수정 후 Next 클릭Package name : com.example.sampleapp.feature.sample2 3. Empty Activity 선택 후 Next 클릭 4. Finish 클릭 5. 기존에 앱 아이콘 리소스명과 테마 파일 전체 삭제   6. build-logic 모듈로 Root 빌드 구성했으면 충돌나므로 build.gradle.kts 코드 수정plugins { id("example.android.feature")}android { namespace = "com.example.sampleapp.feat..

Android/Module 2024.09.13

[Android build-logic] 모듈화 kts 구성

DSL : Domain Specific Language도메인 특화된 프로그래밍 언어KTS (=Kotlin DSL)Kotlin으로 구성된 스크립트KTS란?코틀린 언어로만 Gradle 빌드 스크립트를 적용할 수 있는 구성KTS 사용 이유앱의 구성이 Java에서 Kotlin으로 넘어왔으며 이미 Kotlin을 알고 있다는 전제로 빌드를 구성할 수 있도록 안드로이드에서 권장.빌드전에 오류 발생을 줄이고, 앱의 기능이 복잡해짐에 따라 관심사 분리에 주 목적이기도 함.KTS 모듈화로 사용해보자 - build-logic 모듈빌드 구성 자체도 모듈화를 통해서 앱의 구성을 유지 보수에 용이하도록 표준화 됨.안드로이드에서도 제공하는 샘플 앱도 현재 해당 구성으로 예제로 제공되고 있음.빌드 구성에 대한 장단점 비교빌드 스크립..

Android/Module 2024.09.13