본문 바로가기
반응형

프로그래밍/Android47

Android vitals ANR 및 비정상 종료의 ProGuard난독해석 파일 Android vitals ANR 및 비정상 종료의 ProGuard난독해석 파일 FCM관련 푸시 토큰을 얻기 위해 추가한 소스에서 자꾸만 java.lang.NullPointerException: 오류가 떨어지고 있다. 아무리 바도 해당 클래스에서 null문제가 발생할 것 같지는 않은데 어떻게 대처를 해야할지 막막하다. 인터넷을 뒤져보니 좀더 세세한 추적이 가능하도록 ProGuard난독 해석 파일을 추가하라고 되어 있길래 추가 해보았다. Android vitals의 비정상 종료 탭의 오류 메시지가 보이고 있다. 지긋지긋한 java.lang.NullPointerException이다. ProGuard난독 해제 파일이 없는 경우 저런 메시지가 나오고 제대로 된 오류 추적이 어려울 수 있기 때문에 ProGuard.. 2019. 5. 25.
Android java.lang.OutOfMemoryError: .. with 16777216 free bytes and 69MB until OOM Android java.lang.OutOfMemoryError: .. with 16777216 free bytes and 69MB until OOM 시간이 좀 지난 안드로이드 단말(6.0.1 / API23) 갤럭시 노트4에서 앱 로드 된 후 특정 메뉴를 눌러 팝업을 뛰울 때 아래와 같은 오류가 나오면서 앱이 죽었다. 구글 검색을 해보니, 친절하게도 답이 있다. 오류 내용: java.lang.OutOfMemoryError: Failed to allocate a 114960396 byte allocation with 16777216 free bytes and 69MB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at andro.. 2019. 5. 16.
안드로이드 DialogFragment를 이용한 팝업 페이징 구현하기 안드로이드 DialogFragment를 이용한 팝업 페이징 구현하기 아이폰과 달리 안드로이드는 아는게 없기 때문에 개념을 잡는것이 쉽지 않다. 종일 맨땅에 헤딩하면서 이제서야 겨우 원하는 결과물을 쥐게 되었다. 또 이용할 일이 있을까 싶지만, 그래도 오늘의 포스팅으로 올려 두고자 한다. 1.개요. 팝업창이 뜨는데 페이징이 되어야 한다. 메인 Activity에서 팝업을 뛰운다. 닫기 버튼과 팝업내에서 특정 액션을 해야한다. DialogFragment를 상속 받고 View.OnClickListener를 구현하는 클래스를 하나 만들었다. PopupFragmentDialog.java public class PopupFragmentDialog extends DialogFragment implements View... 2019. 5. 14.
FirebaseInstanceId 등록 및 토큰(token) 정보 얻기(FCM이용방법) FirebaseInstanceId 등록 및 토큰(token) 정보 얻기 아이폰과 조금 다른 부분이 있어서 잘 정리를 해두어야 할 것 같다. 생소한 FCM 처리를 통해 push토큰을 획득하는 부분에 대한 처리 코드는 다음과 같다. @Override protected void onCreate(Bundle savedInstanceState) { //.... 중략 FirebaseInstanceId.getInstance().getInstanceId() .addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if (!task.isSuccessful()) { Log.w("FIREBASE.. 2019. 5. 7.
안드로이드 런타임 퍼미션 요청 (READ_CONTACTS) 안드로이드 런타임 퍼미션 요청. 이것 저것 하느라 기능 하나를 제대로 마무리 하지 못하고 있는데 안드로이드 주소록 가져오기를 하는 도중 인터넷에 찾은 소스는 안드로이드의 퍼미션에 대한 부분은 누락되어진 소스가 많았다. 아이폰의 경우에도 퍼미션이 필요한 기능이 실행될 때 권한을 획득하는 경우가 많이 있는데 책을 찾아보니 안드로이드의 경우에도 보통과 위험 퍼미션으로 나눠져 요청을 하고 결과를 받아 화면 처리가 가능하도록 구현하게 되어 있다. 따라서 주소록 데이터에 접근하기 위해서는 READ_CONTACTS 퍼미션이 필요하며 이 역시 Manifest에 선언을 한 뒤 해당 기능이 실행되는 런타임시에도 역시 권한을 요청해야 한다. 안드로이드 6.0이상 버전에서 위험(dangerous) 퍼미션이 추가가되었다. 보통.. 2018. 12. 6.
Android 주소록 가져오기 (연락처 및 프로필 사진) Android 주소록 가져오기 (연락처 및 프로필 사진) 하이브리드 앱에서 네이티브 OEM의 연락처에 접근해서 선택된 주소록의 정보를 다시 웹으로 보내줘야 하는 기능을 개발하게 되었다. 급한건 아니라 하나씩 차근차근 진행을 하고 있는데 생각보다 어리버리 한 상태가 되었다. 아이폰의 경우는 보다 쉽게 구현을 했는데 안드로이드는 어떨지 아직 감을 못 잡겠다. 아직 서툰 자바 코딩과 안드로이드에 대해서 잘 몰라 그런지 모르지만 복잡해도 너무 복잡해 보인다. 이 포스팅을 쓰게 된 이유는 따른건 없고 주소록의 데이터를 로딩해서 해당 주소록의 프로필 사진을 로딩 하는 예제인데 다음 링크에서 거진 모든 소스를 참조했다. 그런데 이상한 현상이 있어 고민을 좀 했었는데 아직도 의문은 풀리지 않은 상태이다. 참고(?)한 .. 2018. 11. 30.
반응형