Java 无法将我的文件保存到手机存储区
嗨,我在Android Studio上制作应用程序时遇到问题。我希望用户输入一些文本,然后单击save按钮,该按钮将文本文件保存在我的手机上。我有下面的代码运行没有任何错误,但它没有做任何事情。我找不到应该保存的文件Java 无法将我的文件保存到手机存储区,java,android,Java,Android,嗨,我在Android Studio上制作应用程序时遇到问题。我希望用户输入一些文本,然后单击save按钮,该按钮将文本文件保存在我的手机上。我有下面的代码运行没有任何错误,但它没有做任何事情。我找不到应该保存的文件 public class TakeNotes extends Activity implements View.OnClickListener { String content = ""; File file; FileOutputStream outputStream; Tex
public class TakeNotes extends Activity implements View.OnClickListener {
String content = "";
File file;
FileOutputStream outputStream;
TextView tv;
Button btnSave;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.take_notes);
tv = (TextView) findViewById(R.id.txtInput);
btnSave = (Button) findViewById(R.id.btnSave);
btnSave.setOnClickListener(this);
}
public void onClick(View v) {
if (v == findViewById(R.id.btnSave)) {
try {
file = new File(Environment.getExternalStorageDirectory(), "test.txt");
outputStream = new FileOutputStream(file);
outputStream.write(content.getBytes());
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
您应该在
AndroidManifest
中包含权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
您需要在Android 6.0(API级别23)及更高版本中添加运行时权限 这是
WRITE\u EXTERNAL\u STORAGE
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
Log.d(TAG,"Permission is granted");
return true;
}
像这样请求许可
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
以下是文档在我的清单中也有此权限:将其放入
onCreate()