android应用开发详解(十二)---------------Bundle传值

来源:互联网 发布:浙大恩特软件 编辑:程序博客网 时间:2024/06/07 02:24

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;@Overrideprotected 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() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent 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);}});}@Overridepublic 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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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、结果



0 0