你好!本人是Android studio编程初学者 ,最近自己尝试在做一个APP,已经可以实时
显示我希望得到的数据了,但是我想将希望得到的实时显示的数据保存下来,保存到文件
中就行,这是代码:
package com.gdy.filepersistencetest;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class MainActivity extends Activity {
private EditText edit;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edit = (EditText)findViewById(R.id.edit);
}
@Override
protected void onDestroy(){
super.onDestroy();
String inputText = edit.getText().toString();
saveToSDCard("wxhn",inputText);
}
// save infomation in the SDCard
public boolean saveToSDCard(String fileName, String content) {
// judge weather the SDCard exits,and can be read and written
if (!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
return false;
}
FileOutputStream fileOutputStream = null;
File file = new File(Environment.getExternalStorageDirectory(),
fileName);
try {
fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(content.getBytes());
return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileOutputStream != null) {
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return false;
}
}
可是当我将APP安装到手机上,找不到我保存的数据,不知道是不是没保存还是我没找到,请大神指导!!
第一你要加上写入SD卡的权限,第二sdk版本过高,不让直接操作sd的其他目录,只能写在应用程序对应的目录下,用这个来获取对应的目录getExternalFilesDir()
你好!非常感谢!上面的代码只是我为了保存数据做的一个小的实验,我实时显示的数据是通过append实现的,请问我这种方法将实时显示的数据保存
可行吗?我还有个问题 ,就是这种方法刚刚我已经调通了,但是每次新的内容会将旧的内容覆盖,请问有什么方式可以不覆盖吗?多谢!!!