将外部内容包含到 Android 项目

Include external content to Android project

可以将外部内容(例如包含地图的 Zip)添加到 Android 项目,并在应用程序第一次启动时将其移动到 storage/emulated/0 或 /sdcard/ 或其他通用路径?怎么样?

您可以将您的 zip 文件放在 assets 文件夹中,然后验证该文件是否已存在于您的通用路径中,如果不存在则从副本开始。

要在 Android Studio 中创建资产文件夹:

在 Android 视图中右键单击您的应用程序文件夹 > 新建 > 新建文件夹 > 资产文件夹 > 按完成.

将您的 zip 文件粘贴到此处,它将包含在您下一个生成的 apk 文件中。

this question中,Nermeen提供了一种访问assets文件夹中文件的好方法,代码如下:

This will list all the files in the assets folder:

AssetManager assetManager = getAssets(); 
String[] files = assetManager.list(""); 

This to open a certian file:

InputStream input = assetManager.open(assetName);

然后您可以检查文件是否已经被复制。您可以检查以下任何答案来完成。

How to copy files from 'assets' folder to sdcard?

Copy directory from Assets to local directory