智能终端软件开发试验_第1页
智能终端软件开发试验_第2页
智能终端软件开发试验_第3页
智能终端软件开发试验_第4页
智能终端软件开发试验_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、教育资料实验一:An droid用户界面(1)一、实验目的1. 熟悉An droid应用程序开发环境的构建过程,了解An droid应用程序的文件结构,学会进行An droid应用程序开发。2. 理解 An droid 用户界面的基本概念,掌握TextView、EditText、Button、ImageButt on、Checkbox、RadioButt on、Spi nner、ListView 等常用控件的使用。3. 了解An droid系统的6种界面布局,掌握线性布局、框架布局、表格布局、相对布局、绝对布局、网格布局等界面布局的使用。二、实验内容 ExpreimentlHello worl

2、d!NullCheckBoxIRadioButtonCheckBox2RadioButtonZLInputACLoseaIn put按钮时,TestView 上显 时,在 TestView 和 CheckBox2均 和 CheckBox2被TestView 上显RadioButto n2 选中”; 被选中;开发如图所示的 An droid应用程序。 功能及要求。1)在EditText中输入数据,当点击把输入的信息在TestView上显示;2)当选择CheckBox1时,在示CheckBox1被选中”;当选择CheckBox2 上显示“ CheckBox2被选中”;当CheckBox1 被选中时

3、,在TestView上显示“CheckBox1 选中”;3)当选择RadioButton1时,在示RadioButton1被选中”;当选择时,在 TestView 上显示“ RadioButton1 被 RadioButton1 和 RadioButton2 不能同时4)点击Close时,关闭应用程序。三、试做步骤和参考代码1. 构建实验环境1) 下载 adt-bundle-windows-x86-20130917.467161976(集成 Android4.3 版本);2)安装JDK;3 )注册环境变量。2. 创建新的An droid程序过程1)打开 An droid 工程向导:File 宀

4、 New Project I An droid An droid Project2)填写工程名称、选择程序运行的An droid系统版本、填写应用程序名称3)点击“ Finish ”按钮,工程向导会根据用户所填写的An droid工程信息,自动在后台创建 An droid工程所需要的基础文件和目录结构。3. 编程实现实验内容【主要参考代码】1 )界面布局vRadioButt on an droid:id=+id/RadioButto n01an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntand

5、roid:text=RadioButton01 vRadioButt on an droid:id=+id/RadioButto n02an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntandroid:text=RadioButton02 v/RadioButto nvButton an droid:id=+id/Butto n01an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntan droid

6、:text=I nput v/Butto nvButton an droid:id=+id/Butto n02an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntan droid:text=Close v/Butto nv/L in earLayout2)获取各控件IDfinal TextView textView = (TextView)fi ndViewByld(R.id.TextViewOI);finalEditText editText = ( EditText )findViewById

7、(R.id. EditText 01);final CheckBox checkBox 1= (CheckBox)fi ndViewByld(R.id.CheckBoxOI);final CheckBox checkBox2= (CheckBox)findViewByld(R.id.CheckBox02);final RadioButt on radioButton1 = (RadioButto n)fin dViewByld(R.id.RadioButto n01); final RadioButt on radioButt on2 = (RadioButto n)fin dViewByld

8、(R.id.RadioButto n02); Button butt on1 = (Butto n)fin dViewByld(R.id.Butto n01);Button butt on2 = (Butto n)fin dViewByld(R.id.Butto n02);3 )监听事件CheckBox 监听:CheckBox. On ClickListe ner checkboxListe ner = new CheckBox.O nClickListe ner() Overridepublic void on Click(View v) switch(v.getld()case R.id.

9、CheckBox01:textView.setText(CheckBoxO1, isChecked:+Stri ng.valueOf(checkBox1.isChecked();return;case R.id.CheckBox02:textView.setText(CheckBox02,isChecked:+Stri ng.valueOf(checkBox2.isChecked();return;;RadioButt on监听:RadioButto n.On ClickListe ner radioButto nListe ner = newRadioButto n.On ClickList

10、e ner()Overridepublic void on Click(View v) switch(v.getld()case R.id.RadioButto n01:textView.setText(RadioButt on1 is selected); return;case R.id.RadioButto n02:textView.setText(RadioButton2 is selected);return;radioButt on 1.set On ClickListe ner(radioButto nListe ner);radioButt on 2.set On ClickL

11、iste ner(radioButto nListe ner);Butt on监听:Butto n1.set On ClickListe ner( new View. On ClickListe ner() public void on Click(View view) Stri ng msg = editText.getText().toStri ng();textView.setText(msg););Butto n2.set On ClickListe ner( new View. On ClickListe ner() public void on Click(View view) f

12、in ish(););四、实验要求1. 按时到指定实验室进行实验;2. 学生应独立完成An droid程序开发平台的搭建;3. 会创建新的An droid应用程序及编辑已创建的 An droid应用程序;4. 完成实验内容要求的 An droid应用程序五、实验报告实验报告应包含以下内容:1. 实验目的;2. 实验内容;3. Android应用程序创建过程(工程名字用本人的姓或班内序号+Experiment1组成);4. 给出主要的程序代码,如界面布局文件、逻辑代码文件等中的实现代码。5. 在报告中给出程序运行界面;6. 应有必要的总结和分析。实验二:An droid用户界面(2)一、实验目的

13、1. 掌握菜单资源的使用,能够编程实现选项菜单、子菜单和快捷菜单。2. 了解操作栏和Fragment的基本概念和使用方法。3. 熟悉MV(模型中的控制器概念和界面事件,能够处理单击事件、按键事件、触摸事件等界面事件的 处理。二、实验内容开发如图所示的 An droid应用程序。IIEH 1打印订闻(1)( 2)( 3)功能及要求。1)图(1)所示为程序的初始界面,给出使用在XM文件中定义和逻辑代码动态生成两种菜单定义方法的实现代码;2)定义菜单的的点击事件,该事件的处理过程是:若某个菜单子项被选中,在TextView控件显示该菜单子项的名称和菜单ID ;3)图(2)所示是使用XM文件方法实现菜

14、单定义时,点击“打印”子项时的用户界面;4)图(3)所示是使用逻辑代码动态生成方法实现菜单定义时,点击“打印”子项时的用户界面。三、试做步骤和参考代码【主要参考代码】1)XM实现方法2)获取各控件IDfinal static int MENU_OO = Men u.FIRST;final static int MENU_01 = Me nu.FIRST+1;final static int MENU_02 = Men u.FIRST+2;final static int MENU_03 = Men u.FIRST+3;final static int MENU_04 = Men u.FIRST

15、+4; public boolea n on CreateOpti on sMe nu(Menu menu) men u.add(0,MENU_00,0, me nu.add(0,MENU_01,1, men u.add(0,MENU_02,2, men u.add(0,MENU_03,3, me nu.add(0,MENU_04,4, return true;打印 ”).setlcon(R.drawable.picO); 新建).setIcon(R.drawable.pic1); 邮件).setIcon(R.drawable.pic2); 设置).setIcon(R.drawable.pic

16、3); 订阅).setIcon(R.drawable.pic4);3 )逻辑代码public boolea n onO pti on sltemSelected(Me nultem item) TextView label = (TextView)fi ndViewByld(R.id.label);switch (item.getltemld() case MENU 00:label.setText(” return true;case MENU_01: label.setText( return true;case MENU_02: label.setText( return true;ca

17、se MENU_03: label.setText( return true;case MENU_04: label.setText( return true;default:打印,菜单ID : 新建,菜单ID : 邮件,菜单ID : 设置,菜单ID : 订阅,菜单ID :+ item.getltemld();+ item.getltemld();+ item.getltemld();+ item.getltemld();+ item.getltemld();return false;四、实验要求1.按时到指定实验室进行实验;2.完成实验内容要求的 An droid应用程序五、实验报告实验报告

18、应包含以下内容:1. 实验目的;2. 实验内容;3. Android应用程序创建过程(工程名字用本人的姓或班内序号+Experiment2组成);4. 给出主要的程序代码,如界面布局文件、菜单定义文件、逻辑代码文件等中的实现代码。5. 在报告中给出程序运行界面;6. 应有必要的总结和分析。实验三:Intent及组件通信、实验目的1. 了解使用Intent进行组件通信的原理。2. 掌握使用Intent启动Activity 的方法。3. 掌握获取Activity返回值的方法。、实验内容SuhAetivil 2关闭开发如图所示的 An droid应用程序。启动 Activity 1S s/JActi

19、vity 2(1)( 2)( 3)功能及要求。1)图(1)为程序的初始界面(父 Activity ),其主要功能是提供1个TextView和两个Button,点击 启动Activity1 ”则启动图(2)所示的SubActivity1 (子Activity ),点击启动 Activity2 ”则启动图(3)所示的 SubActivity2 (子 Activity );2)SubActivity1 包含 1 个 TextView、1 个 EditText 和两个 Butt on , TextView 用于提示当前 Activity 是子Activity , EditText用于输入返回父 Act

20、ivity 的信息,点击接受” Button则关闭SubActivity1 并把输 入信息返回,点击撤销”Button则直接关闭SubActivity1 ;3)当有信息从子Activity 返回时,父Activity接收返回信息并把它显示在TextView控件上;4)SubActivity2 包含 1 个 TextView、1 个 Butt on , TextView 用于提示当前 Activity 是子 Activity , Button 则直接关闭SubActivity2 。三、试做步骤和参考代码【主要参考代码】1 )父 Activity2) SubActivity1v?xml versi

21、on=1.0 encoding=utf-8?vTextViewan droid:id=+id/textShowan droid:layout_width=fill_pare ntan droid:layout_height=wrap_c on te ntan droid:text=SubActivity 1/vEditTextan droid:id=+id 尼ditan droid:layout_width=fill_pare ntan droid:layout_height=wrap_c on te ntan droid:text=/vButt onan droid:id=+id/btn_o

22、kan droid:layout_width=100dipan droid:layout_height=wrap_c on te ntan droid:text=接受/vButt onan droid:id=+id/btn_ca ncelan droid:layout_width=100dipan droid:layout_height=wrap_c on te ntan droid:text=撤销/v/Lin earLayout3) SubActivity2v?xml version=1.0 encoding=utf-8?vLin earLayout xml ns:a ndroid= ndr

23、oid an droid:orie ntati on=verticalan droid:layout_width=fill_pare ntan droid:layout_height=fill_pare ntvTextViewan droid:id=+id/textShowan droid:layout_width=fill_pare ntan droid:layout_height=wrap_c on te ntandroid:text=SubActivity 2/v/Lin earLayout4 )子 Activity 注册vactivity an droid:label=stri ng/

24、app_ namean droid:n ame=.SubActivity1 v/activity vactivity an droid:label=stri ng/app_ namean droid:n ame=.SubActivity2v/activity4) SubActivityl 定义public class SubActivityl exte nds Activity Overridepublic void on Create(B un dle savedl nsta nceState) super.o nCreate(saved In sta nceState); setC ont

25、en tView(R.layout.subactivityl);final EditText editText = (EditText)fi ndViewByld(R.id.edit); Button btnOK = (Butto n)fin dViewByld(R.id.btn_ok);Button btn Ca ncel = (Butto n)fin dViewByld(R.id.btn_ca ncel);btnO K.set On ClickListe ner( new On ClickListe ner() public void on Click(View view)Stri ng

26、uriStri ng = editText.getText().toStri ng(); Uri data = Uri.parse(uriStri ng);Intent result = new lntent(n ull, data);setResult(RESULT_OK, result); fin ish(););bt nCa ncel.set On ClickListe ner( new On ClickListe ner() public void on Click(View view)setResult(RESULT_CANCELED, n ull);fin ish(););5) S

27、ubActivity2 定义public class SubActivity2 exte nds Activity /* Called when the activity is first created. */Overridepublic void on Create(B un dle savedI nsta nceState) super.o nCreate(saved In sta nceState);setC onten tView(Rayout.subactivity2);Button bt nRetur n = (Butto n)fin dViewByld(R.id.btn_ret

28、urn);btn Retur n. set On ClickListe ner( new On ClickListe ner()public void on Click(View view) setResult(RESULT_CANCELED, n ull); fin ish(););6) 主要逻辑代码public class ActivityCom muni cati on Activity exte nds Activity private static final int SUBACTIVITY1 = 1;private static final int SUBACTIVITY2 = 2

29、;TextView textView;/* Called when the activity is first created. */Overridepublic void on Create(B un dle savedI nsta nceState) super.o nCreate(saved In sta nceState);setC onten tView(Rayout.ma in);textView = (TextView)fi ndViewByld(R.id.textShow);final Button btn1 = (Butto n)fin dViewById(R.id.bt n

30、1);final Button btn2 = (Butto n)fin dViewById(R.id.bt n2);bt n1.setO nClickListe ner( new On ClickListe ner()public void on Click(View view)Intent intent = new Intent(ActivityCommunicationActivity.this, SubActivity1.class);startActivityForResult(i ntent, SUBACTIVITY1););bt n2.setO nClickListe ner( n

31、ew On ClickListe ner() public void on Click(View view)Intent intent = new Intent(ActivityCommunicationActivity.this, SubActivity2.class);startActivityForResult(intent, SUBACTIVITY2););Overrideprotected void on ActivityResult(i nt requestCode, int resultCode, Intent data) super.o nActivityResult(requ

32、estCode, resultCode, data);switch(requestCode)case SUBACTIVITY1:if (resultCode = RESULT_OK)Uri uriData = data.getData(); textView.setText(uriData.toStr in g();break;case SUBACTIVITY2:break;四、实验要求1. 按时到指定实验室进行实验;2. 完成实验内容要求的 An droid应用程序五、实验报告实验报告应包含以下内容:1. 实验目的;2. 实验内容;3. Android应用程序创建过程(工程名字用本人的姓或班

33、内序号+Experiment3组成);4. 给出主要的程序代码,如界面布局文件、菜单定义文件、逻辑代码文件等中的实现代码。5. 在报告中给出程序运行界面;6. 应有必要的总结和分析。实验四:Service及后台服务、实验目的1. 了解Service的原理和用途,掌握本地服务的管理方法。2. 掌握服务的隐式启动和显式启动方法。3. 了解线程的启动、挂起和停止方法,了解跨线程的界面更新方法。、实验内容开发如图所示的 An droid应用程序。idkiReauhiiiulResult dftrAfiuft版劳啣定谡学运Ji(1)( 2)( 3)功能及要求。1 )图(1)为程序的初始界面,设计 4个T

34、extView和3个Butt on2) 点击服务绑定” Button,则将已定义好的MathService ”服务绑定到本进程(“ MathService 服务的功能是提供“ +、-、*、/ ”四个运算);3)点击“取消绑定” Button,则将 “ MathService ”服务与本进程的绑定取消;4)点击“数学运算”Butt on,则首先生成两个0-100的随机数,然后分别计算这两个数的和、差、积和商,并分别显示在4个TextView上;若点击“数学运算” Button时,“ MathService ”服务未被绑定或已经解除了绑定,则显示如图(3)所示信息。三、试做步骤和参考代码【主要参考

35、代码】1 )界面设计2)服务定义public class MathService exte nds Serviceprivate final IBin der mBin der = new LocalB in der();public class LocalB in der exte nds BinderMathService getService() return MathService.this;Overridepublic IBin der onBin d(I ntent intent) Toast.makeText(this,本地绑定:MathService,Toast.LENGTH_

36、SHORT).show(); return mBi nder;Overridepublic boolea n onUnbin d(I ntent inten t)Toast.makeText(this,取消本地绑定:MathService,Toast.LENGTH_SHORT).show();return false;public long Add(l ong a, I ong b) return a+b;public long Sub(l ong a, l ong b) return a-b;public long Mul(l ong a, l ong b) return a*b;publi

37、c double Div(lo ng a, l ong b) retur n (double)a/(double)b;3 )服务注册vservice an droid: name=.MathService/4)主要逻辑代码public class Mai nActivity exte nds Activity private MathService mathService; private boolea n isBo und = false;TextView addLable,subLable,mulLable,divLable;Overridepublic void on Create(B

38、un dle saved In sta nceState) super.o nCreate(savedl nsta nceState);setC on te ntView(R.layout.activity_mai n);addLable = (TextView)fi ndViewByld(R.id.labell);subLable = (TextView)fi ndViewByld(R.id.label2);mulLable = (TextView)fi ndViewByld(R.id.label3);divLable = (TextView)fi ndViewByld(R.id.label

39、4);Button bin dButton = (Butto n)fin dViewByld(R.id.bi nd);Button un bi ndButton = (Butto n)fin dViewByld(R.id.u nbi nd);Butt on computButt on = (Butt on)fin dViewByld(Rpute);bin dButt on .setO nClickListe ner( new View. On ClickListe ner()Overridepublic void on Click(View v) if(!isBou nd)newfinalIn

40、tentservice IntentInten t(Mai nActivity.this,MathService.class);bin dService(serviceI nten t,mCo nn ectio n,Co ntext.BIND_AUTO_CREATE); isBo und = true;);unbin dButt on. set On ClickListe ner(new View. On ClickListe ner()Overridepublic void on Click(View v) if(isBou nd)isBo und = false;un bi ndService(mC onn ectio n);mathService = n ull;);computButton .setOnClickListener(new View. OnClickListener()Overridepublic void on Click(View v) if (mathService = nu ll)addLable.setText(”未绑定服务”);subLable.setText();mulLable.setText();divLable.setText();return;long a = Math.rou nd(Math.ra

温馨提示

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

最新文档

评论

0/150

提交评论