Android编程基础试验报告三_第1页
Android编程基础试验报告三_第2页
Android编程基础试验报告三_第3页
Android编程基础试验报告三_第4页
Android编程基础试验报告三_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南昌航空大学实验报告二0一三年一月六日课程名称: 移动终端编程技术 实验名称:An droid 组件通信和后台效劳班级: 姓名: 同组人:指导教师评定: 签名:一、实验目的了解使用Intent进行组件通信的原理,掌握使用Intent启动Activity的方法;掌握获取Activity 返回值的方法;了解Intent过滤器的原理与匹配机制;了解Service的原理和用途;掌握进程内效劳的治理方法;掌握效劳的隐式启动和显式启动方法;二、实验工具Eclipse (MyEclipse) + ADT + SDK ;三、实验题目1.编程实现功能描述:主界面上有一个“登录按钮,点击“登录按钮后翻开一个新的A

2、ctivity ;新的 Activity 上面有输入用户名和密码的控件,在用户关闭这 个 Activity 后,将用户输入的用户名和密码传递到主界面中. 编程要点:主界面的 Activity 命名为 MainActivity ;启动新的 Activity 命名为 UserLoginActivity ; 分别使用显示启动和隐式启动的方式,启动新的Activity ; 用户名中不能出现“ 符号,同时长度不超过 12 个字符;密码使用 密码文本显示方式,即显示为“ * ,同时只能为数字; 返回的用户名和密码要以 Toast 的方式显示出来; MainActivity 和 UserLoginActiv

3、ity 中各个生命周期的回调函数中 要以方式显示日志信息.2. 编程实现 功能描述: 编程建立一个简单的进程内效劳,实现比拟两个整数大小的功能.效劳 提供 IntCompare(Int, Int) 函数,输入两个整数,输出较大的整数. 编程要点: 主界面的 Activity 命名为 MainActivity ;提供两个 EditText ,分别 输入两个整数;提供一个 Botton ,启动比拟过程;提供一个 TextView ,显 示较大的整数; 分别使用启动方式和绑定方式使用Service ; 分别使用 Handle 和 AsyncTask 更新 TextView 中的内容.四、实验步骤1.

4、 详细工程结构及局部代码(显式和隐式都在其中) :结果:代码:public class MainActivity extends Activity protected int SUBACTIVITY1 = 1; private static String TAG = "MainActivity" Button button1,button2;public void onCreate(Bundle savedInstanceState) (savedInstanceState);(TAG, "(1) onCreate()");(new () public

5、void onClick(View v) Intent intent = new Intent,; (getApplicationContext(), " 显示启动 ", .show(); startActivityForResult(intent, SUBACTIVITY1););(new () public void onClick(View v) (getApplicationContext(), " 隐式启动 ", .show(); startActivityForResult(intent, SUBACTIVITY1););protected

6、void onActivityResult(int requestCode, int resultCode, Intent data) (requestCode, resultCode, data);if (resultCode = RESULT_OK) Uri uriData = (); (getApplicationContext(), (), .show(); else (getApplicationContext(), " 用户名和密码为空 ", .show(); Override oString();String pass=().toString();String

7、 uriString="用户名: "+name+" 密码: "+pass;Uri data = (uriString);Intent result = new Intent(null, data); setResult(RESULT_OK, result); finish(););(new () public void onClick(View v) */public static int maxNum;public static Handler handler=new Handler(); private static TextView result=

8、null; private static Button compare=null; private static Button reset=null; private static EditText one=null; private static EditText two=null;public static void UpdateGUI(int refreshDouble) maxNum=refreshDouble;(RefreshLable);private static Runnable RefreshLable=new Runnable() public void run() (ma

9、xNum);public void onCreate(Bundle savedInstanceState) final Bundle mybundle=new Bundle();(savedInstanceState);final Intent intent=new Intent,;(new OnClickListener() public void onClick(View v) ("one", ().toString();("two", ().toString();(mybundle);startService(intent););(new OnCl

10、ickListener()public void onClick(View v) (null);(null);(null););public class CompareService extends Service private Thread workThread;Bundle bundle=null;int one=0,two=0;public void onCreate() ();workThread = new Thread(null,backgroudWork,"WorkThread"); Overridepublic void onStart(Intent in

11、tent, int startId) (intent, startId); bundle=();String c1=("one");String c2=("two"); if(!().equals("")&&!().equals("") one=(c1); two=(c2); if (!()();public IBinder onBind(Intent intent) return null;private Runnable backgroudWork = new Runnable() Overri

12、de public void run() int randomDouble =IntCompare(one,two); (randomDouble);stopSelf();int IntCompare(int a,int b) if(a>=b) return a;elsereturn b;( 隐式启动 ) 结果: 局部代码:public class MainActivity extends Activity /* Called when the activity is first created. */ private boolean isBound = false; private C

13、ompareService compareService; int a=0,b=0;Overridepublic void onCreate(Bundle savedInstanceState) (savedInstanceState);if(!isBound)Intent serviceIntent=new Intent,; bindService(serviceIntent,mConnection,; isBound=true;(new OnClickListener()public void onClick(View v) String c1=().toString();String c

14、2=().toString(); if(!("")&&!("")a=(c1); b=(c2);(a, b););(new OnClickListener() public void onClick(View v) (null);(null);(null););private ServiceConnection mConnection=new ServiceConnection() Overridepublic void onServiceConnected(ComponentName name, IBinder service) etSe

15、rvice();Overridepublic void onServiceDisconnected(ComponentName name) / TODO Auto-generated method stub compareService=null;public class CompareService extends Service private final IBinder mBinder=new LocalBinder(); class LocalBinder extends BinderCompareService getService() return ;Overridepublic

16、IBin der onBin d(I ntent intent) / TODO Auto-ge nerated method stubreturn mBi nder;public int In tCompare(i nt a,i nt b)if(a>=b)return a;elsereturn b;五、作业1. 简述Intent的定义和用途Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息.Intent 为 Activity 、Service 和 BroadcastReceiver 等组件提供交互水平,将一个组件的数据和动作传递给另一个组件.In te nt的一个最常见的用途就是启动Activity 和Service ;另一个用途是在An droid系统上发布播送消息,播送消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息.2. 简述Service的根本原理和用途Service能够长期在后台运行.适用于无需用户干预且规那么或长期运行的后台功能.首先、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论