Android35 [Android] Activity 화면 켜짐 유지 및 해제 코드(Keep Screen On) Activity 화면 켜짐 유지 및 해제 코드 Console 로그를 보다가 아래 사항이 뭔지 궁금해서 찾아봤습니다. I/DecorView: notifyKeepScreenOnChanged: keepScreenOn=false App 자체적으로 화면이 꺼지지 않도록 유지해야 하는 경우가 있습니다. 이때, 직접 코드를 추가해줘야 기기 기본 설정에 따르지 않고 강제적으로 화면을 유지할 수 있습니다. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // 화면 켜짐 유지 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // 화면 켜짐 해제 2022. 11. 30. [Web] WebView 사용 관련 Android, iOS 관련 정리 WebView : 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View)의 형태로 App에 Embedding 하는 것을 말합니다. 즉 모바일 앱 애플리케이션의 Part, Page를 웹 애플리케이션 및 웹 페이지로 제공하는 기능을 말합니다. WebView 장점 배포 주기가 빠르다. 네이티브 앱을 수정해서 배포하려면 거쳐야 하는 절차들이 있는 반면, WebView로 구성된 부분은 Web 배포만 하면 바로 수정된 내용이 반영이 됩니다. 개발 기간이 줄어든다. Android/iOS를 둘다 서비스하는 제품인 경우 WebView만 수정이 되면 동시에 반영이 되기 때문에 개발 기간이 줄어들 수 있습니다. WebView 단점 네이티브 App 과 동일한 기능을 제공하지 못한다. 네이티브 API를 직접 가져와서 사용할 .. 2022. 7. 20. [안드로이드] View Binding View Binding 현재 진행중인 App 개발에서는 ButterKnife.bind로 처리를 하고 있으나 ButterKnife 개발자가 공식적으로 deprecated를 선언하고 구글에서 권고하는 View Binding을 사용하기 위해 정리하였습니다. 1. build.gradle 수정 android { ... buildFeatures { viewBinding = true } } build.gradle에서 뷰 바인딩을 설정하면 안드로이드 스튜디오에서 자동으로 xml 파일과 연동되는 바인딩 클래스가 생성이 됩니다. ※ 뷰 바인딩 클래스 이름은 연동되어 있는 해당 Activity의 이름을 반전시킨 이름으로 생성이 됩니다. ex) MainActivity 클래스 → ActivityMainBinding 2. 뷰 .. 2022. 6. 25. [안드로이드] 연속 3번 터치 시 다른 메뉴로 이동(hidden) 가끔 Hidden으로 처리되는 사항들이 있어서 정리합니다. Title이나 특정 항목을 3번 연속 터치를 하는 경우 다른 Activity로 이동하도록 처리를 합니다. int HiddenCount = 0; @OnClick(R.id.title) // title 클릭 void hiddenMove() { mHandler.postDelayed(hiddenPress, 900); // 0.9초가 지나는 경우 Count 0 - 연속 if (HiddenCount == 2) { // 3번 터치 Intent intent = new Intent(this, MainActivity.class); intent.putExtra("HiddenData", true); // getIntent().getBooleanExtra("HiddenD.. 2022. 6. 21. [안드로이드] Glide Usage Glide 1. build.gradle에서 dependency 추가 : 현재 개발 중인 App 기준으로 4.9.0 implementation 'com.github.bumptech.glide:glide:4.9.0' ※ 만약 외부통신을 통해 이미지를 가져와야 한다면 인터넷 권한도 추가 2. 이미지 로드하기 : 기본적으로 Option 없이 View에 이미지를 넣는다면 with(), load(), into()만 사용하면 됩니다. with() : View 또는 Fragment. Activity의 Context load() : 이미지 로드.(Bitmap, Drawable, String, Uri, File, ResourId(Int), ByteArray) into() : 이미지를 보여줄 View를 설정 Glide.wi.. 2022. 6. 20. [안드로이드] java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView 에러 Don't call setOnClickListener for an AdapterView 에러 - listView에서 onClick을 사용하면 발생되는 에러입니다. java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead listView는 onItemClick를 이용하면 됩니다. 2022. 6. 19. [안드로이드] SharedPreferences 사용법 SharedPreferences 사용법 : Activity 또는 Method등에서 간단하게 데이트 주고 받을 경우 SharedPreferences를 사용하면 됩니다. Intent의 extra를 이용하여 getIntent를 통해 정보를 주고 받을 수도 있지만, 특정상황에서 값을 저장하고, 어떤 순간이 왔을 때 그 값을 바로 불러서 사용하고 싶을 때 SharedPreferences를 이용하면 좀 더 편리하게 데이터 처리를 할 수 있습니다. SharedPreferences pref = getSharedPreferences("Preferences 이름", MODE_PRIVATE); ex) SharedPreferences prefs = context.getSharedPreferences(FILE_NAME, Act.. 2022. 6. 19. [안드로이드] Failed to resolve: com.google.android.gms:play-services-measurement 에러 Failed to resolve: com.google.android.gms:play-services-measurement 에러 Google play service 업데이트 시 발생되는 아래의 에러 처리 방법을 알려드립니다. Error: Failed to resolve: com.google.android.gms:play-services-measurement 'com.google.gms:google-service' 버전이 맞지 않아서 발생이 됩니다. implementation 'com.google.android.gms:play-services-maps:17.0.0' implementation 'com.google.android.gms:play-services-location:17.0.0' implementa.. 2022. 6. 17. [안드로이드] Slide Toggle Slide Toggle for Android Toggle button 관련 git hub 공유합니다. https://github.com/pellucide/Android-Switch-Demo-pre-4.0/tree/master/ ※ 참고로 Apache-2.0 license 입니다. 참고 글: Slide Toggle for Android https://stackoverflow.com/questions/9752760/slide-toggle-for-android 2022. 6. 16. [안드로이드] Back Key 두 번 눌러서 Activity 종료 Back key를 2번 눌러서 Activity 종료 long backKeyPressedTime=0; @Override public void onBackPressed() { if (System.currentTimeMillis() > backKeyPressedTime + 2000) { backKeyPressedTime = System.currentTimeMillis(); return; } // Current time이 backKeyPressedTime + 2000(2초)보다 작으면 앱 종료 if (System.currentTimeMillis() 2022. 6. 16. [안드로이드] 자동 화면 잠금모드 해제 자동 화면 잠금모드 해제특정 화면이 동작하고 있을 때나 어떤 이벤트를 진행하고 있을 때 화면을 자동 잠금 모드로 바뀌는 것을 막을 수 있는 방법을 공유합니다. 1. 설정 방법: FLAG_KEEP_SCREEN_ON만 넣어줘도 되지만, FLAG_TURN_SCREEN_ON도 같이 추가하면 됩니다. @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TU.. 2022. 6. 15. [안드로이드] Caused by: java.lang.AssertionError: Could not delete caches dir yourProject\build\kotlin\compileDebugTestingKotlin 에러 java.lang.AssertionError 에러 Android App 개발 중에 빌드 시 아래와 같은 에러가 발생이 된다면, Caused by: java.lang.AssertionError: Could not delete caches dir yourProject\build\kotlin\compileDebugTestingKotlin 작업 관리자(Ctrl+Shift+Delete) - 세부 정보 Tab에서 java.exe 파일을 작업 끝내기로 제거하시면 됩니다. 참조 글: https://stackoverflow.com/questions/65832868/caused-by-java-lang-assertionerror-could-not-delete-caches-dir-yourproject-bui 2022. 6. 11. 이전 1 2 3 다음 728x90