본문 바로가기

Android/개념 및 예제

(25)
안드로이드 앱 개발의 특징 및 디렉터리 구조 안드로이드 앱 개발의 특징 안드로이드의 특징 iOS에 비해 많이 오픈되어 있다. 안드로이드는 공개 운영체제인 리눅스 기반이다. 안드로이드 앱 개발은 자바 및 코틀린을 이용해 개발한다. 운영체제의 핵심 코드, 라이브러리 코드, 스마트폰에 기본으로 탑재된 구글에서 만든 앱 코드 등 대부분 코드가 오픈되어 있다. 안드로이드 플랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있다. 개발자가 만든 앱은 구글 Play 스토어 뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있다 안드로이드 기반의 모든 애플리케이션은 평등하다는 사상으로 스마트폰에 기본 탑재된 앱과 개발자들이 만드는 앱이 같은 환경에서 같은 API를 사용한다. 기기의 파편화해상도가 다양함 스마트폰 제조업체에서 안드로이드 플랫폼을 이런 저런 이유로 ..
[Kotlin] Recyclerview click Event (람다 함수 사용) 이번에는 코틀린의 고차 함수와 람다 표현식을 사용해 RecyclerView에 Click Event를 추가해보겠습니다. 결과 과일 이름 리스트를 보여주고, 텍스트 뷰 하나만 있는 매우 심플한 Recyclerview입니다. 클릭했을 경우 클릭된 과일의 이름을 토스트 메시지로 출력하도록 해보겠습니다. 클릭 시 호출될 함수 생성 Activity 파일에 Adpater에서 호출할 함수를 생성합니다. private fun listItemClicked(fruit: Fruit){ Toast.makeText(this@MainActivity, "fruit name is ${fruit.name}",Toast.LENGTH_LONG).show() } Adpater 생성자에 클릭 리스너 람다 함수를 매개 변수로 설정하기 Adpat..
android 공식 문서를 영어로 봐야하는 이유 1. 최신 버전에 맞게 내용을 수정해주는 것이 늦습니다. 예시 1 databinding 데이터 결합을 사용하도록 앱을 구성하려면 앱 모듈에서 dataBinding 요소를 build.gradle 파일에 추가해야 합니다. 한글 문서는 다음과 같이 설명해줍니다. 하지만 Android Studio version 4.1 이상 버전에서 다음과 같이 따라하면 밑의 에러가 발생합니다. 한글 문서에서 알려준 방식이 obsolete(쓸모 없는, 구식의)하고 대체될 것이라는 경고 문구를 반환합니다. 영어 문서에는 대체될 방법을 알려줍니다.. 이대로 실행하면 경고 문구가 사라집니다... 영어 공부 해야겠죠?? databinding 공식 문서 :developer.android.com/topic/libraries/data-bin..
[안드로이드] 핸드폰 번호, 기기 고유 id 등 단말기 정보 가져오기 안드로이드 앱 개발하면서 사용자의 핸드폰 번호, 기기 고유 id 등 정보를 많이 필요한데요. (앱 홍보 또는 여러 계정으로 앱에 가입 시 이벤트 제한 등등) 그래서 단말기 정보 가져오는 것을 알아볼 것입니다. ** 참고 Android 11에서는 앱에서 전화번호를 읽을 때 사용하는 전화 관련 권한이 변경됩니다. 앱이 Android 11 이상을 타겟팅하고 다음 목록에 표시된 전화번호 API에 액세스해야 한다면 READ_PHONE_STATE 권한 대신 READ_PHONE_NUMBERS 권한을 요청해야 합니다. TelephonyManager 클래스와 TelecomManager 클래스의 getLine1Number() 메서드 TelephonyManager 클래스에서 지원되지 않는 getMsisdn() 메서드 참고 ..
안드로이드 런타임 퍼미션(runtime permissions) 안드로이드 앱 개발 시 TargetSDK가 마시멜로 버전(APK 23) 이상인 경우, 디바이스의 특정 기능을 사용할 때 권한을 요구하는데 그 권한 중에 위험 권한으로 분류된 권한은 개발자가 직접 사용자에게 권한을 허가받을 수 있게 개발해야 합니다. 위험 권한(카메라, 오디오 녹음 권한) 허가를 받고 사용자가 허가하지 않은 경우 다시 권한 허가 요청을 하도록 하는 앱을 만들어 보겠습니다. 1. 먼저 manifest 파일에 필요한 앱에서 사용할 위험 권한을 선언합니다. 2. java 코드를 통해서 사용자에게 권한을 허가 받겠습니다. 앱이 실행이 됐을 때 chkPermission() 함수를 통해서 모든 위험 권한을 허가받았을 경우 토스트 메시지를 띄우도록 했습니다. @Override protected void..
구글 로그인 API - release key hash 등록하기 이전 글에서 구글 로그인을 안드로이드 앱에 연동한 적이 있었습니다. develop-writing.tistory.com/32 [Android] 구글 로그인을 안드로이드 앱에 연동하기 이번에는 구글 로그인을 연동해보겠습니다. 구글 로그인도 카카오 로그인처럼 실 서비스에 적용하기 위해서는 다음 3단계를 거쳐야 합니다. 1. 앱 등록 및 설정 2. 기능 구현 3. 릴리즈 키 등록 저 develop-writing.tistory.com 구글 로그인 기능이 있는 앱을 플레이 스토어 출시하기 위해서 release key hash(sha-1)을 Google Console에 등록해야 합니다. (만약 파이어 베이스를 사용한다면 파이어 베이스 콘솔에서 등록해도 됩니다.) release key hash를 구하는 방법은 2가지 ..
카카오 로그인 API - 출시를 위한 키 해시 등록하는 방법 이전에 카카오 로그인 API를 안드로이드 앱에 연동하는 방법을 알아봤습니다. develop-writing.tistory.com/31 [Android] 카카오 로그인 연동하기 이번에는 카카오 로그인을 연동하려고 합니다. 카카오 로그인을 실서비스에 적용하려고 하려고 할 때 필요한 작업은 다음 세 가지가 있습니다. 1. 프로젝트 설정 2. 기능 구현 3. 릴리즈 해시 키 develop-writing.tistory.com 카카오 로그인 기능이 있는 앱을 플레이 스토어 출시하기 위해서 릴리즈 해시 키를 카카오 개발자 홈페이지에 등록해야 합니다. 릴리즈 해시 키를 등록했지만 카카오 로그인 기능이 작동을 안하는 상황이 있습니다. 바로 Google play app signing 기능을(구글이 앱 서명키를 앱 개발자 대..
[Android] 구글 로그인을 안드로이드 앱에 연동하기 이번에는 구글 로그인을 연동해보겠습니다. 구글 로그인도 카카오 로그인처럼 실 서비스에 적용하기 위해서는 다음 3단계를 거쳐야 합니다. 1. 앱 등록 및 설정 2. 기능 구현 3. 릴리즈 키 등록 저는 실 서비스가 아닌 구글 로그인 테스트를 위한 것이기 때문에 1, 2 단계를 통해 구글 로그인을 연동해보겠습니다. 3단계에 대한 내용은 추후에 다루겠습니다. 구글 로그인 연동하는 방법은 구글 공식 문서에 자세히 나와있기 때문에 따라서 하시면 됩니다. developers.google.com/identity/sign-in/android/start-integrating Start Integrating Google Sign-In into Your Android App Before you can start integr..