您的位置:首页 > 移动开发 > Android开发

Android应用程序组件Content Provider应用实例(5)

2011-11-21 00:58 435 查看
接下来再来看程序的配置文件AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="shy.luo.article"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity

android:name=".ArticleActivity"

android:label="@string/article">

</activity>

</application>

</manifest>

编译脚本Android.mk的内容如下所示:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := libArticlesProvider

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := Article

include $(BUILD_PACKAGE)

###################################################

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libArticlesProvider:./libs/ArticlesProvider.jar

include $(BUILD_MULTI_PREBUILT)

这个编译脚本包含了两个部分的指令,一个是把libs目录下的预编译静态库ArticlesProvider.jar编译成一本地静态库libArticlesProvider,它的相关库文件保存在out/target/common/obj/JAVA_LIBRARIES/libArticlesProvider_intermediates目录下;另一个就是编译我们的程序Article了,它通过LOCAL_STATIC_JAVA_LIBRARIES变量来引用前面的libArticlesProvider库,这个库包含了所有我们用来访问ArticlesProvider这个Content Provider中的数据的常量。

下面我们就可以编译和打包这个应用程序了:

USER-NAME@MACHINE-NAME:~/Android$ mmm packages/experimental/Article

USER-NAME@MACHINE-NAME:~/Android$ make snod

这样,打包好的Android系统镜像文件system.img就包含我们这里所创建的Article应用程序了。
最后,就是运行模拟器来运行我们的例子了。关于如何在Android源代码工程中运行模拟器,请参考在Ubuntu上下载、编译和安装Android最新源代码一文。

执行以下命令启动模拟器:

USER-NAME@MACHINE-NAME:~/Android$ emulator

这个应用程序的主界面如下图所示:



在前一个界面的文件列表中,点击某一个文章条目,便可以更新或者删除文章信息条目:



这样,Content Provider的使用实例就介绍完了。这篇文章的目的是使读者对Content Provider有一个大概的了解和感性的认识,在下一篇文章中,我们将详细介绍Article应用程序是如何获得ArticlesProvider这个ContentProvider接口的,只有获得了这个接口之后,Article应用程序才能访问ArticlesProvider的数据,敬请关注。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息