ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:74.34KB ,
资源ID:4817559      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4817559.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android中的互联网应用.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Android中的互联网应用.docx

1、Android中的互联网应用Intent的中文意思是“意图,意向”,可以把它理解为不同组件之间通信的“媒介”或者“信使”。也就是“把我的意思/意图告诉它”。举个例子来说吧,一位姑娘想找个对象,然后她找了一个媒婆,把她的要求(四有新人,即有型、有钱、有车、有房)告诉了这位媒婆,然后媒婆按照她的要求去寻找目标对象。在这里的“姑娘”是源组件(例如,一个activity),“媒婆”是intent,“目标对象”是目标组件。这样源组件通过intent找到了目标组件。目标组件要通过intent来声明自己的条件,一般通过组件的元素来实现。Intent到底都能干什么呢?Intent可以启动一个activity,

2、也可以启动一个service,还可以发起一个广播(Broadcast)。具体方法如表所示。Intent启动不同组件的方法组件名称方法名称ActivitystartActivity()startActivityForResult()ServicestartService()bindService()BroadcastssendBroadcast()sendOrderedBroadcast()sendStickycast()Intent由以下几个部分组成:动作(Action)、数据(Data)、分类(Category)、类型(Type)、组件(Component)和扩展信息(Extra)。通过这些

3、可以启动其他组件并携带信息。Intent在寻找目标组件时有两种方法:第一,通过组件名称直接指定;第二,通过Intent Filter过滤指定,还是上面那个姑娘找对象的例子,可以有两种方法:第一,姑娘告诉媒婆我就找张三了;第二,姑娘提出条件(如要四有新人),那么就要在符合条件的人中过滤筛选。Intent对象及其属性Intent是对它要完成操作的一种抽象描述,我们可以使用Intent来启动一个Activity、发起一个Broadcast和启动或绑定一个Service。Intent使应用程序代码在运行时动态绑定成为可能,这也降低了不同代码之间的耦合性。Intent最常使用的方法是用来启动一个Acti

4、vity。Intent封装了它要执行动作的属性,这些属性最常见的是Action和Data。Intent的ComponentName属性在后续的内容中我们将介绍Intent的查找组件策略,其中的一种方法是显式查找,就是直接通过组件名称(Component name)来查找。Intent的组件名称对象由ComponentName类来封装,组件名称包含包名称和类名称,被声明在AndroidMainfest.xml文件中。组件名称通过setComponent()、setClass()、setClassName()设置,通过getComponent()获得。 下面我们通过一个实例来演示Intent组件名

5、称属性的使用,该实例是通过一个组件名称来直接启动一个Activity的。实例步骤说明如下。 创建一个名为intent_CompentNameDemo的项目。在工程的reslayout目录下创建一个main.xml布局文件,在其中添加一个Button组件。在“com.yidu.demo”包中创建一个MainActivity类。 package com.yidu.demo;import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.os.B

6、undle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/* * * author admins 测试intent的CompentName属性 */public class MainActivity extends Activity Button btn; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); /

7、设置视图布局 setContentView(R.layout.main); / 根据布局文件中的配置产生Button按钮 btn = (Button) findViewById(R.id.myButton01); / 为按钮添加监听器 btn.setOnClickListener(new OnClickListener() Override public void onClick(View v) /* * 实例化组件名称 new ComponentName(当前Activity对象,需要传递到的Activity) */ ComponentName cn = new ComponentName(

8、MainActivity.this, com.yidu.demo.MyActivity); / 实例化Intent对象 Intent intent = new Intent(); /为intent设置组件名称属性 intent.setComponent(cn); /启动Activity startActivity(intent); ); 在该工程的reslayout目录下创建一个布局文件my_layout.xml,在其中添加一个TextView组件。 在该工程中创建另外一个名为MyActivity的类。package com.yidu.demo;import android.app.Activ

9、ity;import android.content.ComponentName;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class MyActivity extends Activity private TextView tv; Override protected void onCreate(Bundle savedInstanceState) / 设置视图布局 super.onCreate(savedInstanceState); setCon

10、tentView(R.layout.my_layout); /得到前一个Activity传过来的Intent Intent intent=this.getIntent(); /得到组件名称对象 ComponentName cn=intent.getComponent(); /获得包的名称 String packageName=cn.getPackageName(); /得到类名 String className=cn.getClassName(); tv=(TextView)findViewById(R.id.TextView01); /显示 tv.setText(组件包名称:+package

11、Name+n+组件类名称:+className); Intent的Action属性Action是指Intent要完成的动作,是一个字符串常量。在Intent类里面定义了大量的Action常量属性,例如,ACTION_CALL(打电话)、ACTION_EDIT(编辑数据)、ACTION_BATTERY_LOW(电量低广播Action)等。我们也可以自己定义Action来使用。 我们可以使用setAction()来设置IntentAction属性,使用getAction来获得Intent的Action属性。1、 自定义Action属性 我们可以为Intent定义一个Action属性来访问,Acti

12、on属性是一个字符串,我们在程序中定义,并在要访问组件(例如:Activity)的IntentFilter中声明就可以使用来。下面的实例将演示如何自定义一个Intent Action属性。在工程的reslayout目录下创建一个main.xml布局文件,在其中添加一个Button组件。创建一个工程,在“com.yidu.test”包中创建一个MyActivity类。import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import a

13、ndroid.view.View.OnClickListener;import android.widget.Button;public class MyActivity extends Activity public final static String MY_ACTION = com.yidu.test.MY_ACTION; Button btn; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main

14、); btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() public void onClick(View v) /实例化Intent类 Intent intent = new Intent(); /为Intent对象设置Action属性 intent.setAction(MY_ACTION); /启动Activity startActivity(intent); ); 在工程的reslayout目录下创建一个second.xml布局文件,在其中添加一个TextView视图组件。

15、 创建一个SecondActivity类,在其顶部声明TextView组件,在onCreate()方法中实例化它,获得Intent实例,从而获得action属性并显示在TextView中。package com.yidu.test;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class SecondActivity extends Activity TextView tv; Override pro

16、tected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.second); tv = (TextView) findViewById(R.id.tv); /获得Intent对象 Intent intent = getIntent(); /获得Intent对象中包装的action String action = intent.getAction(); /将action设置在

17、TextView中 tv.setText(action); 程序运行结果如下: 2、 访问系统Action属性 Android Intent类中定义了很多Action属性常量,这些有标准Activity和Broadcast Receiver的。上面我们讲述如何访问自定义Action属性。下面我们将讲述如何访问系统Action属性。例如,我们实现一个发送短信的程序,在这个程序中,我们需要选择对方的电话号码,这时候我们可以调用系统电话本来查找电话号码。我们可以使用Intent.ACTION_GET_CONTENT常量调用系统Activity来实现该功能。在工程reslayout目录中创建一个mai

18、n.xml布局文件,在其中添加一个Button组件。创建一个Demo3Activity类。package com.yidu.demo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class Demo3Activity extends Activity Button btn;

19、 /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); btn=(Button)findViewById(R.id.button01); btn.setOnClickListener(new OnClickListener() Override public void onClick(View v) Int

20、ent intent=new Intent(); /设置Action属性为得到联系人 intent.setAction(Intent.ACTION_GET_CONTENT); /设置其类型 intent.setType(vnd.android.cursor.item/phone); /开启Activity。 startActivity(intent); ); 3、 Intent的Data属性 Intent的Data属性是执行动作的URI和MIME类型,不同的Action有不同的Data数据指定。例如,ACTION_EDITAction应该和要编辑的文档URIData匹配,Action_VIEW

21、应用和要显示的URI匹配。下面列出了一些常见的Action和Data的匹配应用。Action属性Data属性说明ACTION_VIEWcontent:/contacts/people/1显示_id为1的联系人信息ACTION_DIALcontent:/contacts/people/1将_id为1的联系人电话号码显示在拨号界面中ACTION_VIEWtel:123显示电话为123的联系人信息ACTION_VIEW在浏览器中浏览该网址ACTION_VIEWFile:/sdcard/mymusic.mp3播放Mp3ACTION_VIEWgeo:39.3256.116.2312显示地图案例如下:在r

22、eslayout目录下创建一个main.xml的文件。创建一个测试的Activity的界面类。import android.app.Activity;import android.content.Intent;import .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MyActivity extends Activity Button btn; /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new OnClickLi

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2