Intent基础篇

博文中参加第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇       

     Android中的应用程序基本组件有Activity(活动)、Services(服务)、BroadcastReceiver(广播接收器)、ContentProvider(内容提供器)、Intent(意图)、Widget(小组间)等。Android平台具有开放性和应用程序平等的特点,这就意味着我们可以方便快捷的利用系统原生的应用或者已经安装了的应用。当我们开发的软件想实现一种功能时,如果系统已经拥有了很优秀的程序,比如你的程序想完成浏览图片的功能就不用自己去开发个看图程序了吧,这就和我们没有必要再去开发轮胎一样,对已经有的资源加以利用能够节省我们的开发时间,减少程序的资源占有量。再或者你在应用程序中有一项需要系统的设置功能,总不能让用户从你的程序中返回桌面再找到“设置”的图标,打开再去找设置项吧?让我们用一个简单的示例看一下Android中用以在不同组件中传递消息的Intent组件。

一:介绍模拟器里面的一个实用工具

在模拟器里面,我们可以找到一个名字是DEV TOOLS的程序,按照下图的步骤,打开Package Browser,浏览到你感兴趣的程序,就可以看到这个程序的结构。

二:代码主体

在main.xml里面简单的放置三个Button按钮

接着看一下我们的java代码

package net.Android;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.Intent;
import android.content.ComponentName;
import android.view.View;
import android.content.ComponentName;
import android.widget.Button;

public class IntentDemoActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        /**给三个按钮设置设置监听*/
        View button1=findViewById(R.id.button1);
        button1.setOnClickListener(this);
        View button2=findViewById(R.id.button2);
        button2.setOnClickListener(this);
        View button3=findViewById(R.id.button3);
        button3.setOnClickListener(this);
    }
/**设置三个按钮被点击时的动作*/
    public void onClick(View v){
    	switch (v.getId()){
/**第一个按钮用来打开计算器程序,利用上面提到的Package Browser,通过setComponent,键入计算器的包名、以及计算器活动的名称*/
    	case R.id.button1:
    		Intent i1=new Intent();
    		i1.setComponent(new ComponentName("com.android.calculator2","com.android.calculator2.Calculator" ));
    		startActivity(i1);
    		break;
/**第二个按钮用来实现打开系统时间设置的功能,基本同上*/
    	case R.id.button2:
    		Intent i2=new Intent();
    		i2.setComponent(new ComponentName("com.android.settings","com.android.settings.DateTimeSettings"));
    		startActivity(i2);
    		break;
/**第三个按钮用来实现启动拨打电话程序的功能,在developer.android.com里面有很多对开发者有帮助的文档,从中我们可以看到开发中所需要的很多知识,在其中搜索Intent,我们可以学到利用Action的方法,Action被广播出去,系统可以选择出我们需要的活动,利用ACTION_DIAL可以启动系统拨号程序*/
    	case R.id.button3:
    		Intent i3=new Intent(Intent.ACTION_DIAL,null);
/**启动拨号程序,这里我们没有指定拨打的号码,但可以通过把添加参数Uri.parse("tel:138********")而不是这个实例中null来实现*/
    		startActivity(i3);
    		break;
    	}
    }
}


下面是运行程序的界面,第二幅以后分别是点击三个按钮得到的结果


Eclipse的模板建议也是一个在编程中很有用的技巧,通过Alt+/来实现模板建议,可以在开发中给我们很多提示,如下图,我们在输入ACTION的时候如果按下Alt+/,IDE会给出建议,从中我们还可以浏览到这些建议的更详尽的知识


三:总结

上面我的示例知识简单的介绍了下用Intent来打开一个本程序外的活动的方法,Intent是开发中很重要的知识,使用它还可以描述Data、Category、Extra等内容。阅读http://developer.android.com中的相关文件可以帮助我们更好的掌握它的知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值