찾아서 정리 해봤습니다. ㅇ_ㅇ;;
- 책 예제 보면 있을거 같은데요. 도서관이나 사이트에서 예제를 얻기도 합니다.
- 같은 폴더 / SD Card 폴더 / 메니페스트 권한 인가 하면. 루팅 안해도 될거 같은 느낌이 듭니다.
- 폴더 경로와 슬래시를 주의 하라는거 같습니다.
- fopen(filePath, "a+") 함수를 사용하기 전에 파일을 만들어야합니다. 또는 fopen(filePath, "a")
- C 언어 JNI 를 사용하는 방법도 있는거 같습니다.
//Inside your java activity
File f = this.getApplicationContext().getFilesDir();
LibLoader.setupArchiveDir(f.toString());
//Inside your JNI wrapper
JNIEXPORT bool JNICALL Java_com_android_appName_LibLoader_setupArchiveDir(JNIEnv * env, jobject obj, jstring dir)
{
const char* temp = env->GetStringUTFChars(dir, NULL);
std::string stringDir(temp);
// Will be receive as a std::string inside C++ code
MyNativeObjectInC++->SetupArchiveDir(stringDir);
}
One must create the file before using fopen(filePath, "a+") function. Or use fopen(filePath, "a")
fopen(filePath, "a+") 함수를 사용하기 전에 파일을 만들어야합니다. 또는 fopen(filePath, "a")
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fail.toepic.blink">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
해당 권한이 현재 허용 되어 있는가를 확인 하는 함수는 checkSelfPermission(String permission) 함수를 이용하여 체크
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
Log.v(TAG,"Permission is granted");
return true;
}
해당 함수는 주어진 권한을 체크하여 해당 퍼미션이 허용 되어있는지 (PackageManager.PERMISSION_GRANTED) 허용되어 있지 않은지 (PackageManager.PERMISSION_DENIED) 반환 합니다.
체크 결과 퍼미션이 허용 되어 있지 않다면. 유저에게 허용 해 달라고 팝업 메시지를 보내야 합니다.
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
참고해보세요.
찾아서 정리 해봤습니다. ㅇ_ㅇ;;
- 책 예제 보면 있을거 같은데요. 도서관이나 사이트에서 예제를 얻기도 합니다.
- 같은 폴더 / SD Card 폴더 / 메니페스트 권한 인가 하면. 루팅 안해도 될거 같은 느낌이 듭니다.
- 폴더 경로와 슬래시를 주의 하라는거 같습니다.
- fopen(filePath, "a+") 함수를 사용하기 전에 파일을 만들어야합니다. 또는 fopen(filePath, "a")
- C 언어 JNI 를 사용하는 방법도 있는거 같습니다.
mkdir andriod ndk 로 구글 검색
NDK로 안드로이드 앱에 폴더 생성 실패
https://translate.googleusercontent.com/translate_c?depth=1&hl=ko&ie=UTF8&prev=_t&rurl=translate.google.co.kr&sl=en&sp=nmt4&tl=ko&u=https://stackoverflow.com/questions/37687581/fail-to-create-a-folder-in-android-app-with-ndk&xid=17259,15700002,15700023,15700124,15700149,15700186,15700191,15700201&usg=ALkJrhgnBjFzL3xwyDs2F6lWXSVy7MM-LQ
메니페스트 권한
쓰기 가능한 경로
Android NDK 쓰기 파일
https://translate.googleusercontent.com/translate_c?depth=1&hl=ko&ie=UTF8&prev=_t&rurl=translate.google.co.kr&sl=en&sp=nmt4&tl=ko&u=https://stackoverflow.com/questions/4731314/android-ndk-write-file&xid=17259,15700002,15700023,15700124,15700149,15700186,15700191,15700201&usg=ALkJrhityp9c_UjpJFw1VgbkwehjaInMUw
SD CARD 사용
JNI C 언어
//
Android 7.0 동작 변경 사항
https://developer.android.com/about/versions/nougat/android-7.0-changes?hl=ko
SD Card에 폴더 생성하기
http://berabue.tistory.com/11
File.mkdir() and mkdirs() are creating file instead of directory
https://stackoverflow.com/questions/13953744/file-mkdir-and-mkdirs-are-creating-file-instead-of-directory
File
https://developer.android.com/reference/java/io/File
[Android] NDK와 C++ 언어로 개발 Android / 프로그래밍
https://blog.naver.com/ryuvsken/90982917
[android] [NDK] NDK 프로그램 Android / Java
https://blackzaket.blog.me/80119079694
안드로이드 마쉬멜로우 버전 이상에서 권한처리하기.
https://toepic.fail/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%A7%88%EC%89%AC%EB%A9%9C%EB%A1%9C%EC%9A%B0-%EB%B2%84%EC%A0%84-%EC%9D%B4%EC%83%81%EC%97%90%EC%84%9C-%EA%B6%8C%ED%95%9C%EC%B2%98%EB%A6%AC%ED%95%98%EA%B8%B0-95527b99aafb
[안드로이드/android] 외부 저장소(External Storage) PART1 :: 앱해피
http://apphappy.tistory.com/71
안드로이드 6.0 Marshmallow 권한 획득하기 API 사용하기
http://thdev.net/634
WRITE_EXTERNAL_STORAGE not working on lollipop even though it's set in the manifest
https://stackoverflow.com/questions/41552251/write-external-storage-not-working-on-lollipop-even-though-its-set-in-the-manif
Conflicting android.permission.WRITE_EXTERNAL_STORAGE permissions #100
https://github.com/bitstadium/HockeySDK-Cordova/issues/100
안드로이드 NDK - 네이버 북
https://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C+NDK
한빛 미디어 - 안드로이드 검색 (부록/예제소스)
http://www.hanbit.co.kr/search/search_list.html?keyword_str=%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C
에이콘 출판사 - 안드로이드 검색 (부록/예제소스)
http://www.acornpub.co.kr/search?q=%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C
제이펍 출판사 - 안드로이드 검색
http://jpub.tistory.com/search/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C
위키북스 출판사 - 안드로이드 검색 (부록/예제소스)
http://wikibook.co.kr/?s=%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C
안드로이드 펍 - 개발자 사이트
https://www.androidpub.com/
안드로이드 폰 - 개발자 커뮤니티
https://cafe.naver.com/aphone
안드로이드 사용자 모임 카페
https://cafe.naver.com/androiders
샤오미 스토리 카페
https://cafe.naver.com/xst/
안드로이드 교육과정
http://blog.naver.com/hoyeon0721/20122674751
https://blog.naver.com/manyjijon/120104320036
타이젠 카페
https://cafe.naver.com/happy88car
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 감사드립니다.
많은 도움이 되었습니다.