Android实验报告—网络通信
- 格式:doc
- 大小:304.00 KB
- 文档页数:7
Android应用中的网络通讯和安全随着智能手机的普及,移动应用市场也越来越走俏。
而这些应用通常都需要进行网络通讯,涉及到用户敏感信息的传输,因此网络安全问题也越来越受到关注。
本文将从以下几个方面探讨Android应用中的网络通讯和安全。
一、网络通讯Android应用中的网络通讯主要是通过HTTP协议进行的。
HTTP协议是一种应用层协议,常用于Web数据传输。
它使用TCP作为传输层协议,是一种无状态协议。
客户端发送请求,服务器返回响应,请求和响应的内容都是在HTTP报文中传输的。
一般情况下,Android应用中的网络通讯分为两种:同步请求和异步请求。
同步请求是指在主线程中直接请求,等待服务器响应后再进行下一步操作;异步请求则是在子线程中进行,当服务器响应后回调主线程,保证主线程不会被阻塞。
异步请求更为常见,因为同步请求容易引起界面卡顿。
在进行网络通讯时,还需要注意以下几点:1. 请求和响应的数据格式。
一般情况下,客户端使用JSON或XML格式发送请求,服务器返回JSON或XML格式的响应。
需要确保请求和响应的数据格式一致,否则客户端解析响应时将会出现问题。
2. 网络状态的检查。
在进行网络通讯前,需要检查网络状态,避免在没有网络连接的情况下进行请求。
3. 缓存。
为了提高应用的响应速度,一些数据可以在本地缓存。
在进行网络通讯时,先读取缓存数据,如果缓存数据还没有过期,则直接返回缓存数据。
二、网络安全随着移动应用市场的发展,网络安全问题也越来越受到关注。
Android应用中的网络安全主要涉及以下几个方面:1. 数据传输的加密。
在进行数据传输时,需要确保数据传输安全。
一般情况下,可以使用SSL/TLS协议对数据进行加密。
如果使用HTTP协议进行数据传输,可以使用HTTPS协议代替HTTP协议。
HTTPS协议可以保障数据的机密性、完整性和真实性。
2. 用户敏感信息的保护。
用户的敏感信息包括账号、密码、银行卡信息、身份证号码等。
Android系统中的网络通信技术及应用实践Android 系统中的网络通信技术及应用实践随着互联网技术的快速发展,网络通信已经成为我们日常生活和工作中不可或缺的一部分。
而 Android 系统中的网络通信技术也在不断发展和完善,为我们提供了更便捷、高效的网络通信方式和应用实践。
一、HTTP 通信Android 系统中最常用的网络通信协议就是 HTTP 协议。
HTTP 协议是一种客户端和服务器之间进行交互的协议,可以用来传输各种类型的数据,包括文本、图像、音频、视频等等。
在 Android 应用开发中,我们经常会使用 HTTP 协议来访问服务器,获取和上传数据。
Android 系统中 HTTP 通信的实现主要是通过HttpURLConnection 和 HttpClient 这两个类来实现的。
其中HttpURLConnection 是对 HTTP/1.1 规范的一个实现,主要用于打开和连接 HTTP 连接,发送请求和接收响应。
HttpClient 则是一个开源的 HTTP 工具包,可以用来发送 HTTP 请求,从而实现与HTTP 服务器的通信。
二、WebSocket 通信除了 HTTP 协议,WebSocket 也成为了 Android 系统中的一种常见的网络通信方式。
WebSocket 是一种基于 TCP 协议的通信协议,可以在客户端与服务器之间建立持久性的连接,双方可以随时进行数据的传输和接收。
WebSocket 相对于 HTTP 协议来说,具有更高效、更实时、更稳定的特点,因此适用于实时通信应用。
在 Android 应用开发中,我们可以使用 okhttp 和 Java-WebSocket 这两个库来实现 WebSocket 通信。
okhttp 是由 Square公司开发的一款 HTTP 和 WebSocket 客户端,可以用来进行网络请求和数据传输。
Java-WebSocket 是一个用 Java 语言编写的WebSocket 客户端和服务器端实现库,具有简单易用、轻量级、跨平台的特点。
android应用开发实验报告Android应用开发实验报告引言:随着智能手机的普及,移动应用的需求也越来越大。
作为目前最主流的移动操作系统之一,Android平台的应用开发变得越来越重要。
本实验报告将介绍我在Android应用开发实验中所学到的知识和经验,以及我开发的一个简单应用的过程和成果。
一、实验背景移动应用开发已经成为互联网行业的热门方向之一。
Android平台作为全球最大的移动操作系统之一,具有广泛的用户基础和开放的生态系统,因此学习和掌握Android应用开发技术对于未来的职业发展非常有帮助。
二、实验目的通过本次实验,我希望能够掌握Android应用开发的基本流程和技术,包括应用的界面设计、交互逻辑的实现以及与后台服务的通信等。
同时,我也希望能够培养自己的创新思维和解决问题的能力。
三、实验过程1. 环境搭建在开始实验之前,我首先需要搭建好Android开发环境。
我下载并安装了Android Studio,这是官方推荐的Android开发工具,提供了丰富的开发工具和模拟器来辅助开发。
2. 学习基础知识在进入实际开发之前,我花了一些时间学习Android应用开发的基础知识,包括Java编程语言、XML布局文件的编写以及Android应用的生命周期等。
这些基础知识为我后续的实际开发打下了坚实的基础。
3. 设计应用界面在设计应用界面时,我首先考虑了用户的使用习惯和界面的美观度。
我使用Android Studio提供的可视化界面编辑器,通过拖拽和调整组件的位置和属性,设计出了一个简洁而实用的界面。
4. 实现交互逻辑应用的交互逻辑是实现应用功能的核心部分。
我使用Java语言编写了一些代码,实现了用户与应用之间的交互逻辑。
例如,当用户点击一个按钮时,应用会执行相应的操作,并显示结果给用户。
5. 与后台服务通信现在的应用很少能够独立完成所有功能,往往需要与后台服务进行通信。
我使用了Android提供的网络通信库,编写了一些代码,实现了与后台服务的数据交互。
通信与电子信息专业实训报告项目名称:基于android的游戏开发班级 10通信1班姓名学号指导教师成绩实训时间:年月日—目录一、实训目的及其意义 (3)1.1、目的及意义 (3)1.2、研究现状 (3)二、实训主要任务、重点及难点 (4)2.1、任务 (4)2.2、重点内容及实现途径 (4)三、实训具体内容及完成的主要工作 (5)3.1、认识基础开发 (6)3.2、了解数据存储 (6)3.3、总体实训过程 (7)四、实际遇到的困难,解决问题的方法和措施 (8)(一)、所遇问题 (8)(二)、解决方法与措施 (9)五、心得体会 (9)一、实训目的及其意义1.1、目的及意义了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识android,了解基于android的应用软件开发方法及其商业流程。
把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。
使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。
使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。
生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。
它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。
它不仅是校内教学的延续,而且是校内教学的总结。
生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具有重要意义。
【本机(PC)IP以及Android模拟器IP的说明】在本机上启动两个模拟器,本机(PC)和模拟器的信息如下:大家可以看到,两个模拟器的IP地址都是完全一样的,所以要实现两个模拟器之间的通信,使用模拟器的IP地址是办不到的。
获取模拟器名称:>adb devicesList of devices attachedemulator-5554 deviceemulator-5556 device模拟器提供了一个特殊的IP,此IP的地址为10.0.2.2,此IP地址可以说等同于PC本机的IP 地址127.0.0.1 。
所以,通过此特殊IP地址,实现PC本机与模拟器的通信是没有问题。
【PC-SERVER / 模拟器-CLIENT】目的:通过7100端口跟服务器进行通信。
实施方法比较简单,直接按照下面的方法就可以了。
方法1:PC-SERVER:ServerSocket server = new ServerSocket(7100);模拟器-CLIENT:Socket socket = new Socket("192.168.1.3", 7100);方法2:PC-SERVER:ServerSocket server = new ServerSocket(7100);模拟器-CLIENT:Socket socket = new Socket("10.0.2.2", 7100);【模拟器-SERVER / PC-CLIENT】目的:连接到服务器的7100端口。
实施操作稍微复杂一些,不能按照前面的方法来进行。
要达到此目的,先要进行端口映射。
把本机端口TCP/6100映射到模拟器TCP/7100端口(UDP也是一样)。
>adb –s emulator-5554 forward tcp:6100 tcp:7100端口映射成功后,再进行下面的实验。
方法1(正确):模拟器-SERVER:ServerSocket server = new ServerSocket(7100);PC-CLIENT:Socket socket = new Socket("127.0.0.1", 6100);方法2(错误):模拟器-SERVER:ServerSocket server = new ServerSocket(7100);PC-CLIENT:Socket socket = new Socket("192.168.1.3", 6100);错误原因是127.0.0.1是本机环路IP,跟本机IP没有映射关系,所以发送到本机IP的连接请求,无法映射到127.0.0.1的环路IP上。
一、实验目的1. 理解移动通信系统的基本组成和功能;2. 掌握移动通信系统中基带话音的基本特点;3. 学习并掌握移动通信系统中常见的调制解调技术;4. 了解移动通信信道的特性及其对信号传输的影响;5. 熟悉移动通信实验设备和软件的使用。
二、实验设备与软件1. 实验设备:移动通信实验箱、示波器、频谱分析仪、计算机等;2. 实验软件:MATLAB、C++等编程语言及相关移动通信仿真软件。
三、实验内容1. 移动通信系统组成及功能(1)实验目的:了解移动通信系统的组成,掌握移动通信系统的基本功能。
(2)实验内容:1)观察移动通信实验箱的组成,了解各个模块的功能;2)根据实验指导书,搭建移动通信实验系统;3)观察实验系统工作状态,分析各个模块的作用;4)总结移动通信系统的基本组成和功能。
2. 基带话音的基本特点(1)实验目的:了解基带话音的基本特点,掌握话音信号的传输特性。
(2)实验内容:1)观察实验箱中的话音信号发生器,了解话音信号的生成过程;2)使用示波器观察话音信号的波形,分析其时域和频域特性;3)总结基带话音的基本特点。
3. 调制解调技术(1)实验目的:学习并掌握移动通信系统中常见的调制解调技术。
(2)实验内容:1)观察实验箱中的调制解调模块,了解其工作原理;2)搭建调制解调实验系统,进行模拟信号的调制和解调;3)使用频谱分析仪观察调制信号的频谱特性,分析调制效果;4)总结常见的调制解调技术及其特点。
4. 移动通信信道特性(1)实验目的:了解移动通信信道的特性及其对信号传输的影响。
(2)实验内容:1)观察实验箱中的信道模拟模块,了解信道特性;2)搭建信道模拟实验系统,进行信道特性分析;3)使用示波器观察信道模拟结果,分析信道对信号传输的影响;4)总结移动通信信道的特性。
5. 实验软件使用(1)实验目的:熟悉MATLAB、C++等编程语言及相关移动通信仿真软件的使用。
(2)实验内容:1)学习MATLAB、C++等编程语言的基本语法和编程技巧;2)使用相关移动通信仿真软件进行信号处理和系统仿真;3)总结实验软件的使用方法和技巧。
实验三Android网络通信实验目的:本实验的目的是使学生深入了解利用Intent实现进程间的通信过程。
学会利用Intent进行Activity的跳转,以及链接网页信息;学会利用Intent将其他Activity 的信息返回到Activity中的方法。
体会Activity间通信的过程。
实验要求:编程实现下述功能:主界面上有一个“登录”按钮和“链接网页”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件(如下图所示)点击“链接网页”按钮,新的Activity上面有输入Uri信息的控件,可以链接到相应的网站,在用户关闭这个Activity后,返回到主界面中程序界面如下图所示:[实现提示]1、建立Android工程,其中工程名称:WebCommunication579包名称:.bistu.dj1001. WebCommunication579Activity名称:WebCommunication5792、工程建立完毕后,首先进行界面设计,建立相应的子Layout界面3、在工程中添加相应的.java文件,处理各个Activity的事件响应4、在Manifest中添加新建的Activity信息,进行注册。
程序源码:主界面java文件代码:package cn.deu.bistu.dj1001.WebCommunication579;import android.app.Activity;import android.content.Intent;import .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class WebCommunication579 extends Activity { private Button btnLogin,btnGoToWeb;private TextView show;private static final int SUBACTIVITY1 = 1;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.main);btnLogin=(Button) findViewById(R.id.btnLogin); btnGoToWeb=(Button) findViewById(R.id.btnGoToWeb); show=(TextView) findViewById(R.id.A1show);btnLogin.setOnClickListener(new OnClickListener(){ public void onClick(View v) {Intent intent = new Intent(WebCommunication592.this, activity1.class);startActivityForResult(intent, SUBACTIVITY1);}});btnGoToWeb.setOnClickListener(new OnClickListener(){ public void onClick(View v) {Intent intent = new Intent(WebCommunication592.this, activity2.class);startActivity(intent);}});}protected void onActivityResult(int requestCode, intresultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch(requestCode){case SUBACTIVITY1: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 .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class activity1 extends Activity {private Button btnOK,btnCancel;private EditText edtInput;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity1);edtInput=(EditText) findViewById(R.id.edtA1Input);btnOK=(Button) findViewById(R.id.btnA1OK);btnCancel=(Button) findViewById(R.id.btnA1Cancel);btnOK.setOnClickListener(new OnClickListener(){public void 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(){public void onClick(View view){finish();}});}}界面二java文件代码:package cn.deu.bistu.dj1001.WebCommunication579;import android.app.Activity;import android.content.Intent;import .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class activity2 extends Activity {private EditText edtInput;private Button btnOK,btnCancel;public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.activity2);edtInput=(EditText) findViewById(R.id.edtA2Input);btnOK=(Button) findViewById(R.id.btnA2OK);btnCancel=(Button) findViewById(R.id.btnA2Cancel);btnOK.setOnClickListener(new OnClickListener(){ public void onClick(View v) {Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(edtInput.getText().toString()));startActivity(intent);}});btnCancel.setOnClickListener(new OnClickListener(){public void onClick(View v) {finish();}});}}主界面的xml文件代码:<LinearLayoutxmlns:android="/apk/res/android" android:orientation="Horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:text="登录"android:id="@+id/btnLogin"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:text="链接网页"android:id="@+id/btnGoToWeb"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><TextViewandroid:text=""android:id="@+id/A1show"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView></LinearLayout>界面一的xml文件代码:<LinearLayoutandroid:orientation="Horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="/apk/res/android"> <LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:text="用户名和密码:"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView><EditTextandroid:text=""android:id="@+id/edtA1Input"android:layout_width="wrap_content"android:layout_height="wrap_content"></EditText></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><Buttonandroid:text="确定"android:id="@+id/btnA1OK"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:text="取消 "android:id="@+id/btnA1Cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout></LinearLayout>界面二的xml文件代码:<LinearLayoutandroid:id="@+id/LinearLayout01"android:orientation="Horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="/apk/res/android"> <EditTextandroid:text=""android:id="@+id/edtA2Input"android:layout_width="match_parent"android:layout_height="wrap_content"></EditText><Buttonandroid:text="确定"android:id="@+id/btnA2OK"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:text="取消"android:id="@+id/btnA2Cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout>程序运行结果:程序包:主界面:点击登录按钮后:点击确定按钮后:点击链接网页按钮后:点击确定按钮后:实验心得体会:通过本次实验深入了解了Intent实现进程间的通信过程。
android开发实验报告总结《android 开发实验报告总结》在当今科技飞速发展的时代,移动应用开发成为了热门领域之一,其中 Android 开发更是备受关注。
通过本次 Android 开发实验,我获得了丰富的实践经验和深刻的技术理解。
接下来,我将详细阐述这次实验的各个方面。
实验背景与目标随着智能手机的普及,Android 操作系统占据了相当大的市场份额。
本次实验的目标是通过实际开发一个简单的 Android 应用程序,深入了解 Android 开发的流程、技术架构以及相关工具的使用,从而提高自己的编程能力和解决问题的能力。
实验环境与工具在实验过程中,我们使用了 Android Studio 作为主要的开发工具。
Android Studio 提供了丰富的功能,包括代码编辑、调试、版本控制等,极大地提高了开发效率。
同时,还需要安装 Java 开发环境(JDK)以及 Android SDK 等必要的组件。
实验内容与步骤首先是项目创建。
在Android Studio 中,通过选择合适的项目模板,设定项目名称、包名等基本信息,创建了一个初始的 Android 项目框架。
接着是界面设计。
利用 XML 布局文件,定义了应用的界面元素,如按钮、文本框、列表等,并通过设置属性来调整它们的外观和位置。
同时,使用了 ConstraintLayout 等布局管理器,实现了灵活且美观的界面布局。
然后是功能实现。
通过编写 Java 代码,实现了应用的各种功能逻辑。
例如,点击按钮触发相应的事件处理,从网络获取数据并展示在界面上,以及与本地数据库进行交互等。
在数据存储方面,学习和使用了 SharedPreferences 来保存简单的配置信息,以及 SQLite 数据库来存储复杂的数据结构。
在网络通信方面,使用了 HttpURLConnection 或者 Volley 等库来发送 HTTP 请求,获取服务器端的数据。
调试与测试在开发过程中,不可避免会遇到各种问题。
(实习报告)移动通信实习报告移动通信实习报告。
实习时间,2021年7月1日至2021年8月31日。
实习单位,某某通信有限公司。
实习内容:
在某某通信有限公司的实习期间,我主要参与了移动通信领域的相关工作。
在实习期间,我深入了解了移动通信的基本原理和技术,并参与了公司的项目开发和测试工作。
首先,我参与了移动通信网络的规划和优化工作。
通过对现有网络的分析和评估,我学习了如何设计和优化移动通信网络,以提高网络的覆盖范围和容量,提升用户体验。
在实际工作中,我运用了一些专业的规划工具和软件,对网络进行了优化和调整,取得了一定的成效。
其次,我还参与了移动通信设备的测试和调试工作。
在实习期
间,我学习了移动通信设备的基本原理和工作机制,掌握了设备的调试方法和技巧。
通过对设备进行测试和调试,我深入了解了设备的性能和特点,并掌握了一定的实际操作经验。
总结:
通过这次实习,我不仅加深了对移动通信领域的理解,还学到了很多实际的工作技能。
在未来的学习和工作中,我会继续努力,不断提升自己,为移动通信领域的发展贡献自己的一份力量。
感谢公司在实习期间给予我的指导和帮助,也感谢实习期间的同事们对我的支持和鼓励。
希望能有机会再次与大家共事。
附件2教学大纲课程编号:课程名称:通信与网络综合开发实验-基于Andriod的通讯网络实验学分/学时:4/64 课程性质:必修课适用专业:通信工程、信息安全、交通信息工程、空间信息工程建议开设学期:第六学期先修课程:移动通信、计算机网络、 Java语言程序设计开课单位:通信工程学院一、课程的教学目标与任务本课程是通信网络相关的专业课程,是一门实践性极强的课程。
课程理论与实践紧密结合,实用性强。
《通信与网络综合开发实验-基于Andriod的通讯网络实验》以综合设计性和研究开发性实验为主,主要是为了巩固前述课程的内容,培养学生的综合设计能力和研究开发能力,帮助学生建立创新意识,提高学生的综合素质。
本实验的考核方式以实物验收、实验报告和答辩相结合的办法进行。
二、课程具体内容及基本要求1.基础实验(4学时/次×2次=8学时)目的:让学生熟悉Android开发环境。
要求:学生前期应具有一定的Android开发经验,通过如下实验中选择2个实验,对Andoid开发进行回顾,为后续开发打好基础;教师需事先准备好开发的参考答案,并且能协助学生调试。
熟悉JDK环境和Eclipse工具,掌握Andriod组件及SDK,编写程序输出hello world;简易计算器开发;简易浏览器开发;音乐播放器。
2.验证性实验(4学时/次×8次=32学时)- 1 -目的:学生通过移动网络的学习和Android程序开发,理解各种移动网络及应用。
要求:学生根据自己的情况从如下题目中选择1个或2个进行学习及Android程序开发,通过模拟器和手机验证程序的效果;教师事先准备好开发的部分参考代码,但尽可能调动学生积极性,以学生开发为主,教师辅导为辅。
实现手机间的蓝牙通信实现Wifi的点对点通信QQ业务的流量监控话音业务的流量监控通过GPS/WLAN/移动通信网进行定位3.综合实验(24学时)目的:锻炼学生移动互联网络领域的综合实践能力,提高创新意识。
实验三Android网络通信实验目的:本实验的目的是使学生深入了解利用Intent实现进程间的通信过程。
学会利用Intent进行Activity的跳转,以及链接网页信息;学会利用Intent将其他Activity 的信息返回到Activity中的方法。
体会Activity间通信的过程。
实验要求:编程实现下述功能:主界面上有一个“登录”按钮和“链接网页”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件(如下图所示)点击“链接网页”按钮,新的Activity上面有输入Uri信息的控件,可以链接到相应的网站,在用户关闭这个Activity后,返回到主界面中程序界面如下图所示:[实现提示]1、建立Android工程,其中工程名称:WebCommunication579包名称:.bistu.dj1001. WebCommunication579Activity名称:WebCommunication5792、工程建立完毕后,首先进行界面设计,建立相应的子Layout界面3、在工程中添加相应的.java文件,处理各个Activity的事件响应4、在Manifest中添加新建的Activity信息,进行注册。
程序源码:主界面java文件代码:package cn.deu.bistu.dj1001.WebCommunication579;import android.app.Activity;import android.content.Intent;import .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class WebCommunication579 extends Activity { private Button btnLogin,btnGoToWeb;private TextView show;private static final int SUBACTIVITY1 = 1;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.main);btnLogin=(Button) findViewById(R.id.btnLogin); btnGoToWeb=(Button) findViewById(R.id.btnGoToWeb); show=(TextView) findViewById(R.id.A1show);btnLogin.setOnClickListener(new OnClickListener(){ public void onClick(View v) {Intent intent = new Intent(WebCommunication592.this, activity1.class);startActivityForResult(intent, SUBACTIVITY1);}});btnGoToWeb.setOnClickListener(new OnClickListener(){ public void onClick(View v) {Intent intent = new Intent(WebCommunication592.this, activity2.class);startActivity(intent);}});}protected void onActivityResult(int requestCode, intresultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch(requestCode){case SUBACTIVITY1: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 .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class activity1 extends Activity {private Button btnOK,btnCancel;private EditText edtInput;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity1);edtInput=(EditText) findViewById(R.id.edtA1Input);btnOK=(Button) findViewById(R.id.btnA1OK);btnCancel=(Button) findViewById(R.id.btnA1Cancel);btnOK.setOnClickListener(new OnClickListener(){public void 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(){public void onClick(View view){finish();}});}}界面二java文件代码:package cn.deu.bistu.dj1001.WebCommunication579;import android.app.Activity;import android.content.Intent;import .Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class activity2 extends Activity {private EditText edtInput;private Button btnOK,btnCancel;public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.activity2);edtInput=(EditText) findViewById(R.id.edtA2Input);btnOK=(Button) findViewById(R.id.btnA2OK);btnCancel=(Button) findViewById(R.id.btnA2Cancel);btnOK.setOnClickListener(new OnClickListener(){ public void onClick(View v) {Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(edtInput.getText().toString()));startActivity(intent);}});btnCancel.setOnClickListener(new OnClickListener(){public void onClick(View v) {finish();}});}}主界面的xml文件代码:<LinearLayoutxmlns:android="/apk/res/android" android:orientation="Horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:text="登录"android:id="@+id/btnLogin"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:text="链接网页"android:id="@+id/btnGoToWeb"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><TextViewandroid:text=""android:id="@+id/A1show"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView></LinearLayout>界面一的xml文件代码:<LinearLayoutandroid:orientation="Horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="/apk/res/android"> <LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:text="用户名和密码:"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView><EditTextandroid:text=""android:id="@+id/edtA1Input"android:layout_width="wrap_content"android:layout_height="wrap_content"></EditText></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><Buttonandroid:text="确定"android:id="@+id/btnA1OK"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:text="取消 "android:id="@+id/btnA1Cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout></LinearLayout>界面二的xml文件代码:<LinearLayoutandroid:id="@+id/LinearLayout01"android:orientation="Horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="/apk/res/android"> <EditTextandroid:text=""android:id="@+id/edtA2Input"android:layout_width="match_parent"android:layout_height="wrap_content"></EditText><Buttonandroid:text="确定"android:id="@+id/btnA2OK"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button><Buttonandroid:text="取消"android:id="@+id/btnA2Cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button></LinearLayout>程序运行结果:程序包:主界面:点击登录按钮后:点击确定按钮后:点击链接网页按钮后:点击确定按钮后:实验心得体会:通过本次实验深入了解了Intent实现进程间的通信过程。