直接存储到 android 中的文件?
Storing directly to file in android?
我一直在开发儿童监控应用程序,但我不知道如何store/write 将通话记录直接提取到 external/internal 存储
中的文件中
正如您在问题中所评论的那样,这是一个非常广泛的问题,但请看一下这个 google 开发人员 link
https://developer.android.com/training/basics/data-storage/files.html
它会让你清楚地了解你的问题,你也会得到你的答案以及详细的代码
希望对您有所帮助:)
您应该使用文件 URI 以避免 android 安全问题。这样您就可以在其他应用程序中使用这些文件(向它们授予权限)
首先,将其放入您的 android-清单中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/
然后您需要在应用程序标签中定义文件提供程序:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.yourpackagename.yourapp"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
file_path 资源应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="YourAppCacheStorage"
path="YourAppCacheStorage"/>
</paths>
然后您就可以随时获取您的文件 URI。
public Uri getUriForFile(File file, Context context) {
final Uri uriForFile = FileProvider.getUriForFile(context,
context.getString(R.string.file_provider_authority),
file);
return uriForFile;
}
此 uri 可用于打开 Input\Output 文件流。
InputStream inputStream = this.context.getContentResolver().openInputStream(uri);
您可以在那里获得更多信息:https://developer.android.com/reference/android/support/v4/content/FileProvider.html
我一直在开发儿童监控应用程序,但我不知道如何store/write 将通话记录直接提取到 external/internal 存储
中的文件中正如您在问题中所评论的那样,这是一个非常广泛的问题,但请看一下这个 google 开发人员 link
https://developer.android.com/training/basics/data-storage/files.html
它会让你清楚地了解你的问题,你也会得到你的答案以及详细的代码
希望对您有所帮助:)
您应该使用文件 URI 以避免 android 安全问题。这样您就可以在其他应用程序中使用这些文件(向它们授予权限)
首先,将其放入您的 android-清单中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/
然后您需要在应用程序标签中定义文件提供程序:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.yourpackagename.yourapp"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
file_path 资源应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="YourAppCacheStorage"
path="YourAppCacheStorage"/>
</paths>
然后您就可以随时获取您的文件 URI。
public Uri getUriForFile(File file, Context context) {
final Uri uriForFile = FileProvider.getUriForFile(context,
context.getString(R.string.file_provider_authority),
file);
return uriForFile;
}
此 uri 可用于打开 Input\Output 文件流。
InputStream inputStream = this.context.getContentResolver().openInputStream(uri);
您可以在那里获得更多信息:https://developer.android.com/reference/android/support/v4/content/FileProvider.html