ProgramingTip

Android의 자산 폴더 또는 원시 폴더에 파일을 쓰는 방법은 무엇입니까?

bestdevel 2020. 11. 13. 23:51
반응형

Android의 자산 폴더 또는 원시 폴더에 파일을 쓰는 방법은 무엇입니까?


일부 http 위치에서 자산 / 원시 폴더 실행에있는 일부 파일을 업데이트하는 일부 응용 프로그램에서 작업 중입니다.

누구든지 자산 또는 원시 폴더에 파일을 방법을 공유하여 나를 도울 수 있습니까?


할 수 없습니다. 불가능하다.


대신 로컬 파일 시스템의 파일을 업데이트하지 않는 이유는 무엇입니까? 응용 프로그램 샌드 박스 영역에서 파일을 읽고 쓸 수 있습니다.

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

살펴볼 수있는 다른 대안은 공유 Perferences 및 캐시 파일 사용입니다 (모두 위의 링크에서 설명 됨).


데이터 는 압축되어 있고 ( .apk 파일 )가 확장 크기 할 수 없기 때문에 자산 / 원료 폴더에 쓸 수 없습니다 .

애플리케이션이 서버에서 파일을 다운로드해야하는 경우 Android에서 제공하는 APK 확장 파일 ( http://developer.android.com/guide/market/expansion-files.html ) 로 모든 수 있습니다 .


동일한 문제에 대한 또 다른 접근 방식은 응용 프로그램의 비공개 대화에서 파일을 읽고 쓰는 데 도움이 될 수 있습니다.

                 String NOTE = "note.txt";  
                 private void writeToFile() {
        try {
         OutputStreamWriter out = new OutputStreamWriter(openFileOutput(
                NOTES, 0));

         out.write("testing");
         out.close();
         }

        catch (Throwable t) {
        Toast.makeText(this, "Exception: " + t.toString(), 2000).show();
        }
             }


           private void ReadFromFile()
      {
        try {
        InputStream in = openFileInput(NOTES);
        if (in != null) {
            InputStreamReader tmp = new InputStreamReader(in);
            BufferedReader reader = new BufferedReader(tmp);
            String str;
            StringBuffer buf = new StringBuffer();
            while ((str = reader.readLine()) != null) {
                buf.append(str + "\n");
            }
            in.close();
            String temp = "Not Working";
            temp = buf.toString();
            Toast.makeText(this, temp, Toast.LENGTH_SHORT).show();
        }
    } catch (java.io.FileNotFoundException e) {
        // that's OK, we probably haven't created it yet
    } catch (Throwable t) {
        Toast.makeText(this, "Exception: " + t.toString(), 2000).show();
    }
}

자산에있는 동안에는 JSON 파일을 수 없습니다. 이미 자산은 읽기 전용입니다. 그러나 자산 (json 파일 / 에셋의 다른 모든 것)을 모바일의 로컬 저장소에 복사 한 다음 로컬 저장소에서 편집 (쓰기 / 읽기) 할 수 있습니다. 공유 환경 설정 (소량 데이터 용) 및 sqlite 데이터베이스 (대용량 데이터 용)와 같은 더 많은 저장 옵션을 사용할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/3760626/how-to-write-files-to-assets-folder-or-raw-folder-in-android

반응형