Android的编程界面相当直截了当,只要了解Activity和View,就可以写出可用的应用。不过这还不够。Android是一种手机操作系统,它提供了对各种与联网及通讯相关的支持。善用这些支持,才能开发出贴近移动应用特点的程序。

在Android的种种编程概念中,尤为值得注意的是Intent。Intent的英文词义是“意图”,而在Android的编程框架里面,也正是体现“想要做某事”的概念。它的作用是在Activity之间传递数据,或者说,通过传递数据,达到请求另一Activity执行某种操作的目的。下面以一个例子来展示Intent的应用。

应用场景:某个手机阅读器程序,读者看到一篇文章,觉得不错,想要与朋友分享。

应用展现:按手机的Menu键,弹出“分享”菜单,点击后显示一系列分享方式(短信、E-mail等)。

背景知识:Android上不同程序里面的Activity之间可以互相调用。你可以在自己的程序中,调用短信程序,发送一条短信。调用的方式就是向系统提出请求,系统会去调用适当的程序Activity。

以下是源代码:

package com.ghstudio.sharetest;

import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class Main extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

/*创建菜单 */
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0,0,0,"分享");
return true;
}

public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case 0:
Intent intent=new Intent(Intent.ACTION_SEND);

intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, “分享”);
intent.putExtra(Intent.EXTRA_TEXT, "I would like to share this with you...");
startActivity(Intent.createChooser(intent, getTitle()));
return true;
}
return false;
}
}

代码解析:首先创建一个Options菜单,该菜单只有一个项“分享”。当点击菜单项时,创建一个Intent。该Intent设置为发送给支持ACTION_SEND的Activity。用两个putExtra给Intent设置了SUBJECT和TEXT的数据,再用startActivity方法让系统调用适当的Activity执行之。createChooser方法接受Intent做参数,也同时接纳了Intent里面要求的filter(ACTION_SEND),只有支持ACTION_SEND的Activity才会被列入可选列表。

执行截图:

图一 按下Menu键,显示分享菜单

图二 显示支持ACTION_SEND的程序列表

图三 点击“信息”后,进入短信界面


作者:lganggang131 发表于2012-3-14 9:38:14 原文链接 阅读:13 评论:0 查看评论

更多相关文章

  1. Android(安卓)程式开发:(一)详解Activity —— 1.1生命周期(前言)
  2. android原生和H5交互(转)
  3. Android(安卓)启动流程
  4. Android(安卓)call setting 源码分析 从顶层到底层(下)
  5. android 资源
  6. Android(安卓)Service组件(1)
  7. Android(安卓)Media (Audio) Framework Analyse
  8. Android(安卓)NDK 使用第一步,编译c文件,声明jni并调用。
  9. android与Unity3d交互

随机推荐

  1. android input设备event处理以及hotplug
  2. android 适配器里面的按钮点击切换
  3. Android Studio使用新的Gradle构建工具配
  4. Android有趣的全透明效果--Activity及Dia
  5. Android Studio 1.0尝鲜
  6. Android studio快捷键设置为Eclipse风格
  7. Android手机防止休眠
  8. Android(安卓)input处理机制(二)改键机制
  9. Android开发UI之在子线程中更新UI
  10. Android读写文件汇总