第一步,
将两个.java文件拷贝到当前Package工程src目录中。
- PreconditionActivityHelper.java
- DownloaderActivity.java
将res/values/string.xml中所定义的数据与现有string.xml的数据合并。
第二步,
将下边的代码加入到主Activity的onCreate()方法中。
1 if (! DownloaderActivity.ensureDownloaded(this,
2 getString(R.string.app_name), FILE_CONFIG_URL,
3 CONFIG_VERSION, DATA_PATH, USER_AGENT)) {
4 return;
5 }
然后再将这些Final Static变量添加到主Activity类中。这些变量定义了config文件的URL,以及在SD Card中存放文件的地址等。
1 /**
2 * Fill this in with your own web server.
3 */
4 private final static String FILE_CONFIG_URL =
5 "http://example.com/download.config";
6 private final static String CONFIG_VERSION = "1.0";
7 private final static String DATA_PATH = "/sdcard/data/downloadTest";
8 private final static String USER_AGENT = "MyApp Downloader";
第三步,
通常在创建一个新的Package时,都需要考虑Package所需要的Permission,因为这个涉及到之后我们所调用的某些功能是否被允许在用户终端调用。
添加两个标签:
增加所需要的Permission
添加DownloaderActivity
第四步,
依据下列格式创建一个Config文件,其中包含了需要下载的文件列表和版本号等。
- version: 用于与传递到DownloaderActivity.ensureDownloaded()方法中的CONFIG_VERSION参数进行比对。
- src: 可以使用相对地址或者绝对地址来提供文件源。
- dest: 用于与传递到DownloaderActivity.ensureDownloaded()方法中的DATA_PATH参数进行比对。
- size: 作为一个可选参数,用于注释文件大小。如果包含了size参数,那么将会对之后的操作提高一定的效率。
- md5: 也是一个可供选择的参数,主要是用来确保从外部所得到的数据被准确的保存在本地存储设备中。
注意:每个file都可以包含多个子标签 “part” ,其可以方便的对一个庞大的数据文件群,单独的标识文件基本信息。
第五步,
将之前创建的Config文件和其中所列举的实际文件上传到服务器中指定的地址中。
第六步,
检查SD Card在当前设备中是否可用,对于应用模拟器的朋友可以根据本站所提供的教程来创建虚拟SD Card。
标签:DownloaderActivity,文件,String,程序,private,实例,static,CONFIG,下载 From: https://blog.51cto.com/u_16166892/6528227