gpt4 book ai didi

android - 如何将数据写入文件并从应用程序外部访问它(没有 SD 卡)?

转载 作者:行者123 更新时间:2023-11-30 04:31:27 28 4
gpt4 key购买 nike

我对 Android 编程和为我的文凭论文编写我的第一个应用程序还很陌生。现在我几乎完成了,但还剩下一件事,我无法在网上的任何地方得到答案。所以也许这里有人可以提供帮助。

我的应用程序必须做的部分工作是将先前操作的结果写入可自由访问的文件以供日后分析。所以到目前为止,我可以使用以下代码将文件写入 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 卡升级手机,请查看 this关联。它说写入内部存储的文件不能被其他应用程序访问,但如果您继续阅读,您可以设置其他标志:

MODE_PRIVATE will create the file (or replace a file of the same name) and make it private to your application. Other modes available are: MODE_APPEND, MODE_WORLD_READABLE, and MODE_WORLD_WRITEABLE.

关于android - 如何将数据写入文件并从应用程序外部访问它(没有 SD 卡)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7627739/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com