分类: LINUX
2009-12-01 00:31:01
仅从标题还不足以概括本教程的核心内容,因为创建一个新的,并整合到现有package中再简单不过了。说正题, Activity究竟是发挥什么作用?带着这个疑问先让我们来对比类似的应用,例如:某些桌面软件在运行初期需要配置程序的初始化配置,这包括从本地读取一些*.config的文件或者从网络服务器读取最新的数据。当我们运行一款游戏的时候,需要核实游戏用户身份,并通过存储在网络服务器中的数据对当前登录的用户完成必要的属性配置,同时游戏客户端也需要下载一些必要的文件来更新当前运行版本等等。返回到今天我们要介绍的主题,为软件增加一个Download Activity来使程序根据需要获取外部的必要资源。
制作一个实现标准Downloader功能的程序非常容易,仅需要修改当前例子中的URL和一个用于存储下载列表的XML文件。以下是Package完整源代码:
Password:androidres
例子中包含的几个主要功能:
两个现实存在的问题(并不影响功能的使用):
通过几个简单的步骤将例子中的Download Activity整合到现存的Package中:
将两个.java文件拷贝到当前Package工程src目录中。
将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.
""
;
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文件,其中包含了需要下载的文件列表和版本号等。
|
这是例子中所使用的config文件(其中包含两个格式 – 某些服务器屏蔽了使用*.config文件的权限,可以更换为xml后缀)
Password:androidres
额外对上边所出现标签的说明:
注意:每个file都可以包含多个子标签 “part” ,其可以方便的对一个庞大的数据文件群,单独的标识文件基本信息。
将之前创建的Config文件和其中所列举的实际文件上传到服务器中指定的地址中。
检查SD Card在当前设备中是否可用,对于应用模拟器的朋友可以根据本站所提供的教程来。
编译!感觉Loading跳动的脉搏…