1、工程目录
2、MainActivity.java
package com.example.test_bundle;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
private EditText myEdit01;
private Button myBtn01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myEdit01 = (EditText) findViewById(R.id.edittext01);
myBtn01 = (Button) findViewById(R.id.button01);
myBtn01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, Result.class);
Bundle b = new Bundle();
String name = myEdit01.getText().toString();
b.putString("name", name);
intent.putExtras(b);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
3、Result.java
package com.example.test_bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.widget.TextView;
public class Result extends Activity {
private TextView myTextView02;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
myTextView02 = (TextView) findViewById(R.id.textview02);
Intent intent = getIntent();
Bundle b = intent.getExtras();
String name = b.getString("name");
// 创建查询数组
// 这里的number为空,不知道为什么???
String[] projection = new String[] { People._ID, People.NAME,
People.NUMBER, People.NOTES };
// 查询Uri对象
Uri contacts = People.CONTENT_URI;
// 查询参数
String[] args = { name };
// 根据姓名查询联系人
Cursor manageCursor = managedQuery(contacts, projection, "name=?",
args, People.NAME);
// 遍历游标
if (manageCursor.moveToFirst()) {
// 获得姓名
String name1 = manageCursor.getString(1);
// 获得电话号码
String number = manageCursor.getString(2);
// 获得Note信息
String notes = manageCursor.getString(3);
myTextView02.setText(name1 + ":" + number + ":" + notes);
}
}
}
4、布局文件
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- android:orientation属性必须有,如果有xmlns:android属性 -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textview01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入姓名" />
<EditText
android:id="@+id/edittext01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
<Button
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询" />
</LinearLayout>
result.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textview02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""/>
</LinearLayout>
5、 <uses-permission android:name="android.permission.READ_CONTACTS" />
6、结果