Android实验报告-消息传递的应用_第1页
Android实验报告-消息传递的应用_第2页
Android实验报告-消息传递的应用_第3页
Android实验报告-消息传递的应用_第4页
Android实验报告-消息传递的应用_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

消息传递的应用实验目的:本实验的目的是使学生深入了解Android系统中利用Intent进行消息传递以及不同控件间的通信、掌握Android进间的程通信编程。通过程序设计,掌握常用界面控件、界面事件的响应,以及掌握Android内置Contact通讯录的使用方法。学习目标:掌握在ContentProvider中的Contact中调用数据的访问方式;掌握调用Contact取得联系人资料后,返回相关数据到原来的Activity中,并显示所选择的资料的方法;掌握Intent在不同控件直接的消息传递方法。实验要求:设计程序实现一个手机联系人搜索软件,并提供自动拨号功能。如下图所示设计界面,如图1所示,点击界面上的搜索按钮,在onClick()的事件驱动中,调用手机内置的通讯录Intent,打开手机的通讯录(Contact)界面,如图2所示。选择联系人后,返回自己的Activity。并将选取的联系人信息(姓名和电话号码),在界面的两个EditText控件中显示,完成调用手机通讯录的过程,如图3所示。若点击拨打按钮,则利用Intent跳转到Android系统的内置拨号界面上,进行电话拨打,如图4所示。程序源码:mcy.java文件packagecn.mcy;importandroid.app.Activity;importandroid.content.Intent;importandroid.database.Cursor;import.Uri;importandroid.os.Bundle;importvider.ContactsContract;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;publicclassmcyextendsActivity{/**Calledwhentheactivityisfirstcreated.*/ privatestaticfinalintPICK_CONTACT_SUBACTIVITY=1; privateEditTextedtName,edtNumber; privateButtonbtnShousuo,btnCall; @OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);edtName=(EditText)findViewById(R.id.EditText01);edtNumber=(EditText)findViewById(R.id.EditText02);btnShousuo=(Button)findViewById(R.id.Button01);btnCall=(Button)findViewById(R.id.Button02);btnShousuo.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub Intentintent=newIntent(Intent.ACTION_PICK, vider.ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent,PICK_CONTACT_SUBACTIVITY); }});btnCall.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub Intentintent=newIntent(Intent.ACTION_DIAL,Uri.parse("tel:"+edtNumber.getText().toString())); startActivity(intent); }});} @Override protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){ //TODOAuto-generatedmethodstub if(requestCode==PICK_CONTACT_SUBACTIVITY){ finalUriuriRet=data.getData(); if(uriRet!=null){ try{ /*必须要有android.permission.READ_CONTACTS权限*/ Cursorc=managedQuery(uriRet,null,null,null,null); c.moveToFirst(); StringstrName=c.getString(c.getColumnIndexOrThrow( ContactsContract.Contacts.DISPLAY_NAME)); edtName.setText(strName); intcontactId=c.getInt(c.getColumnIndex( ContactsContract.Contacts._ID)); Cursorphones=getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId,null,null); inttypePhone; StringnumPhone; if(phones.getCount()>0) { phones.moveToFirst(); numPhone=phones.getString(phones.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER)); edtNumber.setText(numPhone); } }catch(Exceptione) {/*将错误信息在TextView中显示*/ e.printStackTrace(); }}} super.onActivityResult(requestCode,resultCode,data); }}main.xml文件<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"><TextViewandroid:text="联系人信息"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView> <EditTextandroid:text=""android:id="@+id/EditText01" android:layout_width="match_parent"android:layout_height="wrap_content"></EditText> <EditTextandroid:text=""android:id="@+id/EditText02" android:layout_width="match_parent"android:layout_height="wrap_content"></EditText> <Buttonandroid:text="搜索联系人"android:id="@+id/Button01" android:layout_width="wrap_content"android:layout_height="wrap_content"></Button> <Buttonandroid:text="拨打电话"android:id="@+id/Button02" an

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论