안드로이드 (7) 썸네일형 리스트형 [Flutter][Android] 이 App Bundle 아티팩트 유형은 네이티브 코드를 포함하며 아직 디버그 기호가 업로드되지 않았습니다. 비정상 종료 및 ANR을 더 쉽게 분석하고 디버그할 수 있도록 기호 파일을 업로드하는 것이 좋습니다. 안드로이드 앱 출시 중 만난 에러 이 App Bundle 아티팩트 유형은 네이티브 코드를 포함하며 아직 디버그 기호가 업로드되지 않았습니다. 비정상 종료 및 ANR을 더 쉽게 분석하고 디버그할 수 있도록 기호 파일을 업로드하는 것이 좋습니다. 1. /build/app/intermediates/merged_native_libs/release/out/lib 경로로 이동 후 모든 폴더를 압축 2. 네이티브 디버그 기호 파일 업로드 구글 플레이 콘솔로 돌아온다.App Bundle 탐색기에서 파일을 업로드할 버전을 선택한다. 다운로드 메뉴에서 네이티브 디버그 기호에 파일을 업로드한다. 😞 응 안돼. The native debug symbols contain an invalid directo.. [Android][Firebase][해결]StorageException 이미지 업로드 중 에러 발생 E/StorageException: The server has terminated the upload session Storage 규칙에서 false를 null 또는 true로 변경했지만 같은 에러 발생 stackoverflow를 참고하여 아래와 같이 수정했고 해결됐다. (참고) https://stackoverflow.com/questions/38671444/user-does-not-have-permission-to-access-this-object-firebase-storage-android [Android][Firebase][Kotlin]데이터 읽기 관련 메소드 1. Realtime Database에서 데이터 읽기 1.1. 영구 리스너로 데이터 읽기, addValueEventListener() 메소드 경로 전체 내용에 대한 변경 사항을 읽고 수신 대기한다. onDataChange() 메소드를 사용하여 이벤트 당시에 존재했던 콘텐츠의 정적 스냅샷을 읽을 수 있다. 이 메소드는 리스너가 연결될 때 한 번 트리거되고 DB 데이터가 변경될 때마다 다시 트리거된다. 변경된 모든 데이터를 가져올 때 유용 1.2. 리스너를 사용하여 한 번 읽기, addListenerForSingleValueEvent() 메소드 한 번만 호출되고 즉시 삭제되는 콜백이 필요한 경우에 사용한다. 한 번 로드된 후 자주 변경되지 않거나 능동적으로 수신 대기할 필요가 없는 데이터에 유용하다. 이 메.. [Android][Java]BLE 통신 분석 및 예제(3) BluetoothLeService.java BluetoothLeService 클래스는 서비스 연결과 BLE 기기로부터 받은 GATT 서버와의 데이터 통신을 관리한다. 먼저 AndroidManifest.xml에 service를 등록해야 한다. MainActivity 클래스의 onCreate에서 bindService()를 호출하게 되면 service를 상속받은 BluetoothLeSerivce에서 onBind()를 호출해 IBinder를 생성하여 반환해준다. Binder 구현을 통해서 서비스 내의 메서드에 접근할 수 있는 권한을 얻는다. public class BluetoothLeService extends Service @Nullable @Override public IBinder onBind(Intent.. [Android][Java]BLE 통신 분석 및 예제(2) MainActivity.java DeviceScanActivity에서 스캔된 기기를 선택하면 넘어온다. onCreate에서 DeviceScanActivity에서 보낸 EXTRA_DEVICE_NAME, EXTRA_DEVICE_ADDRESS를 받는다. final Intent intent = getIntent(); deviceName = intent.getStringExtra(EXTRA_DEVICE_NAME); deviceAddress = intent.getStringExtra(EXTRA_DEVICE_ADDRESS); 서비스를 바인딩하도록 bindService()를 호출한다. 첫 번째 인자에는 연결할 서비스, 두 번째 인자에는 서비스와의 연결을 모니터링 하는 ServiceConnection, 세 번째 인자에는.. [Android][Java]BLE 통신 분석 및 예제(1) * 예제 1,2,3 전체 수정(20220702) 나에게 더 친숙한 코드를 사용하고 싶어서 예전에 연습한 적이 있는 SDK 30이하 버전으로 맞추고 다시 실습을 진행해 보았다. 추후 SDK 31이상(Android 12)을 타겟팅하는 코드도 추가할 것이다. 내가 사용한 SDK 버전 몰라서 분석하고 까먹고 분석하고 또 까먹고 다시 또 분석하고.. 정리해 놓기로 결심했다. 안드로이드 공식 문서와 github 예시를 참고했다. 참고로 targetSdkVersion이 31로 올려지면서 Android12 블루투스 권한이 추가되었다. https://developer.android.com/guide/topics/connectivity/bluetooth-le?hl=ko 저전력 블루투스 개요 | Android 개발자 | A.. [Android][해결]적용 안되던 Hide NavigationBar 태블릿으로 테스트를 진행하던 중 발견한 이슈. 분명 휴대폰에서는 잘 숨겨졌던 navigation bar가 태블릿에서는 어째서인지 적용이 풀렸다(?) 앱을 실행하면 처음엔 잘 숨겨져있지만 다이얼로그를 열었다 닫으면 뿅하고 다시 나왔다. 각 다이얼로그 코드에도 hideNavigationbar code를 넣어봤지만 결과는 같았다. 또한 메인 클래스에 onWindowFocusChanged()를 override하여 사용도 해봤지만 해결하지 못했다. 그러던 중 발견한 코드 ! 기존에 작성해둔 hideNavigationbar code 아래에 추가로 해당 코드를 넣어서 해결했다. decorView = getWindow().getDecorView(); decorView.setOnSystemUiVisibilityChang.. 이전 1 다음