android学习笔记(4)Activity 和 View ,Service 三大组件详解

2014-12-1 15:42:42     23 人阅读    

         Activity是Android应用中负责与用户交互的组件——学过java 图形界面开发的朋友可以把它想象成Swing 编程中的JFrame控件。不过它与JFrame的区别在于:JFrame本身可以设置布局管理器,不断地向JFrame屮添加组件,但Activity只能通过setContentView(View)来显示指定组件。
       

         View组件是所有UI控件、界器控件的基类,View组件就是Android应用中展示给用户的部分(例如:按钮、图片按钮、下拉框等等)。但View组件需要放到容器组件中,或者使用Activity将它显示出来。如果需要通过某个Activity把指定View显示出来,调用Activity的setContentView()方法,把view传递到Activity 中展示 setContentView方法可接受一个View对象作为参数,前面说到JFrame 的就相当于Activity + view的功能.之所以在android中分开,主要是为了mvc模式 ,更好的进行设计. 例如如下代码:

//创建一个线性布局管理器
LinearLayout layout = new LinearLayout(this);
//设定该 Activity 采用该布局管理器 layout super.setContentView(layout);

        

         上面的程序通过代码创建了一个LinearLayout对象(它是ViewGroup的子类,ViewGroup又是View的子类),接着调用Activity的setContentView(layout)把这个布局管理器示出来。

     

setContentView()方法也可以接受一个布局管理资源的ID作为参数,例如如下代码:
     //设置该Activity M示main.xml文件定义的View setContentView(R.layout.main);


         从这个角度来看,人致上可以把Activity理解成Swing中的JFrame组件。当然,Activity 可以完成的功能比JFrame更多,此处只是简单地类比一下。

         实际上Activity是Window的容器,Activity包含一个getWindow()方法,该方法返回该Activity所包含的窗口。对于Activity而言,开发者一般不需要关心 Window对象。如果应用程序不调用Activity的setContentView()来设置该窗口显示的内容,那么该程序将显示一个空窗口。

 

         Activity为Android应用提供了可视化用户界面,如果该Android应用需要多个用户界面,那么这个Android应用将会包含多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶。

 

         Activity包含了一个setTheme(int resid)方法来设置其窗UI的风格,例如我们希望窗口不 显示标题、以对话框形式显示窗口,都可通过该方法来实现。


Service
         Service与Activity的地位是并列的,它也代表一个单独的Android组件。Service与Activity 的区别在于:Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有 图形用户界面。

         与Activity组件需要继承Activity基类相似,Service组件需要继承Service基类。一个 Service组件被运行起来之后,它将拥有自己独立的生命周期,Service组件通常用于为其他 组件提供后台服务或监控其他组件的运行状态。


原文地址:http://www.itmmd.com/201412/238.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

linux命令详解(5)yum命令大全   上一篇
下一篇  Spring mvc新手入门(7)-Spring jdbc DB.java类功能详解

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!