Android编程五要诀:Activity、Service、BroadcastReceiver、ContentProvider、Intent

我刚开始接触Android的时候,怎么入手是一点想法也没,如果说是直接从SDK文档入手,那从哪里看起呢?如果是网上找例子,那又该找哪种例子来学习呢?两种方法都很好。我当时是跟了一个项目,跟着项目做,以项目带动学习,这其实是超好的方法,也是学习很快的方法。如果没有项目怎么办呢,可以自己定一个任务,然后做出来,呵呵,放心,只要能想出来的,只管做,即便是自己做遍实验查遍网站也做不出来的话,那么就证明了Android的确做不出来,这也会学到很多东西的,不信自己可以试试(好比我想让照相机竖屏加载,结果证明是很难做到,甚至是做不到的,就是这样,详见:Android照相机竖屏研究引导http://hi.baidu.com/juwend/blog/item/9977a8f69dff2229730eec6b.html)。

       经过一段时间的学习,我对Android有了更深刻的理解,我们可以根据Android SDK的引导(官网:http://developer.android.com/guide/topics/fundamentals.html,本地:本地SDK/guide/topics/fundamentals.html)列出Android的5个关键类,也就是把Android应用开发入手方向大致划分成了5个大块,正如本文标题写的一样——Activity应用活动、Service后台服务、BroadcastReceiver广播接收、ContentProvider数据支持(外部数据)、Intent意图(活动桥),在此也感谢《Google Android 开发入门与实战》给我的启发(书挺贵的,例子较基础,大多围绕SDK展开,但是代码格式不怎么规范,应该是排版搞出来的问题,最有价值的是书最后的几个项目例子,能学到不少东西,很感谢书的作者提供了这些东西)。

        下面就简略讲讲这5个关键块,详细的可以见其各自的文档说明:
        1. Activity:应用活动(官网:http://developer.android.com/reference/android/app/Activity.html,本地:本地SDK/reference/android/app/Activity.html
             Activity几乎承接着用户对应用程序(Application)的所有操作,Activity应该有一个窗口(Window),这个窗口是可以通过不用的主题(Theme)改变样子的。Activity应该要注意它的生命周期(Lifecycle)、设备状态(Configuration)改变时的影响以及运行状态和数据的保存,这个在一个应用程序是否可靠和人性化上至关重要。Activity里还应该要申明一些许可(Permissions),以便使用Android的一些软硬件功能,这些申明可以由代码或者Manifest.xml给出。最后,每个Activity(的入口)一定要在Manifest当中申明。
        2. Service:后台服务(官网:http://developer.android.com/reference/android/app/Service.html,本地:本地SDK/reference/android/app/Service.html
            Service是没有界面的程序,它是所谓的服务,也叫后台程序。应该要非常注意Service的启动(startService)和绑定(bindService)这两种开启Service的方法之间的关系以及Service对应的生命周期,两种开户Service的方法对Service的生命周期效果是不同的。还有就是申明许可以及申明Service,也是在代码内或者Manifest内申明。
        3. BroadcastReceiver:广播接收(官网:http://developer.android.com/reference/android/content/BroadcastReceiver.html,本地:本地SDK/reference/android/content/BroadcastReceiver.html
             广播接收并不是通常所说的无线电广播,而是指由sendBroadcast()所发送出来的意图(Intent),即广播在这里的意思是意图,BroadcastReceiver在注册(Registe)之后可以自动监听符合预先给定的条件的意图,如果有则会通知此BroadcastReceiver的持有程序。
        4. ContentProvider:数据支持(外部数据)(官网:http://developer.android.com/reference/android/content/ContentProvider.html,本地:本地SDK/reference/android/content/ContentProvider.html
             ContentProvider是作保存应用程序数据和建立维持数据库之用,以便程序重新启动时回到以前的状态或者保存信息。应该注意应用程序的使用权限以及SQL语言的使用,Android用的是一个轻量级的数据库系统SQLite。
        5. Intent:意图(活动桥)(官网:http://developer.android.com/reference/android/content/Intent.html,本地:本地SDK/reference/android/content/Intent.html
             Intent是Android应用开发里很重要的一个元件,很多书上以直译来解释,不太好理解,我觉得可以译为“活动桥”,也就是连接两个活动(Activity)的桥梁(Bridge)。通过Intent可以从一个Activity来启动另一个任意的Activity,不管是自己定义的还是系统定义的。在ActivityGroup(extends Activity)里面,Intent的flag设置对于子Activity的启动方式至关重要。

        我觉得不管是学习还是开发,从这5个关键分类入手是比较好的,条理清楚,很容易的抓住重点,也不会产生问题。当然,这5个大类只是Android应用开发里范畴很大的5个方面,其下还有很多很多需要专研的子分类,要想学得很厉害的Android应用开发,还是得专研它们的子方面,就是这样。      

        后记:初时,项目组给了两个简单的热手题目,一是做Android系统上的简单浏览器,这个东西其实是在SDK文档Hello View中有的例子(官网上的网址:http://developer.android.com/resources/tutorials/views/hello-webview.html,然后是本地的地址:本地SDK\docs\guide\tutorials\views\hello-webview.html,Hello View里面的例子用到时可以好好看看,很好用),当时不知道,就还网上找啊找,找啊找,二是做Android系统上的简单聊天室,这个涉及到服务端与客户端的问题了(PHP服务搭建可见:APMServ搭设PHP服务器http://hi.baidu.com/juwend/blog/item/48890045925be189b2b7dcb5.html),聊天室具体的参考代码我将在以后的文章中写出。    

                                               Android编程五要诀:Activity、Service、BroadcastReceiver、ContentProvider、Intent —— Juwend     笔者水平有限,若有错漏,欢迎指正,欢迎转载以及CV操作,但希注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值