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

        接下来再来看程序的配置文件AndroidManifest.xml:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="shy.luo.article"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  7.         <activity android:name=".MainActivity"  
  8.                   android:label="@string/app_name">  
  9.             <intent-filter>  
  10.                 <action android:name="android.intent.action.MAIN" />  
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.         <activity   
  15.                 android:name=".ArticleActivity"  
  16.                 android:label="@string/article">  
  17.         </activity>  
  18.     </application>  
  19. </manifest>  
        编译脚本Android.mk的内容如下所示:
  1. LOCAL_PATH:= $(call my-dir)  
  2. include $(CLEAR_VARS)  
  3.   
  4. LOCAL_MODULE_TAGS :optional  
  5.   
  6. LOCAL_STATIC_JAVA_LIBRARIES :libArticlesProvider  
  7.   
  8. LOCAL_SRC_FILES := $(call all-subdir-java-files)  
  9.   
  10. LOCAL_PACKAGE_NAME :Article  
  11.   
  12. include $(BUILD_PACKAGE)  
  13. ###################################################  
  14. include $(CLEAR_VARS)  
  15.   
  16. LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :libArticlesProvider:./libs/ArticlesProvider.jar  
  17.   
  18. 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中的数据的常量。
 
        下面我们就可以编译和打包这个应用程序了:
  1. USER-NAME@MACHINE-NAME:~/Android$ mmm packages/experimental/Article      
  2. USER-NAME@MACHINE-NAME:~/Android$ make snod   
        这样,打包好的Android系统镜像文件system.img就包含我们这里所创建的Article应用程序了。
        最后,就是运行模拟器来运行我们的例子了。关于如何在Android源代码工程中运行模拟器,请参考在Ubuntu上下载、编译和安装Android最新源代码一文。       
 执行以下命令启动模拟器:
  1. USER-NAME@MACHINE-NAME:~/Android$ emulator    
        这个应用程序的主界面如下图所示:
Android应用程序组件Content Provider应用实例(5)
 在前一个界面的文件列表中,点击某一个文章条目,便可以更新或者删除文章信息条目: 
Android应用程序组件Content Provider应用实例(5)
        这样,Content Provider的使用实例就介绍完了。这篇文章的目的是使读者对Content Provider有一个大概的了解和感性的认识,在下一篇文章中,我们将详细介绍Article应用程序是如何获得ArticlesProvider这个ContentProvider接口的,只有获得了这个接口之后,Article应用程序才能访问ArticlesProvider的数据,敬请关注。




本文转自 Luoshengyang 51CTO博客,原文链接:http://blog.51cto.com/shyluo/966946,如需转载请自行联系原作者
上一篇:51 Nod 1791 合法括号子段【分治+字符串】


下一篇:安卓自动化测试案例(跑在MonkeyRunner上)