[안드로이드] 프래그먼트 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setDisplayShowHomeEnabled(boolean)' on a null object reference java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setDisplayShowHomeEnabled(boolean)' on a null object reference 1. setSupportActionBar() 를 먼저 적용.2. getActionBar --> getSupportActionBar로 변경 [안드로이드 공부]/프래그먼트 2017.08.07
[안드로이드] do not match the previously installed version do not match the previously installed version 에러가 난다면? signature가 맞지 않으므로 uninstall을 하고 다시 설치 하면 된다? 그런데 업데이트 테스트를 하는 경우라면, 재 설치를 하면 안되니 난감하다. 그럼, 왜 signature가 맞지 않는 것일까.... 1. 키가 다른가? 2. 권한이 다른가? 3. 모드가 다른가? --> 아무리 해도 안되면 3번일 가능성이 제일 크다. 이전 버전이 1.2 이고 디버그 모드라면, 새 버전 1.3 버전도 디버그 모드로 빌드 해야 정상적인 업데이트 테스트가 완료 된다. 참으로 기본적인 내용이지만... 늘.. 까묵는다... [안드로이드 공부]/안드로이드 공부 2017.07.26
[안드로이드] actionBar, setDisplayShowHomeEnabled(boolean)' on a null object reference setDisplayShowHomeEnabled(boolean)' on a null object reference 에러가 발생한다면? 1. getActionBar() 대신 getSupportActionBar() 대신 를 사용하거나, extends Activity 대신 extends AppCompatActivity를 사용 2.setSupportActionBar()를 먼저 하지 않고, getSupportActionBar()를 사용 한 경우. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); try { getSupportActionBar().setDisplayShowHomeEnabled(false); } ca.. [안드로이드 공부]/UI 2017.06.29
안드로이드 상태바, 히스토리 앱바 색깔 바꾸기 안드로이드 상태바, 히스토리 제목의 색깔 바꾸기 롤리팝, 누가등 버전에 따라 다르다. Window window = mActivity.getWindow(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } TypedValue typedValue =.. [안드로이드 공부]/안드로이드 공부 2017.03.24
[안드로이드]패키지 설치, 제거, 업데이트 정보를 알고 싶다면 앱 설치 시 메인 Activity나 화면 실행전에 할일이 있다면 package 관련 브로드캐스트을 받으면 된다. @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) { } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) { } else if (action.equals(Intent.ACTION_PACKAGE_ADDED) { } 업데이트 받은 사용자(PACKAGE_REPLACE)와 처음 설치한 사용자(PACKAGE_ADDED)의 설정을 다르.. [안드로이드 공부]/안드로이드 공부 2016.10.07
[안드로이드] 패키지 이름으로 앱 실행하기 패키지명으로 앱을 실행 할 수 있다. public static boolean openApp(Context context, String packageName) { PackageManager manager = context.getPackageManager(); try { Intent i = manager.getLaunchIntentForPackage(packageName); if (i == null) { throw new PackageManager.NameNotFoundException(); } i.addCategory(Intent.CATEGORY_LAUNCHER); context.startActivity(i); return true; }catch(PackageManager.NameNotFoundExcept.. [안드로이드 공부]/액티비티 2016.10.05
[안드로이드] CalledFromWrongThreadException AsynkTask를 쓰다보면 자주 만나는 에러다. Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. doInBackground에서는 UI 스레드에 직접 접근해서는 안되는데 발생한다. 즉, setText 같은 작업은 onPostExecute에서 처리 하도록 하자. [안드로이드 공부]/동기화 2016.10.05
[안드로이드] AlertDailog 버튼 색 변경 하기 AlertDialog를 커스트 마이징 즉, create 했다면 버튼 색은 아래와 같이 바꿔야 한다. 1. dialog = builder.create()2. dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(WHAT); dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(WHAT); [안드로이드 공부]/UI 2016.10.05
[안드로이드] 패키지안에서 View 찾아내기 프로젝트가 커질 수록 스파게티 좀비들이 꾸물꾸물 나오기 시작한다.그러다 보면 view를 찾기 힘들 경우도 있다. 아래 name에 getId()한 놈을 넣어 주면 알아서 원하는 View를 찾아 준다.int id = getResources().getIdentifier(name, "id", context.getPackageName()); View view = findViewById(id); [안드로이드 공부]/UI 2016.10.05
[안드로이드] Drawer Icon 색깔 바꾸기 기본이 검정색이다. 흰색 및 다른 색으로 바꾸고 싶다면? 1. 아이콘을 변경 한다. actionBarDrawerToggle.setDrawerIndicatorEnabled(false); Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_xxx, activity.getTheme()); actionBarDrawerToggle.setHomeAsUpIndicator(drawable); 또는 2. 색을 변경한다.2.1 Style 추가 @android:color/white 2.2 Item 추가@style/DrawerArrowStyle [안드로이드 공부]/UI 2016.10.05