[Android] 고유키(AndroidID) 가져오기
·
안드로이드
[Android] 고유키(AndroidID) 가져오기 String androidId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
[Android] RecyclerView 마지막 item에만 padding 넣기
·
안드로이드
RecyclerView 마지막 item에만 padding 넣기 xml에서 padding 값을 주고, clipTopadding = false 을 설정하면 아이템에 padding이 추가된다.
[Android] Toast 메시지 중첩 호출 방지하기
·
안드로이드
Toast 메시지 중첩 호출 방지하기 토스트 메시지를 띄울때 토스트 객체를 계속 새로 생성하지 않고, 동일하게 사용함으로써 중첩호출을 방지하는 방법 입니다. Java private static Toast mToast; public static void showToast(Context context, String message) { if (mToast == null) { mToast = Toast.makeText(context, message, Toast.LENGTH_SHORT); } else { mToast.setText(message); } mToast.show(); } Kotlin private var mToast: Toast? = null fun showToast(context: Context?, ..
[Android] 안드로이드 고유 식별자 (unique identifiers)
·
안드로이드
안드로이드 고유 식별자 (unique identifiers) 범위 수명(변경방법) InstanceID, Firebase InstanceID 앱 앱 삭제 및 재설치, 앱 데이터 삭제 GUID 앱, 앱그룹 앱 삭제 및 재설치, 앱 데이터 삭제 광고ID (AdvertisementID) 디바이스 디바이스 초기화, 광고ID 초기화 SSAID (Settings Secure AndroidID) 앱 그룹, 디바이스 디바이스 초기화 imei, serial, deviceID 디바이스 없음 안드로이드Q(10)부터 '사용자가 재설정할 수 없는 식별자'는 제공하지 않도록 변경되었습니다. imei, serial, deviceID가 그러한 것들이며 만약 사용하고 있다면 변경해야 합니다. Android 식별자 사용 권장사항 1. 하..
[Android] 웹뷰 히스토리 스택 얻는 방법
·
안드로이드
웹뷰 히스토리 스택 얻는 방법   웹뷰앱 개발중 Back 키를 눌러도 이전 페이지로 넘어가지 않고계속 같은 페이지만 불러오는 현상이 발생하였는데,원인을 몰라 일주일정도를 고민했던 경험이 있었습니다.  PC 웹 페이지 에서 테스트를 하면 문제가 없었으므로,웹뷰단의 문제라고 생각했고 이러한 생각이 원인을 찾기 더욱 힘들게 했었는데요,일주일이 넘는 고민 끝에 웹뷰의 백스택이 어떻게 쌓이는지 보았고 원인을 찾게되었습니다.  원인은 웹뷰로 로드되는 URL이 "https://www.~" 형식으로 들어오면 웹뷰가 다시 "https://m.~" 형식의 URL로리다이렉트 시키고 있었고 그렇기때문에 Back 키를 누르면 다시 "https://www.~" 페이지로 돌아가고 이 페이지는다시 "https://m.~"페이지로 리..
[Android] Release 모드로 빌드하기
·
안드로이드
Release 모드로 빌드하기 안드로이드 스튜디오에서 프로젝트 빌드를 하면 기본적으로 Debug모드로 빌드가 될텐데요, 빌드 모드에 따라서 동작이 달라지는 API들이 꽤나 많기 때문에 꼭 Release모드 에서도 테스트를 해봐야 합니다. Release모드로 빌드를 하기 위해서는 모듈단위의 build.gradle에 아래의 설정을 적용해야 합니다. Release모드 빌드 적용 방법 Step1. Module: build.gradle 설정 android { ... signingConfigs { release { // 키 경로는 app 폴더에 있어야 합니다.(ex. D:\androidProjectFiles\MyProject\app) storeFile file('키이름.jks') keyPassword '키비밀번호'..
[Android] 중복 클릭 방지 하기
·
안드로이드
클릭 이벤트 중복 방지하기 private Long mLastClickTime = 0L; 먼저 클릭 시간을 담을 변수를 선언 해줍니다. @Override public void onClick(View view) { if(SystemClock.elapsedRealtime() - mLastClickTime > 1000) { //클릭시 이벤트 ... } mLastClickTime = SystemClock.elapsedRealtime(); } 다음으로 클릭이벤트가 일어나는 위치에 위와같이 코드를 작성해준다면 중복클릭을 시간차로 제한할 수 있습니다. 위의 코드에서 1000(1초)이라고 적힌곳을 수정해준다면 원하는 시간동안 중복클릭이 일어나지 않게 됩니다. ^^
[Android] 데이터 바인딩 적용법 변경사항
·
안드로이드
데이터 바인딩 적용법 변경사항 DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with'android.buildFeatures.dataBinding'. 다음과 같은 에러가 발생할 시 확인해 봐야할 사항입니다. Android Gradle Plugin 4.0.0-alpha05 그레이들 버전이 위 버전 이상일 경우 data binding 과 view binding 사용 선언 방식이 변경되었습니다. 안드로이드 스튜디오 4.0 미만 버전 android { ... viewBinding { enabled = true } } android { ... dataBinding { enabled = true } } 안드로이드 스튜디오 4...