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..
안드로이드에서 서버 URL을 숨기고 싶거나 아래와 같이 BuildConfig를 통해 사용하고 싶을 때 사용합니다. keystore.properties 만들기 먼저 url 등 중요한 정보를 저장할 keystore.properties를 만들어줍니다. [ 프로젝트 안에 만들어줘야 됩니다. ] Project로 설정해주고 New > File을 눌러 생성을 해줍니다. 그리고 아래와 같이 작성해줍니다. keystore.properties build.gradle 설정하기 Module의 build.gradle에 아래와 같이 설정을 해줍니다. android { ... def keystorePropertiesFile = rootProject.file("keystore.properties") def keystoreProper..
안드로이드에서 하단 바로 선택할 수 있는 게 Bottom Navigation View입니다. 시작하기 build.gradle에 아래 정의를 추가해줍니다. implementation 'com.android.support:design:29.0.0' implementation 'com.google.android.material:material:1.2.0' menu 만들기 bottom navigation view에 필요한 menu를 만들도록 하겠습니다. New > Android Resource File을 클릭합니다. Resource type을 Menu로 선택 후 생성합니다. 그리고 아래와 같이 코드를 작성해 줍니다. icon은 Vector Asset을 추가하였습니다. XML 코드 작성하기 activity_mai..
Thread를 사용한 http 통신을 해서 서버에서 데이터를 가져오는 예제입니다. 자바에서 기본으로 제공되는 문법을 사용할 것입니다. 깃허브 api에서 데이터 가져오기 inner class GitHubThread : Thread() { override fun run() { val url = URL("https://api.github.com/zen") val connection = url.openConnection() val input = connection.getInputStream() val inputStreamReader = InputStreamReader(input, "UTF-8") val bufferReader = BufferedReader(inputStreamReader) var str: Str..
안드로이드에서 백그라운드 처리를 할 때 사용합니다. 서비스 만들기 New > Service > Service를 눌러 생성을 해줍니다. 서비스 코드는 아래와 같이 작성하였습니다. class MyService1 : Service() { override fun onBind(intent: Intent): IBinder { TODO("Return the communication channel to the service.") } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { Log.i("MyService1", "서비스 실행") ThreadClass().start() return super.onStartCommand(inte..
안드로이드에서는 휴대폰에서 사건이 발생하면 사건마다 정해 놓은 이름으로 시스템 메시지를 발생합니다. 브로드 캐스트 리시버에 동일한 이름으로 설정해두어 동작시킬 수도 있습니다. 아래 링크에 있는 것들은 앱이 실행이 아니라도 사용을 할 수 있습니다. https://developer.android.com/guide/components/broadcast-exceptions 암시적 브로드캐스트 예외 | Android 개발자 | Android Developers 백그라운드 제한에서 제외되는 암시적 브로드캐스트입니다. developer.android.com 휴대폰 부팅 시 동작하기 휴대폰 부팅 시에 동작하는 브로드 캐스터 리시버를 만들도록 하겠습니다. 먼저 AndroidManifest.xml에 아래 권한을 추가합니다..
데이터를 관리하고 다른 애플리케이션 데이터를 제공해주는 컴포넌트입니다. 사용자의 요청이나 시스템에서 사건이 발생할 경우 개발자가 만든 코드를 동작시킬 수 있습니다. 브로드 캐스트 리시버는 Ui를 가지고 있지 않습니다. 브로드 캐스트 리시버 만들기 New > Other > Broadcast Receiver을 누르고 생성을 합니다. 간단하게 브로드 캐스트 리시버 생성하고 실행하기 브로드 캐스트 리시버를 실행하면 Toast 메시지를 띄어주는 예제입니다. 생성한 브로드 캐스트 리시버의 코드를 아래와 같이 작성을 해줍니다. class MyReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { Toast.m..