Android实验报告—网络通信

实验三  Android网络通信

实验目的:

本实验的目的是使学生深入了解利用Intent实现进程间的通信过程。学会利用Intent进行Activity的跳转,以及链接网页信息;学会利用Intent将其他Activity的信息返回到Activity中的方法。体会Activity间通信的过程。

实验要求:

编程实现下述功能:主界面上有一个“登录”按钮和“链接网页”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件(如下图所示)点击“链接网页”按钮,新的Activity上面有输入Uri信息的控件,可以链接到相应的网站,在用户关闭这个Activity后,返回到主界面中

程序界面如下图所示:

 

[实现提示]

1、建立Android工程,其中

工程名称:WebCommunication579

包名称:cn.edu.bistu.dj1001. WebCommunication579

Activity名称:WebCommunication579

2、工程建立完毕后,首先进行界面设计,建立相应的子Layout界面

3、在工程中添加相应的.java文件,处理各个Activity的事件响应

4、在Manifest中添加新建的Activity信息,进行注册。

程序源码

主界面java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

publicclass WebCommunication579 extends Activity {

private Button btnLogin,btnGoToWeb;

private TextView show;

privatestaticfinalintSUBACTIVITY1 = 1;

@Override

publicvoid onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  btnLogin=(Button) findViewById(R.id.btnLogin);

  btnGoToWeb=(Button) findViewById(R.id.btnGoToWeb);

  show=(TextView) findViewById(R.id.A1show);

       

 btnLogin.setOnClickListener(new OnClickListener(){

publicvoid onClick(View v) {

Intent intent = new Intent(WebCommunication592.this, activity1.class);

   startActivityForResult(intent, SUBACTIVITY1);

        }});

 btnGoToWeb.setOnClickListener(new OnClickListener(){

publicvoid onClick(View v) {

   Intent intent = new Intent(WebCommunication592.this, activity2.class);

   startActivity(intent);

}});

    }

protectedvoid onActivityResult(int requestCode, int resultCode, Intent data) {

  super.onActivityResult(requestCode, resultCode, data);

      switch(requestCode){

    caseSUBACTIVITY1:

   if (resultCode == RESULT_OK){Uri uriData = data.getData();

      show.setText(uriData.toString());

    }

    break;

   }};}

界面一java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

publicclass activity1 extends Activity {

private Button btnOK,btnCancel;

private EditText edtInput;

publicvoid onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity1);

  edtInput=(EditText) findViewById(R.id.edtA1Input);

   btnOK=(Button) findViewById(R.id.btnA1OK);

   btnCancel=(Button) findViewById(R.id.btnA1Cancel);

   btnOK.setOnClickListener(new OnClickListener(){      

publicvoid onClick(View v) {

String uriString =  edtInput.getText().toString();

Uri data = Uri.parse(uriString);

Intent result = new Intent(null, data);

setResult(RESULT_OK, result);

finish();

}});

btnCancel.setOnClickListener(new OnClickListener(){

  publicvoid onClick(View view){

   finish();

  }});}}

界面二java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

publicclass activity2 extends Activity {

   private EditText edtInput;

   private Button btnOK,btnCancel;

    publicvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity2);

      edtInput=(EditText) findViewById(R.id.edtA2Input);

      btnOK=(Button) findViewById(R.id.btnA2OK);

      btnCancel=(Button) findViewById(R.id.btnA2Cancel);

      btnOK.setOnClickListener(new OnClickListener(){

   publicvoid onClick(View v) {

Intent intent = new Intent(Intent.ACTION_VIEW,  Uri.parse(edtInput.getText().toString()));

startActivity(intent);

}});

      btnCancel.setOnClickListener(new OnClickListener(){

      publicvoid onClick(View v) {

        finish();

      }});}}

主界面的xml文件代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="Horizontal" android:layout_width="fill_parent"

android:layout_height="fill_parent">

<Button

android:text="登录"

android:id="@+id/btnLogin"

android:layout_width="wrap_content"

android:layout_height="wrap_content"></Button>

<Button

android:text="链接网页"

android:id="@+id/btnGoToWeb"

android:layout_width="wrap_content"

android:layout_height="wrap_content"></Button>

<TextView

android:text=""

android:id="@+id/A1show"

android:layout_width="wrap_content"

android:layout_height="wrap_content"></TextView>

</LinearLayout>

界面一的xml文件代码:

<LinearLayout

android:orientation="Horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<TextView

android:text="用户名和密码:"

android:layout_width="wrap_content"  android:layout_height="wrap_content"></TextView>

<EditText

android:text=""

android:id="@+id/edtA1Input"

android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>

</LinearLayout>

<LinearLayout 

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<Button

android:text="确定"

android:id="@+id/btnA1OK"

android:layout_width="wrap_content"  android:layout_height="wrap_content"></Button>

<Button

android:text="取消 "

android:id="@+id/btnA1Cancel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"></Button>

</LinearLayout>

     

</LinearLayout>

界面二的xml文件代码:

<LinearLayout

android:id="@+id/LinearLayout01"

android:orientation="Horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

xmlns:android="http://schemas.android.com/apk/res/android">

<EditText

android:text=""

android:id="@+id/edtA2Input"

android:layout_width="match_parent"

android:layout_height="wrap_content"></EditText>

<Button

android:text="确定"

android:id="@+id/btnA2OK"

android:layout_width="wrap_content"

android:layout_height="wrap_content"></Button>

<Button

android:text="取消"

android:id="@+id/btnA2Cancel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"></Button>

</LinearLayout>

程序运行结果:

程序包:                          主界面:

                                       



点击登录按钮后:                 点击确定按钮后:

  

点击链接网页按钮后:            点击确定按钮后:

   

实验心得体会

    通过本次实验深入了解了Intent实现进程间的通信过程。熟悉了利用Intent将其他Activity的信息返回到Activity中的方法,可以更熟练的使用安卓编程软件。

相关推荐