1
我是Android编程的新手,为我的毕业论文编写我的第一个应用程序。 现在我几乎完成了,但还剩一件事,我无法在网上的任何地方得到答案。所以也许这里有人可以帮忙。如何将数据写入文件并从应用程序外部访问(无SD卡)?
我的应用程序必须做的一部分是将以前操作的结果写入可自由访问的文件以供日后分析。 所以我走到这一步,是我能够写一个文件到SD卡用下面的代码:
String packageName = this.getClass().getPackage().getName();
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/Android/data/" + packageName + "/files/";
if (isExternalStorageAvailable() && isExternalStorageWritable())
{
String filename = "_results.dat";
boolean exists = (new File(path)).exists();
if (!exists)
{
new File(path).mkdirs();
}
// Open output stream
FileOutputStream fOut = new FileOutputStream(path + filename,true);
fOut.write("lalala".getBytes());
etc.
}
public static boolean isExternalStorageAvailable()
{
// Retrieving the external storage state
String state = Environment.getExternalStorageState();
// Check if available
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{
return true;
}
return false;
}
public static boolean isExternalStorageWritable()
{
// Retrieving the external storage state
String state = Environment.getExternalStorageState();
// Check if writable
if (Environment.MEDIA_MOUNTED.equals(state))
{
return true;
}
return false;
}
该文件以后可以访问,复制,等等。就像我想要的那样。现在的实际问题是:
有没有办法实现这一目标,而不在手机的SD卡?或者我只能写入“应用程序内存”(这不能满足我的需求)? 我只问,因为目前还没有SD卡在我要部署应用程序的手机中。我们必须决定是否必须'升级'设备:)。
SD卡或其他外部存储是非常普遍的Android手机。如果不知道,我会说,所有Android手机中的90%都有外部存储。 –