일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- git-push
- ozd
- OZViewer
- git
- AWS
- ActivityResult-API
- 오즈뷰어
- socket.io
- hung-up
- Android
- firebase-database
- Kotlin
- BottomSheetDialog
- google-login
- Galaxy Watch
- cloud-firestore
- JNI
- socket-client
- gradle
- Java8
- TIZEN
- socket-server
- Dva
- firebase-storage
- Flavors
- NoSuchMethodError
- Firebase
- mqtt
- mosquitto
- 워치
- Today
- Total
목록Android (20)
Hyeyeon blog
1.Firebase 설정 1-1. Firebase Console에서 프로젝트 생성 후, Authencation에서 시작하기를 클릭합니다. 프로젝트 생성 시 SHA-1은 Android Studio에서 Gradle > Tasks > android > signingReport 를 실행하면 콘솔에서 확인할 수 있습니다. 1-2. 로그인 제공 업체 목록에서 Google을 선택합니다. 1-2. 사용 설정을 활성화 시킨 후, 프로젝트 지원 이메일을 선택하고 저장을 클릭합니다. 2. Android 프로젝트 설정 2-1. build.gradle(Project) buildscript { repositories { google() } dependencies { classpath 'com.google.gms:google-se..
1. build.gradle(Project) buildscript { repositories { google() } dependencies { classpath 'com.google.gms:google-services:4.3.5' } } allprojects { repositories { google() } } 2. build.gradle(Module) apply plugin: 'com.google.gms.google-services' dependencies { implementation platform('com.google.firebase:firebase-bom:26.8.0') implementation 'com.google.firebase:firebase-storage-ktx' } 3. Firebas..
잘되던 파일 다운로드 View에서 progressBar의 퍼센트를 표시해주는 텍스트가 특정 퍼센트부터 음수로 나오기 시작해서 찾아보니 아래의 소스에서 progess * 100의 값이 int의 범위를 넘어가면 음수로 결과값을 내려준다고 한다. 0% .. 75% 76% -77% -76% 아래와 같이 Long을 사용하면 해결할 수 있다. # 기존 val percent = (progress * 100) / contentLength # 변경 val percent = (progress * 100L) / contentLength
targetSdkVersion을 26에서 29로 변경하니 아래와같은 오류가 발생했다. java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/params/BasicHttpParams; AndroidManifest.xml의 application에 아래와 같이 추가하면 해결된다.
Android Flavors 설정 시 위와 같은 오류가 발생하는 경우가 있는데, google-services.json에 해당 패키지의 client_info가 설정되지 않아서 발생한다. google-services.json에 오류가 발생한 패키지 명의 client_info를 추가하여 해결할 수 있다. { "project_info": { .. }, "client" : { "client_info": { "mobilesdk_app_id": "...", "android_client_info": { "package_name": "com.example.demo" } }, .. } }
JNI에서 사용되는 문법 정리 1. jbyte[]를 jstring로 변환 jbyte array[] = {48 ,48 , ..}; // byte array jstring result = (*env)->NewStringUTF(env, (char *) array); 2. jbyte[] 크기 구하기 const jbyte array[] = {48, 48, ..}; // byte array int size = sizeof(array); 3. char* 크기 구하기 char * text = {48, 48, ..}; // byte array int size = strlen(text); 4. char[] 크기 구하기 char arr[] = {48, 48, ..}; int size = sizeof(arr); 5. 전역 변..
1. NDK 설치 - Preferences > System Settings > Android SDK > SDK Tools > NDK 설치 2. External Tool 생성 - Preferences > Tools > External Tools > + 버튼을 클릭하여 Tool 생성 Name: ndk-build Description: .so 파일 생성 Program: ndk-build 위치 - File > SDK Location > Android NDK location 과 동일하게 작성 Arguments : (공백) Working directory: 현재 프로젝트의 jni 폴더 위치 3. src/main/jni 폴더 생성 후 하위에 각 파일 생성 (1) Android.mk LOCAL_PATH := $(cal..
Android의 Socket.io 라이브러리를 사용하여 앱과 소켓 서버 간의 통신을 구현합니다. Socket.io 라이브러리와 관련된 내용은 Android Socket.io Github에서 확인할 수 있습니다. 1. dependency 추가 build.gradle(module)에 io.socket 의존성을 추가합니다. exclude 구문을 넣지 않으면 특정 버전에서 json 패키지가 제외되었다는 warning 메세지가 발생합니다. dependency { implementation ('io.socket:socket.io-client:1.0.1') { exclude group: 'org.json', module: 'json' } } 2. 소켓 연결하기 Socket.on()을 사용하여 소켓 통신을 처리합니다...