지난 게시글인 안드로이드 Fastlane으로 App Distribution 배포하기의 다음 내용입니다. 1. 서비스 계정 생성하기 Google Cloud Platform 접속 먼저 구글 플레이스토어에 올리기 위해서 구글 플레이 콘솔에 로그인 후, 오른쪽 목록에 있는 API 액세스에 들어옵니다. 그리고 새 서비스 계정 만들기를 눌러 Google Cloud Platform으로 이동합니다. 서비스 계정 만들기 IAM 및 관리자 > 서비스 계정을 들어와서 상단에 있는 계정 세부정보를 설정 완료하면 액세스 권한을 아래와 같이 선택해줍니다. 완료를 누르면 서비스 계정이 생성되는 것을 확인할 수 있습니다. 서비스 계정 키 생성 이제 서비스 계정에 키를 생성해보도록 하겠습니다. 생성된 서비스 클릭 > 키 탭 클릭 > ..
1. Fastlane 설치 먼저 fastlane 설치를 부탁드립니다. ( 설치되어 있으면 2번부터 진행해주시면 됩니다. ) 2. Android 프로젝트에 fastlane 설정 및 Firebase App Distribution 배포 초기 설정 하기 먼저 프로젝트가 있는 폴더에서 아래 코드를 terminal에서 실행합니다. fastlane init Package Name 은 프로젝트의 package 명을 Path to the json secret file 은 엔터 ( 설정하려면 따로 지정해주시면 됩니다.) Download existing metadata and setup metadata management? 는 y를 눌러주었습니다. 입력하면 fastlane init이 완료됩니다. 아래와 같이 프로젝트 기준으..
라이브러리 만들기 라이브러리 생성 프로젝트 하나를 생성합니다. app > New > Module을 클릭합니다. Android Library를 선택합니다. 라이브러리의 이름을 짓고 생성합니다. 라이브러리 코드 작성 그리고 라이브러리 폴더 안에 ToastClass라는 파일을 생성 후 아래와 같이 코드를 작성하였습니다. 간단하게 Toast 메시지를 띄어주는 코드입니다. 프로젝트에 라이브러리 적용 안드로이드 프로젝트에서 만든 라이브러리를 적용해 테스트를 해보겠습니다. File > Project Structure을 클릭합니다. Dependencies > app > + 를 클릭합니다. Module Dependency를 클릭하고 아래와 같이 라이브러리를 추가합니다. Apply를 눌러 Sync 하고 OK를 누르면 됩니..
안드로이드에서 서버로 사진 관련 데이터를 보낼 때 사진 uri로 보내면 휴대폰에서 사진을 지웠을 경우 사진을 불러올 수 없게 됩니다. 해결 방법은 이미지를 bimap 처리를 하고 인코딩하여 서버로 보내고 받아올 땐 디코딩하여 이미지로 바꾸면 됩니다. private fun bitmapToString(bitmap: Bitmap): String { val byteArrayOutputStream = ByteArrayOutputStream() bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream) val byteArray = byteArrayOutputStream.toByteArray() return Base64.encodeToString(b..
Activity 1. OnCreate() Activity가 실행되고 호출됩니다. Activity에서 필요한 리소스를 초기화하는 곳입니다. 2. OnStart() 사용자에게 Activity가 보이도록 해줍니다. 보통 BroadCastReceiver를 등록할 때 사용합니다. 3. OnResume() Background 상태에서 Foreground가 되면 호출되거나 다른 Activity에서 돌아오면 호출됩니다. 카메라와 같이 화면을 가지고 있는 경우에만 사용할 수 있는 리소스를 초기화합니다. 4. OnPause() Background 상태가 되면 호출됩니다. ( 다른 Activity가 실행되면 현재 Acitivity도 OnPause를 호출합니다. ) OnReume()에서 초기화 해준 리소스를 해제해주는 곳입니..
Security Library를 사용하여 SharedPreference를 암호화할 수 있습니다. 기본 SharedPreference 사용하기 PreferenceManager.kt class PreferenceManager(context: Context) { private val pref = PreferenceManager.getDefaultSharedPreferences(context) fun getData(key: String): String? = pref.getString(key, null) fun setData(key : String, value : String) = pref.edit().putString(key, value).commit() } PreferenceManger라는 SharedPref..