当前位置: 代码迷 >> Android >> Android运用的基本组件介绍
  详细解决方案

Android运用的基本组件介绍

热度:54   发布时间:2016-05-01 19:55:59.0
Android应用的基本组件介绍

android应用的基本组件介绍:

?

1、Activity和View组件:

??? Activity是android应用中负责与用户交互的组件---基本上和Swing中的JFrame控件是一致的,他们的不同点在于:JFrame本身可以设置布局管理器,不断的像JFrame中添加组件,而Activity只能通过setContentView(VIew)来显示指定的组件。

??? View是所有UI控件的基类,View控件就和他的意思一样,就是用户看到的实实在在的部分,但是VIew组件需要放在容器组件中才能显示,或者利用Activity组件来显示,此时需要调用Activity的setContentView(View)方。

??? 例如:

????? LinearLayout Layout= new LinearLayout(this);

?????

??????//设置该ACtivity显示的Layout

?

???? ?super.setContentView(Layout)

?

???同样,setContentView也可以接受一个View的ID作为参数传递;

????

?????super.setContetView(R.Layout.main);

?

?

Activity为安卓提供了可视化的界面,如果你的安卓应用需要多个页面,那么你也就需要多个Activity,这些Activity形成一个堆栈,当前活动的Activity位于最顶端;

?

Activity包含了setTheme(in resid) 方法来设置其窗口的风格,我可以通过改变theme来达到 不显示标题、以对话框的形式显示窗口的目的!

?

?需要注意的是!

?setTheme()方法好像必须在super.onCreate(savedInstanceState)之前调用才管用!

?

?

2、Service

?

????? Service与Activity的地位是并列的,他代表一个单独的Android组件,进一步说,Service通常在后台运行,不需要与用户交互,所以也没有图形用户界面,

????

?????? 与Activity需要继承Activity基类一样,Service也需要继承Service基类,他的有他自己的声明周期,Service的主要任务是提供后台服务,和监听其他组件的运行状态。

?

?

3、BroadcastReceiver

?

???????? BroadcastReceiver是安卓中的另一个重要组件,顾名思义,代表广播接收器。从代码实现功能的角度看,他和监听器是一样的,但是不同的是,监听器是监听的事件源是程序中的对象,而BroadcastReceiver监听的事件源是android中的其他应用组件,

????? 它的用法很简单,只需要实现BroadcastReceiver子类,然后重写onReceiver(Content content, Intent intent)方法就可以实现接收广播消息了。

?

4、Contentprovider

?

??????? Contentprovider可以说是android为了跨应用间的数据交互提供了一个标准,当用户实现自己的Contentprovider时需要实现几个抽样方法:

?

??????? insert(Uri,ContentVlaues);向Contentprovider中插入数据;

??????? delete(Uri,ContentVlaues);删除Contentprovider中的数据;

??????? update(Uri,ContentVlaues,String,String[])更新tentprovider中指定的数据;

?????? ??

?????????? query(Uri,String[],?String,String[],String),从 Contentprovider查询数据。

?

?

5、Intent和IntentFilter

?

????????????? 严格的说Intent并不是android中的组件,但是他对于android的意义又是非常重大的,当Android程序运行需要连接不同的组件是就需要Intent了,Intent可以启动一个Activity,当然也可以启动一个Service,还可以发送一条广播信息出发 BroadcastReceiver。可以说他是这三个组件的载体。

????????? 启动不同组件的不同方法,

?

?

????????? Activity??? startActivity

????????? Service???? sartService

??当需要触发一个 BroadcastReceiver时,可以调用Content的send Broadcast(Intent intent)方法,sendStickBroadcast(Intent intent),sendOrderBroadcast(Intent intent)方法,

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

  相关解决方案