구글 패브릭(Fabric) 서비스가 종료되었다.
패브릭 서비스를 알계 된 후 부터 개발한 모든 앱에 패브릭 서비스를 적용하였다. 그 이유는 파이어베이스의 오류보고 보다 편리하여 파이어베이스 보다는 패브릭의 오류 보고에 대한 사용을 더...
[안드로이드] java.lang.SecurityException: Permission Denial: reading androidx.core.content.FileProvider uri content: 오류 해결방법
안드로이드 운영체제 버전이 올라가니 새로운 오류들이 나타난다. E/DatabaseUtils: Writing exception to parcel java.lang.SecurityException: Permission Denial: reading androidx.core.content.FileProvider uri content://com.test.fileprovider/root/data/data/sample/app_Pushup_Backup/pushup_counter_bak.db from pid=11323, uid=1000 requires the provider...
[안드로이드 오류] ActivityThread.java line 3671 android.app.ActivityThread.handleCreateService
ActivityThread.java line 3671 android.app.ActivityThread.handleCreateService 오류가 발생한 휴대전화 정보 [오류내용] Fatal Exception: java.lang.RuntimeException: Unable to instantiate service com.test.ManageService: java.lang.ClassNotFoundException: Didn't find class "com.test.ManageService" on path:...
[bug Fixed]error: unescaped apostrophe in string
appsrcmainresvaluesstrings.xml:81:5-116: AAPT: error: unescaped apostrophe in string appsrcmainresvaluesstrings.xml:81:5-116: AAPT: error: not a valid string. C:androidAndroidStudioProjectsHiLottoappbuildintermediatesincrementalmergeDebugResourcesmerged.dirvaluesvalues.xml: AAPT: error: file failed to compile. Android resource compilation failed appsrcmainresvaluesstrings.xml:81:5-116: AAPT: error: unescaped apostrophe in string appsrcmainresvaluesstrings.xml:81:5-116: AAPT: error: not a valid string. appbuildintermediatesincrementalmergeDebugResourcesmerged.dirvaluesvalues.xml: AAPT: error: file failed to compile. [오류원인] string.xml에 어퍼스트로피(‘) 문자를 잘 못 하용하는 경우에 발생한다. string.xml파일을 열고 확인하였다. <resources>...
[Google Play Console] 새 Play Console 서비스 약관 동의하기
구글플레이 개발자 콘솔에 로그인하면 “새 Play Console 서비스 약관” 관련하여 안내 팝업 하나가 화면 가운데에 노출된다. 그 내용은 다음과 같다. 새 Play Console 서비스 약관 서비스...
[안드로이드 오류 처리] 배터리 최적화 ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS }
안드로이드 운영체제 버전이 상향될수록 백그라운드 서비스에 대한 제약이 심해지고 있어요. 휴대폰 제조사마다 다르게 개발하여 운영되고 있기 때문에 모든 휴대폰에 대한 1:1 대응이 힘든 상황입니다. 최대한...
앱이 삭제되지않게 미리 처리하기 : 구글 개발자 정책 업데이트 됨(2020년 4월 16일)
어느날 갑자기 구글플레이에서 앱이 삭제되었다고 메일이 왔던 경험이 있다. 난감한 상황이 발생 되었다.. 바로 확인할 수 없는 상태에서 있다면 더더욱 초긴장상태로 돌입되었고 아무것도 손에 안잡히는...
안드로이드(android) 리사이클러뷰(RecyclerView)에 아이템 추가 및 삭제방법
리사이클러뷰(RecyclerView) 리사이클러뷰(RecyclerView)는 리스트뷰(ListView)와 사용목적과 동작 방식이 매우 유사하다. 리스트뷰의 단점을 보완하기에 리스트뷰를 쓰는 일은 이제 없을 것이다. 많은 데이터를 불러와 표시하여도 메모리 부족에 따른 프로그램 강제 종료의...
안드로이드 SQLite 사용을 위한 SQLiteOpenHelper 커스터마이징
■안드로이드 SQLite를 사용하기 위해 SQLiteOpenHelper를 커스터마이징 한다. import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; public class FcmSQLiteOpenHelper extends SQLiteOpenHelper { private static final String...
안드로이드(Android) 커서(Cursor) 사용 방법(AsyncTask 활용)
커서(Cursor) 사용 방법 AsyncTask를 사용해보자. AsyncTask 클래스는 스레드나 메시지 루프 등의 원리를 이해하지 않아도 UI 작업을 쉽게 할 수 있다. execute()를 사용하여 AsyncTask를 실행한다. onPreExecute()가...