实验三 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中的方法,可以更熟练的使用安卓编程软件。
报告编号第5组综合课程设计报告基于Android平台的记事本的设计与实现学生姓名指导教师所在系电子工程系所学专业计算机科学与技术班…
实验报告课程名称手机应用开发实验名称Android实验院系信息与控制工程学院专业班级姓名学号指导教师20xx年月日实验一一实验名称…
南昌航空大学实验报告二0一三年一月六日课程名称移动终端编程技术实验名称Android组件通信和后台服务班级姓名同组人指导教师评定签…
移动互联网开发Android实验报告姓名万思学号专业指导老师张华完成日期20xx1116目录实验一Android开发环境的搭建41…
实习报告实习目的:生产实习是计算机科学与技术专业重要的实践性教学活动,其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩…
实训报告姓名祝新学号1144131专业软件技术课程名称android实训项目名称闹铃指导教师王浩实训日期年月日至年月日20xx年1…
浙江大学宁波理工学院实训报告protectedvoidonCreateBundlesavedInstanceStatesupero…
实习时间学院专业名称学号姓名指导老师实习地点Xxxxxx大学专业实习报告201XXXXXXXXXXXXXXXX学院计算机通信信息技…
通信与电子信息专业实训报告项目名称基于Android的游戏开发班级10通信1班姓名学号指导教师成绩实训时间年月日目录一实训目的及其…
报告编号第5组综合课程设计报告基于Android平台的记事本的设计与实现学生姓名指导教师所在系电子工程系所学专业计算机科学与技术班…