No matching client found for package name 패키지명을 바꾸었을 경우 발생한다. 안드로이드 스튜디오 좌측에 Android 를 Project 로 변경 하면 google-service.json 이 보인다. Firebase에서 앱을 추가 하거나 변경해서 새로 받거나, 이 파일을 열어서 변경한 패키지 명을 넣어주면 된다. [안드로이드 공부]/안드로이드 스튜디오 2019.10.27
Actionbar Navigation icon 변경 Drawable drawable = ContextCompat.getDrawable(getApplicationContext(),R.drawable.ic_arrow_back_white_24dp); Overflow 아이콘 변경 toolbar.setOverflowIcon(drawable); 햄버거 모양 아이콘 변경 actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); Drawable drawable = ContextCompat.getDrawable(mContext,R.drawable.ic_arrow_back_white_24dp); actionBar.setHomeAsUpIndicator(drawable); 액티비티.. [안드로이드 공부]/UI 2019.10.26
Navigation Drawer icon 숨기기 햄버거 보양 메뉴 아이콘을 숨기기 위해서는 Activity 또는 그의 Fragment가 존재 하면 Fragment의 OnCreate 에서도 해줘야 함. setDisplayHomeAsUpEnabled(false); [안드로이드 공부]/UI 2019.10.26
안드로이드 프래그먼트에서 startActivityForResult() 하기 액티비티 아래의 프래그먼트에서 startActivityForResult를 할 경우 onActivityResult()가 호출 되지 않는다. --> getActivity().startActivityForResult() 를 해주고, 액티비티의 onActivityResult() 에서 처리 하면 된다. [안드로이드 공부]/프래그먼트 2019.01.22
Message: expected start or end tag ERROR: Failed to parse XML in /User/,,,,,,,,AndroidManifest.xmlParseError at [row,col]:[310,9]Message: expected start or end tagAffected Modules: app xml 경로가 길어서 끝까지 보지 못하는 경우가 있다.이 에러는 AndroidManifest 310 라인을 보시오. 주석이 혼자 놀고 있을 수 있으니. build.gradle 문제가 아니오. [안드로이드 공부]/UI 2019.01.17
안드로이드 리사이클러뷰 아이템 포지션으로 이동 findViewHolderForAdapterPosition 을 써서 holder 의 itemView를 얻어 올 수 있는 방법이 있다. 즉, 예전 listView의 경우 해당 아이템을 가져와서 크기를 측정(itemView.measure) 한 뒤 리스트의 상단에서 그 아이템 위치 까지 높이를 만들어서 갔었는데, reclyerView에서는 이런 작업을 할 경우, 리스트가 notifychanged 를 하면서 null 이 떨어 질 수 있다. null 을 피하기 위해선 많은 방법을 사용 해야 한다. LinearLayoutManager linearLayoutManager = (LinearLayoutManager)recyclerView.getLayoutManager(); if(linearLayoutManager != .. [안드로이드 공부]/UI 2019.01.10
안전한 프레그먼트 컨텍스트 사용법 -How to use fragment context ? 프레그먼트 생명 주기 실행 시onAttach —> onCreate() —> onViewCreated() —> onActivicyCreated() —> onResume() 해제시onPause() — > onDestroyView() — > onDestroy() —> onDetach() 즉,안전하게 context 를 사용 하려면 @Override public void onAttach(Context context) { super.onAttach(context); mContext = context; } 요렇게 해서 사용한다.프래그먼트 이곳 저곳에서 getContext(), getActivity() 를 부르다가 Null 이 발생할 수 있기 때문에 이렇게 부르는 것이 안전. 더 안전 하려면 부를 때마다 체크 하는게 .. [안드로이드 공부]/UI 2019.01.03
애드몹 failed Ad failed 1, 2 There was a problem getting an ad response. ErrorCode: 1 admob while connecting to ad server: no protocol Ad failed to load : 2 위 에러들은 애드몹 앱 ID 와 배너 ID를 바꿔 쓰면 발생 한다. 그냥 보기엔, 네트워크 문제등이려니 할 수 있지만.단말기 마다 위 3가지 방식으로 다른 에러를 토해 내기 때문에 당황스럽다. [안드로이드 공부]/애드 2018.12.19
No package identifier when getting value for resource number Clean ? No package identifier when getting value for resource number textView.setTextColor();를 할 예정이었는데; textView.setText()를 해버리면발생한다. 인터넷에서 답이라고 말하는 Clean을 아무리 Clean 해봐야 안된다. [안드로이드 공부]/UI 2018.12.13
안드로이드 리사이클러 뷰 구분선 및 색상 RecyclerView divider color 아주 간단하다.아래 처럼 넣어 주면, 색깔까지 완벽하게! DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mContext,LinearLayoutManager.VERTICAL); dividerItemDecoration.setDrawable(mContext.getResources().getDrawable(R.drawable.recyclerview_divider)); mRecyclerView.addItemDecoration(dividerItemDecoration);아래는 recyclerview_divider.xml [안드로이드 공부]/UI 2018.12.13