지구화 저장 기술의 로컬 저장
7948 단어 Android
1. 파일 저장: 모든 데이터를 파일에 고스란히 저장한다.
사용 범위: 간단한 텍스트 데이터나 이진 데이터를 저장합니다.복잡한 데이터를 저장하려면 나중에 파일에서 데이터를 다시 해석할 수 있도록 자신의 형식 규범을 정의해야 한다.
장점: 대량의 데이터를 저장할 수 있어 비교적 안정적이고 저장이 편리하며 조작이 간단하고 안전하다(접근 권한을 제어할 수 있기 때문이다).
단점: 파일 업데이트나 형식 변경은 커다란 프로그래밍 작업을 초래할 수 있습니다.사용 방법:
1. 파일에 데이터 저장
Context 클래스는 지정한 파일에 데이터를 저장할 수 있는 OpenFile Output () 방법을 제공합니다.이 방법은 두 개의 파라미터를 수신합니다. 첫 번째 파라미터는 파일 이름입니다. 파일을 만들 때 사용하는 이름이 바로 이 이름입니다. 여기에 지정한 파일 이름은 경로를 포함할 수 없습니다. 모든 파일은/data/fata/files/디렉터리에 기본적으로 저장되어 있기 때문입니다.두 번째 매개변수는 두 가지 모드로 선택할 수 있는 파일의 작업 모드입니다. MODEPRIVATE 및 MODEAPPEND.여기서 MODEPRIVATE는 동일한 파일 이름을 지정할 때 기록된 내용이 원래 파일의 내용을 덮어쓴다는 기본 작동 모드입니다.MODEAPPEND는 파일이 이미 존재하면 파일에 내용을 추가하고 존재하지 않으면 새 폴더를 만듭니다.OpenFile Output () 방법 반환값은 File OutputStream 대상입니다. 이 대상을 얻으면 자바 흐름으로 데이터를 파일에 쓸 수 있습니다.
//
public void saveData(String data) {
try {
//
// :
// :
fileOutput = openFileOutput("data", Context.MODE_PRIVATE);
//
writer = new BufferedWriter(new OutputStreamWriter(fileOutput));
try {
//
writer.write(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
2.파일에서 데이터 읽기Context 클래스에서는 파일에서 데이터를 읽을 수 있는 OpenFileInput () 방법을 제공합니다.
그것은 읽을 파일 이름의 매개 변수만 수신합니다.그리고 시스템은 자동으로/data/data/files/디렉터리에 이 파일을 불러오고 File Input Stream 대상을 되돌려줍니다. 이 대상을 얻은 후에 자바 흐르는 방식으로 데이터를 읽을 수 있습니다.
4
//
public String loadData() {
try {
// :
fileInput = openFileInput("data");
//
reader = new BufferedReader(new InputStreamReader(fileInput));
// StringBuilder
content = new StringBuilder();
String line = "";
try {
while ((line = reader.readLine()) != null) {
content.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return content.toString();
}
2, SD 카드 스토리지파일 저장소와 기본적으로 같지만 경로가 다르고 권한을 추가해야 합니다.
android:name = "android.permission.READ EXTERNAL STORAGE"/> android:name = "android.permission.WRITE EXTERNAL STORAGE"/> 첫 번째 권한은 읽기 권한이고 두 번째 권한은 쓰기 권한입니다.만약 두 번째 권한이 성명된다면, 보통 첫 번째 권한은 성명하지 않을 수 있다.
4
// Environment sdcard
File file = Environment.getExternalStorageDirectory();
물론 SD카드를 사용하기 전에 SD카드가 마운트되었는지 여부를 판단하는 것이 좋다. 이후에 SD카드가 마운트된 후에야 SD카드의 읽기와 쓰기를 할 수 있다.if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
//SD
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.