首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android学习阶段1(Activity数据通信)

2012-06-29 
android学习阶段一(Activity数据通信)?开始学习android,相信自己,成就未来!下面是我的练习演示,希望大家多

android学习阶段一(Activity数据通信)

?android学习阶段1(Activity数据通信)开始学习android,相信自己,成就未来!下面是我的练习演示,希望大家多多指教。

?

程序运行展示:

一、名为FirstAction的Activity界面:


android学习阶段1(Activity数据通信)

?

布局文件main.xml

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /><EditText android:text="" android:id="@+id/EditText01" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText><EditText android:text="" android:id="@+id/EditText02" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText><LinearLayout android:id="@+id/LinearLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content"><Button android:layout_width="wrap_content" android:text="submit" android:layout_height="wrap_content" android:id="@+id/Button01"></Button></LinearLayout></LinearLayout>

?

二、当输入文本为空时,弹出提示框。

android学习阶段1(Activity数据通信)

?

三、输入为空的文本框背景色变红

android学习阶段1(Activity数据通信)

?

四、完成输入,并点击submit按钮

?

android学习阶段1(Activity数据通信)

?

五、跳到名为SecondAction的Activity,并把前一个Activity输入的文本显示出来。

?

?

android学习阶段1(Activity数据通信)

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView><Button android:text="返回上一个activity" android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></LinearLayout>
?

?

六、从SecondAction返回的数据并显示出来,点击确定结束该练习程序。

?

android学习阶段1(Activity数据通信)

?

android学习阶段1(Activity数据通信)下面贴出两个Activity的源码:

?

第一个Activity——FirstAction.java

?

package com.study.activitytest;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class FirstAction extends Activity {/** 第一个输入文本框 */private EditText editText1;/** 第二个输入文本框 */private EditText editText2;/** 提交到SecondAction的按钮 */private Button button;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                editText1 = (EditText) findViewById(R.id.EditText01);        editText2 = (EditText) findViewById(R.id.EditText02);        button = (Button) findViewById(R.id.Button01);                button.setOnClickListener(new OnClickListener() {public void onClick(View v) {String ipt1 = editText1.getText().toString();//简单验证输入框if ("".equals(ipt1.trim())) {alert("输入不能为空", "提示",new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {editText1.setText("");editText1.setBackgroundColor(Color.RED);editText1.requestFocus();}});return;}String ipt2 = editText2.getText().toString();if ("".equals(ipt2.trim())) {alert("输入不能为空", "提示",new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {editText2.setText("");editText2.setBackgroundColor(Color.RED);editText2.requestFocus();}});return;}//用Bundle存储数据Bundle bundle = new Bundle();bundle.putString("ipt1", ipt1);bundle.putString("ipt2", ipt2);Intent intent = new Intent(FirstAction.this, SecondAction.class);//把bundle设置到intent对象中intent.putExtras(bundle);//startActivity(intent);/* * Launch an activity for which you would like a result when it finished.  * When this activity exits, your onActivityResult() method will be called  * with the given requestCode. Using a negative requestCode is the same as  * calling startActivity(Intent) (the activity is not launched as a sub-activity). * 开始SecondAction,当SecondAction结束时,可以返回结果 到FirstAction。 * 若FirstAction存在,FirstAction类中的onActivityResult()方法会被调用 */startActivityForResult(intent, 0);}});    }            // 覆盖onActivityResult方法    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {    Bundle bundle = data.getExtras();    alert("返回的数据", "返回的数据是:"+bundle.getString("result"),new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {FirstAction.this.finish();}});    // System.out.println(bundle.getString("result"));    }        /**     * 初始化并显示提示框     * @param massage     * @param title     * @param listener     */    public void alert(String massage, String title,android.content.DialogInterface.OnClickListener listener) {AlertDialog.Builder builder = new AlertDialog.Builder(FirstAction.this);builder.setTitle(title);builder.setMessage(massage);builder.setPositiveButton("确定", listener);builder.show();}}

?

第二个Activity——SecondAction.java

?

package com.study.activitytest;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;import android.widget.TextView;public class SecondAction extends Activity {private Intent intent ;public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.second);        intent = this.getIntent();        //获取由FirstAction传递的数据Bundle bundle = intent.getExtras();        String ipt1 = bundle.getString("ipt1");        String ipt2 = bundle.getString("ipt2");        TextView textView = (TextView) findViewById(R.id.TextView01);        textView.setText(ipt1+"/"+ipt2);        //设置返回的数据        bundle.putString("result", textView.getText().toString());        intent.putExtras(bundle);        Button button = (Button) findViewById(R.id.Button02);        button.setOnClickListener(new OnClickListener() {public void onClick(View v) {//设定结果,并返回到FirstActionsetResult(RESULT_OK,intent);//结束SecondActionfinish();}});    }}
?

清单配置文件,要对两个Activity进行声明:

?

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.study.activitytest"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/logo" android:label="@string/app_name">    <!-- FirstAction的声明 -->        <activity android:name=".FirstAction"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <!-- SecondAction的声明 --><activity android:name=".SecondAction" android:label="@string/app_name" />    </application></manifest> 

?

也希望在这里认识更多android的初学者,一起学习和交流。高手,专家们,多给些提示和引导…… 谢谢。

?

热点排行