본문 바로가기

Android/Knowhow

안드로이드 앱 마켓에 등록할때 개인정보처리방침 이슈 처리하기 하청으로써 한 기업의 앱을 출시했다.그 이후로 앱 유지보수를 하여 새로운 기능이 추가되었고 앱 업데이트 버전을 마켓에 배포했다. 사이닝한 릴리즈 버전의 APK 파일을 준비한다. 구글플레이 개발자 콘솔(클릭)에 로그인한다. 왼쪽의 사이드메뉴에서 "출시 관리"를 클릭해 하위메뉴를 펼친다. "앱 버전" 메뉴를 클릭해 해당 화면으로 이동한다. "버전 수정" 버튼을 클릭한다. 서명하여 릴리즈 버전으로 빌드한 APK 파일을 업로드한다. 출시 노트에는 추가된 기능이나 개선사항들을 기입한다. 정보 입력을 마치면 하단의 "검토" 버튼을 클릭한다. 왠 오류 팝업이 발생한다. 개인정보처리방침 항목인 카메라를 사용하는 앱이므로 추가 정보를 입력해야한다고 한다. 사이드메뉴의 앱 정보 > 스토어 등록정보 > 개인정보처리방침에 카.. 더보기
Android nougat(7+) webview에 컨텐츠가 출력되지 않을때 안드로이드 누가 기기에서 기존에 사용하던 웹뷰를 실행해보았다.웹뷰에 컨텐츠가 출력되지 않는다. 안드로이드 개발자 문서에서는 누가 버전 웹뷰의 변경사항에 대해 말하고 있지만, 정작 해결을 어떻게 하는지는 하나도 모르겠다. https://developer.android.com/about/versions/nougat/android-7.0.html#webview 'android nougat 7 webview'로 구글링해서 얻은 결과이다.웹뷰에 WebViewClient를 설정해주고 shouldOverrideUrlLoading()에 return 값을 true로 해줘야한다. http://stackoverflow.com/questions/42367358/webview-on-android-7-0-doesnt-render.. 더보기
안드로이드 배터리 사용량 테스트 Batterystats && Battery Historian Batterystats and Battery Historian Walkthrough안드로이드 프레임웍에 Batterystats이 있다. Batterystats은 기기의 배터리 데이터를 수집해서 텍스트 파일로 저장하는 기능을 제공한다. Battery Historian은 오픈소스이고 파이썬 코드이다. Batterystats이 저장한 텍스트 파일을 가독성있는 그래픽 차트로 정리해서 HTML 파일로 저장해준다. 프로세스 별 배터리량을 확인할 수 있고, 배터리 수명을 향상시킬 수 있도록 앱의 task를 식별할 수 있다. ***주의사항: Battery Historian으로 HTML 파일을 저장하려면 파이썬 2.x.x 버전대를 설치해야 한다. Battery Historian으로 텍스트 파일을 HTML 문서로 변환했다.. 더보기
안드로이드 이미지나 사진이 돌아갈때, 회전현상 해결법 LG G4 앨범에서 선택한 이미지를 프로필 사진으로 등록하는 기능을 구현했다. QA중에 이슈가 발견되었다. 특정 단말(LG G4)에서 세로로 촬영한 사진을 선택하면 왼쪽으로 90도 회전된다. ExifInterface 클래스를 이용해서 회전현상에 대한 방어코드도 구현했는데 안통한다. 원인은... 순서였다. 프로필 이미지를 등록할 때 용량을 줄인다음에 회전현상 방어코드를 실행했다. 반드시 리사이징하기 전에 Exif orientation 정보를 받아와야 한다. 리사이징하면서 이미지의 메타 정보가 변형되나보다. 결론 앨범에서 이미지 선택 > Exif orientation 값 저장 > 리사이징 > 회정현상 방어 > 스케일링 과정에서 생성한 비트맵 이미지 삭제 관련 코드는 구글링하면 많이 나온다. http://hashcode.. 더보기
LinearLayout background에 selector 입혀주기 selector에 이미지 리소스가 아닌 단순 컬러값만 주고 싶은데, inflate 에러가 발생한다. 1cs 검색해보니 color 태그를 사용하면 안되고 drawable 태그를 사용해야 한다. 또, 컬러값도 colors.xml 에 drawable 태그로 저장한것을 불러오는 형식으로 사용해야 한다. 123### colors.xml ### #eaeaea#cfcfcfcs 12345678910### selector.xml ### Colored by Color Scriptercs 123### layout.xml ### cs selector에 이미지 리소스를 입히던 컬러값을 입히던, 항상 drawable 태그를 사용하면 된다! selector에 컬러값을 입히려면 colors.xml 에 drawable 태그로 등록해야.. 더보기
안드로이드 파일의 확장자 알아내기 getFileExtensionFromUrl #첨부파일이 안열린다. -MIME-Type을 잘 지정해도 해결되지 않는다. -pdf 파일만 열린다.(엑셀, 워드, ppt, hwp, txt 안열림) -OS 특성은 아니다. -모바일 브라우저에서 URL을 직접 입력후 다운받은 파일은 정상으로 열린다. -> 다운받을 때 잘못된 것 같다. 게시물에 문서 첨부파일이 있으면 리사이클러뷰로 출력하고, 항목을 클릭했을 때 다운받아서 뷰어로 연결하는 기능을 구현했다. 인텐트에 확장자 별 MimeType을 싣어주어야 한다. 그래서 난 Utility 클래스에 파일의 확장자명을 추출하고, 확장자 별 Mime Type을 리턴하는 메서드를 구현했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 .. 더보기
안드로이드 다운로드매니저 다운로드 실패했는데 뷰어에서 보인다. 게시글에 첨부된 파일들을 리사이클러뷰로 출력해준다. 파일을 누르면 다운로드매니저를 통해 다운로드하고, 뷰어로 연결해서 보여주는 기능을 구현중이다. 그런데 정상 동작하던 코드가 갑자기 안된다. 다운로드가 안된다. 원인을 모르겠다. url은 유효하다. DownloadManager.Request에 setDestinationUri()를 적용하지 않았더니, 다운로드는 여전히 실패하지만 뷰어로 문서가 출력된다. 문서가 다운로드되지 않았는데 ACTION_DOWNLOAD_COMPLETE 분기는 왜 타는거지? 당최 알 수가 없다. 123DownloadManager.Request request = new DownloadManager.Request(uri)// .setDestinationUri(Uri.fromFile(fil.. 더보기
안드로이드 이미지가 돌아갈 때, 회전될 때! Exif 메타정보 이용하기 샤오미 노트와 넥서스 기기에서는 재현되지 않는다. LG G4에서 재현된다. 앨범에 저장된 세로 이미지를 프로필 사진으로 등록하면 90도 회전되는 현상을 겪었다. 솔루션을 요약하자면, 사진의 메타정보(카메라 기종, 시간, 날짜, 방향 등등)를 조회할 수 있는 ExifInterface 클래스가 있다. 이 클래스의 ExifInterface.TAG_ORIENTATION 값이 회전된 각도다. 즉, 저 값이 0이나 null이면 사진이 회전되지 않은것이다. 값이 존재하면 그 값만큼 이미지를 회전시키면 된다. 이미지를 리사이징하기 전에 회전 방어코드를 적용했더니 잘된다. 아래 스택오버플로우 답변으로 한 큐에 해결되었다. http://stackoverflow.com/questions/20478765/how-to-get-.. 더보기