Android Tip 9

apk file에서 version 및 각 종 정보 얻기

프로젝트를 하면서 기존 release apk의 정보를 알고 싶을 때가 생깁니다. 간단하게 구글콘솔에 들어가서 확인이 가능하지만, 프로젝트 구글콘솔 담당자가 누구인지도 모르면 답답합니다. 기존 소스에는 versionCode 10인데, 현재 release는 변경되어 있을 확률이 큽니다. 기존 소스의 apk를 받아서 아래와 같이 명령어를 치면 해당 apk의 결과가 나옵니다. 짜짠~~ 1.명령어 D:\100.app-env\03.android\sdk\build-tools\34.0.0-rc2\appt dump badging sample.apk 2.결과 package: name='kr.co.goms.exam' versionCode='11' versionName='1.0.15' platformBuildVersionNa..

Android Tip 2023.04.21

XML ImageView에 대한 ContentDescription의 고찰

xml layout에서 ImageView 사용 시, contentDescription을 그냥 일괄적으로 "image" 라고 사용하고 있었음. 왜 귀찮게 이런 기능을 넣어서 꼭 넣으라고 하지? 라고 생각함. 하지만, 장애인 사용 시 해당 이미지에 대한 설명을 읽어주는 부분이 contentDescription 이네요. 앞으로 앱 개발 시, 해당 contentDescription을 좀 더 자세히 넣어야 겠다는 의무감이 생겼네요 1)contentDescription 추가 - "타로 카드 결과" 설명글 추가 - 이전 XML ImageView - 이후 XML ImageView

Android Tip 2020.05.07

안드로이드 8.0에서의 android.os.FileUriExposedException 버그 해결

안드로이드 8.0 이상에서 발생하는 버그가 아닌 보안이 강화되었음 ^^;기존 사용 uriUri photoURI = Uri.fromFile(createImageFile());이렇게 사용하면 에러가 발생한다. ㅠㅜandroid.os.FileUriExposedException그래서, 앞으로 이렇게 사용하라고 하네요 ^^Uri photoUri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider", new File(filePath));1. AndroidManifest.xml 에서 추가 2. res > xml 폴더에 provider_paths.xml 추가 그러면, 예외발생이 하지 않습니다. 음. 새로운 OS가..

Android Tip 2018.05.10

ANR 및 비정상 종료 중 BadTokenException 해결책

ANR 및 비정상 종료에 대한 리스트 중에 아래와 같은 이유로 종료가 되었습니다. ^^; android.view.WindowManager$BadTokenException: Dialog를 띄우는 과정에서 발생 해결책 You cannot display an application window/dialog through a Context that is not an Activity. Check please that every time you start a dialog it gets correct Context. if (isFinishing() == false) { dialog.show();} window/dialog의 show() 호출 시, 적용을 했습니다.다른 분들도 미리 적용을 하면 좀 더 나은 앱이 될거라고..

Android Tip 2018.01.04

GlideBitmapPool 적용 (Bitmap Out of Memory)

이미지 프로세싱 중에 반복되는 비트맵 작업 시, Out of Memory 발생간단한 해결책은 GlideBitmapPool 사용으로 좀 더 안정성 있게 앱을 구동했음 ^^v 1.기존 소스와 Android Profiler mBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888); mBitmap.copyPixelsFromBuffer(IntBuffer.wrap(iat)); 반복된 작업에 메모리가 증가하면서 앱이 중지됨. ^^;; 2.GlideBitmapPool 적용 소스와 Android Profiler mBitmap = GlideBitmapPool.getBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);..

Android Tip 2017.09.27

애니메이션 처리 후 Activity 이동

클릭 시, 해당 버튼을 사라지게 하는 후에 원하는 Activity로 이동. /** 카메라로 이동 */ public void goCamera(View view) { moveAnimation(new Runnable() { @Override public void run() { Intent intent = new Intent(mAppMainActivity, MainActivity.class); startActivity(intent); } }); } private void moveAnimation(@Nullable Runnable endAction) { ViewCompat.animate(mIvCamera) .scaleX(0) .scaleY(0) .setInterpolator(new FastOutSlowInInte..

Android Tip 2017.08.25

Glide에 대한 기능 정리

Glide에 대한 기능을 자주 사용하는데, 매번 찾기도 그래서 아예 블로그로 옮겨옴 ^^ SetupAdd to your app/build.gradle file:dependencies { compile 'com.github.bumptech.glide:glide:3.8.0' }Basic UsageGlide.with(context) .load("http://via.placeholder.com/300.png") .into(ivImg);Advanced UsageResizing images with:Glide.with(context) .load("http://via.placeholder.com/300.png") .override(300, 200) .into(ivImg);Placeholder and error ima..

Android Tip 2017.08.24

안드로이드 앱 인덱싱 및 딥링크 연결 정상적으로 되었는지 확인하기

안드로이드 앱 인덱싱 및 딥링크 연결 정상적으로 되었는지 확인하기 안드로이드 스튜디오 > 터미널 D:\100.app-env\03.android\sdk\platform-tools>adb shell am start -a android.intent.action.VIEW -d "http://www.storecamera.co.kr/app" kr.plusbeta.storecamera 테스트 디바이스 연결한 후에 실행하면, 스토어카메라가 정상적으로 뜨네요 ^^ AndroidManifest.xml 설정은 아래와 같습니다. 2017-07-20 더운 날씨에 사무실에서 열코딩 중.....다들 화이팅입니다.

Android Tip 2017.07.20

구글 피쳐 검수 통과

구글 피쳐 검수 통과 ^^v ------------------------------------------------------------------------------------------------안녕하세요. 구글 플레이 팀입니다. 무엇보다 먼저 귀하의 앱을 업데이트해 주신 점 진심으로 감사드리며, 기존 보고서에 언급됐던 모든 필수 수정 사항이 최신 버전의 앱(검수된 버전: 2.0.9, 버전코드: 38)에 적용된 것을 확인하였기에 피쳐 검수 과정을 무사히 통과하였음을 알려드립니다. 귀하의 앱의 정확한 피쳐 시기는 아직 미정이지만, 빠른 시일 내에 구글 플레이 스토어에 피쳐될 예정입니다. 구글 플레이의 피쳐 대상 컨텐츠 목록은 주간 단위로 갱신됨을 말씀드립니다.-----------------------..

Android Tip 2017.03.27