自学Android四个月,过程也是坎坷万千。从刚开始的安装ADT要几天,到现在能敲一点能用的东西,感觉学的东西也很有限,总是在纠结学习方法的问题。后来跟做ios的同学交流过后,觉得定期写一点技术性的博客,对自己的学习是有很大帮助的。
一、你要定期的学东西才能有定期的东西可以写,可以解决因为杂事导致学习不连贯的问题,起到监督作用。
二、自己只有懂了、理解了这个点才能写出自己的理解,才能分享给大家,听大家灌水。
三、可以把平时看到的好的文章或者自己好的想法也记录下来,以后也可以随时看到。所以就开始了自己的技术博客之旅。。。
Android应用程序中最令人兴奋的特性就是可以利用其他Android应用程序中的资源。Andoird程序没有main函数,取而代之的是一系列的组件,这些组件都可以单独实例化,关于Android四大组件,我们都知道是Activity(窗口),Content Provider(内容提供者),Broadcast Receiver(广播接收者),Service(服务)。并不是所有的程序或应用都会用到这四大组件,但是我们需要在概念上对这四大组件有个基本的了解,待用到时再做深究。
Activity(窗口),Activity类可以显示一个窗口,该类的全名android.app.Activity。Activity相当于C/S程序中的窗体(From)或Web程序的页面。每一个Activity提供了一个可视化的区域,在这个区域中可以放置各种Android控件,例如按钮、图像、文本等。
在Activity类中有一个onCreate方法,一般在该方法中对Activity进行初始化。通过setContentView方法可以将Activity与View绑定,setContentView方法的参数一般为XML布局文件的资源ID。实际上,Activity上并不能自己放控件,而必须将控件放到与Activity绑定的View上。一个带界面的Android应用程序可以由一个或者多个Activity组成,至于这些Activity如何工作,或者他们之间有什么依赖关系,则完全取决于应用程序的业务逻辑,例如,一种典型的设计方案是把一个Activity设为主Activity,在这个Activity中通过菜单、按钮等方式启动其他的Activity。每一个Activity都会有一个小窗口,在默认情况下,这个窗口是充满整个屏幕的,也可以将窗口变得比手机屏幕小,或者悬浮在其他窗口之上。
Service(服务),服务没有可视化窗口,但可以在后台运行。例如,当用户进行其他操作时,可以利用服务在后台播放音乐,或者完成一些不需要用户干预的工作。每一个服务类必须继承自android.app.Service类。
例如手机中的播放软件的软件,在这类软件中往往会有循环播放的功能,虽然在软件中可能会有通过按钮获菜单控制的功能,但是用户可能会一边放音乐,一边在手机上做其他的事情。例如与朋友聊天、看小说等。在这种情况下,用户不可能当一首歌放完后再回到软件界面去进行重新播放的操作。因此,可以在播放音乐的软件中启动一个服务,由这个服务来控制音乐的循环播放。而且服务对用户是完全透明的,这样用户完全感觉不到后台的服务。甚至可以在音乐播放软件关闭的情况下,仍然进行播放后台的背景音乐。除此之外,其他的程序还可以与服务进行通信。当与服务连接成功后,就可以利用服务中共享出来的接口与服务进行通信了。例如,控制音乐播放的服务允许用户暂停、重放、停止音乐的播放。Broadcast Receiver(广播接收者),广播接收者组件唯一的功能就是接受广播消息。有很多时候,广播消息是由系统
Content Provider(内容提供者),内容提供者可以为其他程序提供数据,这些数据可以保存在文件系统中,例如SQLite数据库或者任何其他格式的文件。每一个内容提供者是一个类,这些类都需要从android.content.ContentProvider类继承。 在ContentProvider类中定义了一系列的方法,通过这些方法可以使其他的应用程序获得和存储内容提供者所支持的数据。但是在应用程序中不能直接调用这些方法,而是需要通过android.content.ContentResolver类的方法来调用内容提供者类中提供的方法。
Braoadcast receivers(广播接收者),广播接收者的唯一功能就是接收广播消息。通常我们都是接收由系统发出的广播消息。例如,时区的变化,电池电量的不足,收到短信等。除此之外,应用程序还可以发送自定义广播消息,例如通知其他程序数据已经下载完毕,并且这些数据已经可以使用了。
一个应用程序可以有多个广播接收者,所有的广播接收者必须继承自android.content.BroadcastReceiver类。广播接收者与服务一样,都没有用户接口,但是在广播接收者中可以启动一个Activity来响应广播的消息,例如,通过显示一个Activity对用户进行提醒。当然,也可以采用其他的方法或几种方法的组合来提醒用户。例如,闪屏、震动、响铃、播放音乐等。
第一次的技术博客是纯文字性的东西,没有放代码,也是讲些概念性的东西,很简单,但是是第一次。希望自己可以坚持下去。