版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Intent的Component属性的作用是什么,如何定义此属性?
component(组件),指定Intent的的目标组件的类名称。通常Android会根据Intent中包含的其它属性
的信息,比如action、data/type.category进行查找,最终找到一个及之匹配的目标组件。但是,如果
component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以
后,Intent的其它所有属性都是可选的。
Component属性的作用是用来指定Intent的目标组件的类名称。如果Component这个属性被指定了的话,
Intent的其它属性都是可选项,Android会直接使用Component指定目标组件,而不再执行其它查找过程。
在使用时,需要先创建一个ComponentName对象,然后将它设置成Intent对象的Component的属性。通过
setCoirponent()>selClassO和sHClassNameO三种方法都可以设置组件的名称,通过getComponent()方
法则可获得设置项。
2.发送广播时,可以通过sendCatagoryBroadcastO方法将Intent对象发送出去().(错)
3、Android是什么?一种操作系统
4.下面关于Androiddvm的进程和Linux的进程,应用程序的进程说法正确的是()
DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik
虚拟机实例。而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念。
5、Android操作系统最早由哪个公司研发?()Android公司
6.下列中不属于手持设备的是()机顶盒
7、下列不是手机操作系统的是()oWindowsVista
8、到目前为止,Android操作系统的最高版本是哪个?()AndroidL
9、安装AndroidSDK时,可以通过()在线安装或离线安装。Androidsdkmanager
10、开发Android应用程序时,一般使用的计算机语言是()。JAVA
11,E/AndroidRuntime(1099):java.lang.RuntimeException:Unabletoinstantiateactivity
Componentlnfo{com.test/com.test.CanvasActivitys}:java.lang.ClassNotFoundException:
com.test.CanvasActivitysinloaderdalvik.system.PathClassLoadcr[/data/app/com.tcst-1.apk]这
段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里?()
Canva类没有在AndroidManifest中正确申明sActivitys
12.对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间
接Intent,通过解析,将Intent映射给可以处理此Intent的ActivityJntentReceiver或Service(对)
Intent可以传递View对象(错)
Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者及被调用者之间的解耦
(对)
通过Intent可以删除程序(对)
13.下面退出Activity错误的方法是()。System,exit()
14.当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是
()ostartActivityResultO
15、这是一个资源配置文件,下面描述正确的是?()这个shape文件是画一条虚线,实线段5dp,间隔3dp
16.Toasttoast=newToast(this);toast.setText(〃今天天气不错\n哈哈〃);toast.show();上面代码
的执行结果是什么()。
代码会抛出异常,因为new出的Toast对象不能再使用setText方法来设置提示框文本
17、setOnTouchEvent设置返回值为true和false有何区别?()
返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息
18、下列哪个可做EditText编辑框的提示信息()。android:hint
19、使进度条变横向的系统样式是()0android:style/Widget.ProgressBar.Horizontal
20、关于Android事件机制及事件监听,下列说法不正确的有1)。
i.View类里的eventlistener是一个带有回调方法的接口,当UI里的组建是被用户触发时,这些方法会
被系统框架所调用;(对)
ii.来自View.OnClickListener,当点击这个Item(在触摸模式),或者当光标聚集在这个Item上时按下
“确认”键,导航键,或者轨迹球,它会被调用;(对)
iii,来自View.OnLongClickListener,当长按这个Item(在触摸模式),或者当光标聚集在这个Item上时
长按“确认”键,导航键,或者轨迹球,它会被调用;(对)
iv.来自View.OnFocusChangeListener,当手移到或离开这个Item,它会被调用(对)
v.来自View.OnKeyListener,当光标移到这个Item,按下和释放一个按键的时候,它会被调用;(对)
vi.来自View.OnTouchListener,在这个Item的范围内触摸的时候,它会被调用;(对)
vii.来自View.OnCreateContextMenuListener,当上下文菜单被建立时,只需短按一下,它会被调用。
(错)
21.关于对话框,下面说法正确的是()。对话框的父类不是View
22.创建一个提示对话框,应创建下面哪种对话框实例()。AlertDialog
23、在AlertDialog中,以下哪个方法是用于取消的()。setNegativeButton
24.在android中使用Menu时可能需要重写的方法有()。(1)onCreateOptionsMenu()(3)
onOptionsItemSelectedO
25.键盘事件处理方法中,以下哪个方法是用来处理键盘按键的释放事件的()。keyReleased(int
keyCode)
26.下面Android的存储方式中,除SharedPreferences外还有哪种方式是不可以将数据在不同应用间数据
共享的()oFiles
27、当使用文件存储的时候,默认创建的文件会放在什么位置()。app
28、关于SharedPreferences和文件存储数据描述正确的是()。使用文件存储需要创建文件,而
SharedPreferences的存储方式自动创建xml文件
29、使用SharedPreferences进行数据存储的时候,下面哪个方法是不参及的()ceditO
30、使用SharedPreferences存储数据时,会创建一个什么类型的文件来进行数据存放()。.xml文
件
40、在RelativeLayout布局中,有一个id为entry的EditText,目前有一个Button想放置在其左边,应
为Button指定什么属性设置()oandroid:layout_toLeftOf=〃@id/entry〃
41.在一个相对布局中怎样使一个控件居中()。android:layout_centerInParent二〃true”
42.在表格布局中,android:collapseColumns二T,2〃的含义是:()在屏幕中,不管是否能都显示完,折
叠1.2列
43.绝对布局中,android:layoujx的含义有()以手机左,为原点,组件显示到屏幕中的横向坐标值。
44、简述开发手机联盟?
开放手机联盟(OHA,OpenHandsetAlliance,)是美国Google公司及2019年11月5日宣布组建的一个
全球性的联盟组织,网址为http://openhandsetal1iance。这一联盟将会支持Google可能发布的手机操
作系统或者应用软件,共同开发名为Android的开放源代码的移动系统。开放手机联盟包括手机制造商、手
机芯片厂商和移动运营商等几大类,目前联盟成员数量已经达到了80家。
45.以下哪一个类可以实现广播接收的功能()oBroadcastReceiver
46.Android系统有哪些特点?
(1)应用框架可以重复使用,其组件也可以更换;(2)Dalvik虚拟机针对移动设备进行了优化;(3)优
化的图形能力支持2D/3D图形(OpenGLESLO);(4)集成了基于开源WebKit引掣的浏览器;(5)采用
SQLite实现结构化数据存储;(6)多媒体支持多种音频、视频格式;(7)GSMTelephony(hardwaredependent);
(8)支持蓝牙Bluetooth,3G和WiFi;(9)支持照相机、GPS、指南针和加速度仪等传感器硬件;(10)
丰富的开发环境,包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。
47、在AndroidManifest.xml中注册一个广播,需要使用什么标签()«〈receiver〉
48、定义广播需要重写父类中的什么方法()。onCreate
49、在程序中,发送广播的方法是以下哪一个()osendBroadcast
50定义一个广播,需要继承哪个类(BroadcastReceiver)
51.简述Android应用程序的组成。
52、一般来说,Android程序包含如下主要的组件类:活动(Activity);用于表现功能服务(Service);相
当于后台运行的Activity广播接收器(BroadcastReceiver)用于接收广播意图;Intent用于连接
以上各个组件,并在其间传递消息;ContentProviders实现不同组件之间的数据共享;View提供了可视化
界面的展示。
53、Dalvik虚拟机及Sun公司定义的标准虚拟机(JVM)有何不同?
54、Dalvik和JVM的首要差别是Dalvik基于寄存器而JVM基于栈,基于寄存器的虚拟机对于更大的程序来
说,在它们编译的时候,花费的时间更短;(2)Dalvik主要是完成对象生命周期管理,堆栈管理,线程管
理,安全和异常管理,以及垃圾回收等等重要功能;(3)Dalvik负责进程隔离和线程管理,每一个Android
应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行;(4)不同于JVM
运行Java字节码,Dalvik虚拟机运行的是其专有的文件格式dex,dex文件格式可以减少文件整体尺寸,提
高I/O操作的类查找速度;(5)所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多
的依赖操作系统的线程调度和管理机制。
55、请谈一下Android系统的架构
Android系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux
核心层。
54、Android开发环境搭建需要哪些主要步骤?
安装Java安装Eclipse安装AndroidSDK安装Eclipse插件ADT
55.Windows环境下如何检测已经安装成功Java?
写一个简单的java程序来测试JDK是否已安装成功:
publicclassHelloWorldf
publicstaticvoidmain(String[]args){
System.out.printIn("Helloworld!”);
将以上代码保存为文档名为HelloWorld.java的文档。打开命令提示符窗口,进入到
HelloWorld.java所在目录,键入下面的命令:
javacHelloWorld.java
javaHelloWorld
如果屏幕如图,能够正确输出且不泥示错误,表示JDK开发环境配置完成。
56.什么是AVD,有哪些特点?
AndroidVirtualDevice是一个经过配置的模拟器,可以模拟显示屏幕的大小、屏幕分辨率、触摸屏、轨
迹球、键盘、GPS、声音播放、SD卡支持,缓存区大小等。AVD也存在着缺点,不能模拟重力感应、麦克风
等一些硬件设备,因此有时候也需要实体手机上运行和测试Android应用程序。
57、什么是ADT?
AndroidDevelopmentToolsplugin(ADT)是使用Eclipse进行Android移动应用开发的一个方便的开发、
仿真测试平台。
59、58、在手机的实机上进行开发调试需要在手机上如何设置?
60、在手机上进行开发调试需要在手机上进行设置,选择设置一应用程序-开发-USB调试,之后USB连接开
发计算机才能进行开发调试。
Activity,intent、Service和BroadCastReceiver之间是什么关系
60、Intent的Action、Category属性的作用是什么?
Action属性主要用来定义Intent要执行的抽象动作,它是一个字符串。使用时只需在程序中定义,并在要
访问组件的〈intent-filter…/〉子元素中声明就可以使用了「Category属性是对Action定义动作的补充,
也是一个普通的字符串,通常两者结合使用。
在文件AndroidManifest.xml里,〈Activity…/〉元素中所配置的子元素〈intent-filter…/〉的作用就是
用于指定该Activity可响应的Intent。
61.Intent的Data、Type属性的作用是什么?
Intent的Data属性的作用是向Action属性提供操作的数据。Data属性接受一个Uri对象,此对象可以决
定所要操作数据的类型及数据的具为值。
可以通过设置Type属性来显式指定特定类型数据(MIME)。一般Intent会根据数据本身对其数据类型进行判
定,但是如果使用Intent的Type属性进行设置,可以实现强制显式指定的类型而不再进行推导。
62.简述Intent的功能及作用。
Intent是Android中各种组件之间传送信息的“信使”。中文里Intent有“意图、目的”的意思,在这
里仍兼有这样的含义,因为在组件之间导航的过程中,我们也需要使用Intent将意图一并传递过去。上一
章中,在一个Activity里激发另一个Activity的例子中就体现了Intent的功能。
使用Intent的好处就是应用程序可以启动只具有某种特征的的组件,而不必指定某个具体的组件。Intent
中可以封装不同组件之间进行导航的意图。这些意图需要通过Intent的属性来表现。
63.Intent的实现策略分为几种类乱请分别叙述。
Inlent的实现策略即指Intent寻找组件的方法。这种策略分为两种:一种是直接Intent,也称为显式
Intento另一种是间接Intent,也称为隐式Intent。
直接Intent方式需要通过指定Intent的Component属性(调用setComponent(ComponentName)或者
setClass(Context,Class)来指定)来实现.这样应用就会对应的启动所指定的具体组件类。在以上对
Intent的Component属性的介绍中就说明过。这种策略主要在源组件知道目标组件名称的情况下使用。
间接Intent策略中没有指定Component属性的Intent,寻找组件需要通过〈intent-filter…/〉子元素
来实现。这就要求Intent中包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定
出满足Intent的组件c
64、Android系统提供的Acticn常量有哪些,如何使用。
Action常量常量值(字符串)动作说明
ACTION_CALLandroid,intent,action.CALL呼叫指定用户
ACTION_EDITandroid,intent,action.EDIT对于指定数据进行编辑
ACTIONVIEWandroid,intent,action.VIEW向用户显示指定数据
ACTION_PICKandroid,intent,action.PICK从列表中选择并返回某项目
ACTIOOIALandroid,intent,action.DIAL显示打电话面板,可以实现紧急呼叫
ACTIONSENDandroid,intent,action.SEND向他人发送数据(短信)
ACTION_ANSWERandroid,intent,action.ANSWER应答电话
65.如何在程序清单文件AndroidManifest.xml中配置Activity?
对于应用程序中的每一个Activity我们都需要在程序清单文件AndroidManifest.xml中进行配置,这
样才能有机会运行。这种配置也是非常简单的,方法就是在程序清文件的〈application…元素中添加
〈Activity…/〉子元素即可。添加时一般要注明该Activity的以下三个属性:
(1)name:指明要配置的Activity的实现类
(2)icon:指明要配置的Activity的图标
(3)label:指明要配置的Activity的标签
在文件AndroidManifest.xml中我们除了要配置每一个Activity外,还需进行子元素
〈intent-filter…/〉的配置,该元素用于指定Activity可响应的Intent。对于每一个应用程序来说,无论
它是由几个Activity组成,但只有一个Activity是它的入口。到底哪一个是人口的Activity,这得由清
单文件中的子元素〈intent-filter”〉来决定。如果想指定某个Activity为程序入口,这时需在其对应的
子元素〈片快睢-衍11°广・•/〉中必须具备如下属性:
(actionandroid:name="andmid.intent,action.MAIN"'/>
(categoryandroid^ame^android.intent,category.LAUNCHER"/>
66.介绍及Activity生命周期相关的回调方法的功能及使用方法。
及Activity生命周期相关的回调方法主要有以下七个:
(1)onCreateO:当创建一个Activity时,系统会回调onCreate。方法进行初始化设置,如创建视图、绑
定数据至列表。
(2)onStart():当一个Activity开始执行时此方法被回调,这时的Activity是可见的,会紧跟在
onCreate()方法后面执行。
(3)onResumeO:当一个Activity真正开始运行或重新恢复时被回调,此时会获得焦点。
当一个Activity运行时,如果用户又激活了另一个Activity,这时第一个Activity将会被暂停。在第一
个Activity在没有被杀死的情况下,以后又有了重新运行的机会,那么就会直接调用onResumeO方法将其
恢复。
(4)onPauseO:暂停Activity时被回调。
如果在一个Activity运行时,用户又激活了另一个Activity,这时将会调用第一个Activity的onPauseO
方法将其暂停。在Activity的状态变换过程中onResumeO和onPauseO方法经常被调用,因此在使用中应
使用简单高效的代码。
(5)onStopO:停止Activity时被回调。
如果在一个Activity运行吐用户又激活了另一个Activity,而且第一个Activity很久都没有得到再次
运行机会,就会调用onStopO方法将第一个Activity停止。
(6)onReStart():在Activity从停止状态转换到活动状态前,回调该方法。
当一个处于停止状态的Activity又获得了用户输入焦点,就会调用。「Restart()方法,重新开始执行这个
Activity。
(7)onDestroyO:在销毁Activity前,即进入非活动状态前,回调该方法。
67.Activity在其生命周期中会处于哪几种状态?
一个Activity在其生命周期中会在四个重要状态间进行转换.下面分别说明各状态:
(1)活动状态,处于该状态时,Activity位于前台,用户可见且可获得焦点;
(2)暂停状态,处于该状态时,该Activity仍可见,但失去焦点,其它Activity位于前台;
(3)停止状态,处于该状态时,Activity不可见且失去焦点;
(4)销毁状态,处于该状态时,Activity被系统或进程结束。
68、如何将一个Activity设置成窗口的样式。
在AndroidManifest.xml中定义Activity的地方添加:
android:theme二"©android:style/Theme.Dialog^或
android:theme=,^©android:style/Theme.Translucentv就变成半透明的
69、使用资源包括哪几种方法?
(1)在代码里使用资源类;(2)在代码里调用资源类并实例化;⑶从其他资源类里引用。
70、谈谈android中常用的几种布局。
在Android中,共有五种布局方式,分别是:FramcLayout(框架布局),LinearLayout(线性布局),
AbsoluteLayout(绝对布局),RelaiiveLayout(相对布局),TableLayout(表格布局)。
(DFrameLayout框架布局,放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个
确切的位置,下一个子元素会重叠覆盖上一个子元素,适合浏览单张图片。
(2)LinearLayout线性布局,是应用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,
每个子组件都是以垂直或水平的方式来定位(默认是垂直)。
(3)AbsoluteLayout绝对定位布局,采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下
Y轴递增,组件定位属性为android:layout_x和android:layout_y来确定坐标。
(4)RelativeLayout相对布局,根据另外一个组件或是顶层父组件来确定下一个组件的位置。和CSS里面的
类似。
(5)TableLayout表格布局,类似Html里的Table,使用TableRow来布局,其中TableRow代表一行,
TahleRow的每一个视图组件代表一个单元格c
7kandroid中常用的数据存储方式有哪些?
常用的数据存储方式:SharePreference存储、File存储(分为手机内存存储和SD卡存储)、SQLite数据
库存储和网络存储。
72.一个Activity就是一个可视化的界面或者看成是控件的容器。(对)
73、Intent有很长的生命周期,是没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面
而消失。(错)
74.当Antivity的启动模式设置为SingleTop表示当该Anctivity的实例在栈顶时只会产生一个实例。(对)
75.onPauseO方法在activity被暂停或收回cpu和其他资源忖调用,该方法用于保存活动状态的,也是对
运行时数据的现场保护。(对)
76、onDestroy是activity被结束掉前最后一个被调用方法,当调用finish方法或者系统为了节省空间将
它暂时性的结束掉时候调用。(对)
77、不是所有的Activity都有自己的生命周期。(错)
78、onPause()是service的生命周期方法(错)
79、如果sendee已经启动,再次启动该服务时将先后调用onCreateO和onStartCommandO方法。(错)
80^利用HttpURLConnection的.getlnputStreamO方法得到的是字符流。(错)
81.程序中使用htlp协议从网上下载文件时,无需设置访问网络的权限。(错)
82.使用startService()方法启动服务后,调用者和服务间没有关联,即使调用者退出了,服务任然进行。
(对)
83.当应用程序中某广播在AndroidMainifest进行注册后,即使该应用程序关闭后,也可以接受操作系统
发出的广播信息。(对)
84、Ulthread通常就是mainthread,Android启动程序时会替它建立一个MessageQueue。(对)
85.广播接收器可以在Activity中单独注册及注销。(对)
86.广播接收器只能在配置文件中注册「(错)
87、对下面代码:notification.vibrate=newlong[]{100,200,100,500),其中notification是通知管理
器对象表示我们对Notification没置了震动,并且是100ms延迟后,震动200nls,然后停止100ms,再震动
500ms(对)
88、使用Notification时,需要发送广播实现notify。(错)
89在AndroidManifest.xml中注册广播,需要使用标签。(对)
90^有2种方式注册BroadcastReceiver的方法,一是静态的在AndroidManifest.xml巾注册,二是动态的在
代码中注册。()(对)
91.如果需要一个通知立即显示,那么在构造Notification对象的时候,需耍在构造函数的第三个参数中传
递newCalendar。的值(错)
92.取消注册BroadcastReceiver,调用Context.unregisterReceiver()方法(对)
93.编写用Intent实现的用户登录程序。
要求:在第一个界面上输入用户名和密码,在第二个界面上显示前一界面中输入的用户名和密码。
MainActivity.java:
packagecom.example.androidintent;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid,content.Context:
importandroid,content.Intent;
importandroid,view.View;
importandroid,view.View.OnClickListener;
importandroid.widget.Button;
importandroid,widget.EditText:
importandroid.widget.Text.Vip\v:
publicclassMainActivityextendsActivity{
privateTextViewuser,pass;
privateEditTextusername,password;
privateButtonloca;
©Override
protectedvoidonCreate(BundlesavedlnstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout,activitymain);
user=(TextView)findViewById(R.id.user);
pass-(TextView)findViewById(R.id.pass);
username=(EditText)findViewByld(R.id.username);
password=(EditText)findViewBy!d(R.id.password);
loca=(Button)findViewById(R.id.loca);
loca.setOnClickListener(newMyButtonListener());
classMyButtonListenerimplementsOnClickListener{
©Override
publicvoidonClick(Viewv){
Stringtxl=usernane.getTextQ.toStringO;
Stringtx2=password.getTextO.toStringO;
Intentintent=newIntent();
intent.putExtraCtxl*,txl);
intent.putExtra(,,tx2",tx2);
intent.spt.Class(MainActivity.this,OthftrActivity,class);
MainActivity.this.startActivity(intent);
OtherActivity.java:
packagecom.example,androidintent;
importandroid.app.Activity;
importandroid.app.Activity;
importandroid,content.Intent;
importandroid.os.Bundle;
importandroid,view.View;
importandroid,widget.TextView:
publicclassOtherActivityextendsActivity(
privateTextViewtel,te2,te3,te4;
©Override
protectedvoidonCreate(BundlesavedlnstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout.other);
Intentintent二getlntentO;
Stringvaluel二intent.getStringExtra("txl");
Stringvalue2=intent.getStringExtraC,tx2,/);
tel=(TextView)findViewById(R.id.tel);
te2=(TextView)findViewById(R.id.te2);
te3二(TextView)findViewById(R.id.te3);
te4=(TextView)findViewById(R.id.te4);
tp2.setText(valuel);
te4.setText(value2);
activity_main.xml:
<LinearLayoutxmlns:android=,/http://schemas.android/apk/res/android”
,/
xirlns:tools二〃http://schemas.android/tools
android:layout_width二〃match_parent〃
android:layout_height=,,match_parent/,
android:orientation="vertical”>
<TextView
android:id="@+id/user〃
androidilayoutjvidth-^wrapcontent7"
android:layout_height二,Tap_content〃
android:text="用户名"/〉
<EditText
android:id="@+id/username〃
android:layout_width=*fill_parent,z
android:layout,height=xwrap_content,//>
<TextView
android:id="@+id/pass〃
android:layout_width=,,wrap_content〃
android:layout_height=、rap_content〃
android:text二〃密码〃/〉
<EditText
android:id=〃@+id/password〃
android:layout_width二〃fill_parent〃
android:1ayout_height=*wrap_content*/>
(Button
android:id=*6+id/1oca”
android:1ayout_width=z,fi1l_parent"
android:layout_height=xwrap_content,"
android:text二〃登陆〃/>
</LinearLayout>
other.xml:
<?xmlversion-"1.0"encoding-〃utf-8〃?〉
<LinearLayoutxmlns:android=,,http://schemas,android/apk/res/android^
android:layout_width二〃match_parent”
android:layout_height=z,match_parentz,
android:orientation二〃horizontal”>
<TextView
android:id=〃@+id/1e1〃
android:layoutwidth二〃wrapcontent”
android:layoutheight=*wrapcontent,/
android:text二”用户名:〃/>
<TextView
android:id=〃@+id/te2〃
android:layoutjvidth=,,vrapcontent”
android:]ayoutheight=*wrapcontent”
<TextViewandroid:id二〃@+id/te3”
android:layout_width二"wrapcontent”
android:!ayoutheight=,,wrap_content,/
android:text=〃密码:〃/>
<TextView
android:id=〃@+id/te4〃
android:layoutjvidth^wrap-Content^
android:layoutheight="wrapcontent”
</LinearLayout>
string,xml:
<?xmlversion=〃1.0〃encoding="utf-8〃?〉
(resources)
(stringname="app_name"〉androidintent</string>
(stringname=,,action_settings,,>Settings</string>
<stringname=,,he11o_wor111oworld!</string>
</rescurces>
94.编写程序实现如下功能:
(1)程序包含2个Activity
(2)ActivityOl包含一个按钮,点击按钮跳转到Activity02;
(3)Activity02包含一个按钮,点击按钮跳转到ActivityOl。
ActivityOl.java:
packagecom.example.wpp_201942577two;
importandroid,app.Activity;
importandroid.content.Intent;
importandroid,os.Bundle;
importandroid,view.View;
importandroid,view.View.OnClickListencr;
importandroid.widget.Button;
publicclassActivityOlextendsActivity(
^Override
publicvoidonCreate(BundlesavedlnstanceState)
super.onCreate(savedlnstanceState);
setContentView(R.layout,activity);
Buttonbutton=(Button)findViewByld(R.id.buttonl);
button.setText(〃启动Ac:ivity02,/);
button.setOnClickListener(newOnClickListenerO:
©Override
publicvoidonClick(Viewv){
Intentintent二newIntent(ActivityOl.this,Activity02.class);
startActivity(intent);
Activity02.java
packagecom.example.wpp_201942577two;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
import.android,view.View;
importandroid.view.View.OnClickListener;
importandroid,widget.Button;
publicclassActivity02extendsActivity(
©Override
publicvoidonCreate(BundlesavedlnstanceState)
super.onCreate(savedlnstanceState);
setContentView(R.layout.activity02);
ButtonotherButton=(Button)findViewById(R.id.button3);
otherButton.setText(〃进入ActivityOl");
otherButton.setOnClickListener(newOnClickListener(){
©Override
publicvoidonClick(Viewv){
Intentintent=newIntent(Activity02.this,ActivityOl.class);
startActivity(intent);
activityOl.xml:
<?xmlversion="1.0〃encoding="utf-8〃?〉
<LinearLayoutxmlns:android-^http://schemas,android/apk/res/android'"
android:layout_width="zmatch_parent
android:layoutJ^eight=",match_parent,,
android:orientalion=,,verticar,>
<TextViewandroid:id="@+id/textViewl〃
android:layoutwidth二〃口atch_parent〃
android:layoutheight^^wrapcontent”
android:text二〃ActivityOl”/>
(Buttonandroid:id二〃@+id/buttonl〃
android:layout_width=,,natch_parent,/
android:1ayout_height=xwrap_content
android:text二〃启动Activity”/>
</LinearLayout>
activity.02xml:
<?xmlversion=〃1.0〃encoding="utf-8〃?〉
<LinearLayoutxmlns:android^^http://schemas.android/apk/res/android,/
android:layout_width-〃match_parent”
android:layout_height=//match_parent,z
android:orientation二〃vertical”>
<TextView
android:id="/@+id/textViewl”
android:layout_width二〃口atch_parent〃
android:layoutheight="wrapcontent”
android:text二〃Activity02〃/>
<Button
android:id=〃@+id/button3”
android:layout_width=,,natch_parentz/
android:layout_height=*wrap_contentz,
android:text="Button”/>
</LinearLayout>
string,xml:
<?xmlversion二T.0〃encoding二〃utf-8”?〉
<resources>
(stringname=/,app_name/,>wpp_201942577Two</string>
(stringname=,,action_settings,,>Settings</string>
(stringname="hello_world,,>ActivityOK/string>
</rescurces>
95.使用CheckBox控件实现多项选择。
要求:添加4个选项,名称分别为:swim、run、dance、walk
MainActivity.class:
packagecom.example,lab;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Gravity;
importandroid,view.View;
importandroid.widget.Button;
importandroid.widget.CheckBox:
importandroid.widgetpoundButton;
importandroid,widget.TextView:
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
TextViewmTextViewl;
ButtonmBut.ton1;
CheckBoxmCheckBox1;
CheckBoxm_CheckBox2;
CheckBoxm_CheckBox3;
CheckBoxmCheckBox4;
/**Calledwhentheactivityisfirstcreated.*/
gOverride
publicvoidonCreate(BundlesavedlnstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout,activitymain);
m_TextViewl-(TextView)findViewByld(R.id.textview);
m_Buttonl=(Button)findViewByld(R.id.buttc-nl);
mCheckBoxl=(CheckBox)findViewById(R.id.checkbox!);
m_CheckBox2=(CheckBox)findViewById(R.id.checkbox2);
m_CheckBox3=(CheckBox)findViewById(R.id.checkbox3);
m_CheckBox4=(CheckBox)findViewById(R.id.checkbox4);
mCheckBox1
.setOnCheckedChangeListener(newChecxBox.OnCheckedChangeListenerO(
publicvoidonCheckedChanged(CompoundButtonbuttonView,
booleanisChecked){
if(m_CheckBox1.isChecked()){
DisplayToast("你选择了:〃+m_CheckBoxl.getTextO);
CheckBox2
.SAl.0nCheckf?dChangeI.ist.ener(newChpc<Rox.OnCheckedChangpList.pnnr(){
publicvoidonCheckedChanged(CompoundButtonbuttonView,
booleanisChecked){
if(m_CheckBox2.isChecked()){
DisplayToast("你选择了:〃+m_CheckBox2.getTextO);
m_CheckBox3
.setOnCheckedChangeListener(newChecxBox.OnCheckedChangeListener(){
publicvoidonCheckedChanged(CompoundButtonbuttonView,
booleanisChecked){
if(mCheckBox3.isChecked()){
DisplayToast("你选择了:"+m_CheckBox3.getTextO);
m_CheckBox4
.setOnCheckedChangeListener(newChecxBox.OnCheckedChangeListener(){
publicvoidonCheckedChanged(CompoundButtonbuttonView,
booleanisChecked){
if(m_CheckBox4.isChecked()){
DisplayToast("你选择了:"+m_CheckBox4.getTextO);
mButtonl.setOnClickListener(newButton.OnClickListenerO{
publicvoidonClick(Viewv){
intnum=0;
if(m_CheckBoxl.isChecked()){
num++;
if(m_CheckBox2.isChecked0){
niim++;
if(mCheckBox3.isChecked()){
num++;
if(m_CheckBox4.isChecked()){
num++;
DisplayToast(〃谢谢参及!你一共选择了〃+num+〃项!");
publicvoidDisplayToast(Stringstr){
Toasttoast=Toast.makeText(this,str,Toast.LENGTH_SHORT);
toast.setGravity(Gravity,0,240);
toast.show();
activityjnain.xml:
<?xmlversion=〃1.0〃encoding="utf-8"?〉
<LinearLayoutxmlns:android=,,http://schemas.android/apk/res/android〃
android:layout_width=,,fill_parent,,
android:layout_height二〃fill_parent,/
android:orientation=z,verticar,>
<TextView
android:id二"@+id/1extv:ew〃
android:layout_width=,,fi1l_parent”
android:layoutheight="wrapcontent”
android:text=/z@string/hello_world/z/>
<CheckBox
android:id=z,@+id/checkboxr
android:layout.jvidt.h=z,fi1l_parent/z
androidlayoutheight二,Tapcontent”
android:text=,/®string/CheckBoxr,>
</CheckBox>
<CheckBox
android:id=〃@+id/checkbox2”
android:layoujwidth="fi1l_parent〃
android:layout_height=*wrap_contentz,
android:text=〃@string/CheckBox2〃>
</CheckBox>
<CheckBox
android:id=,,@+id/checkbox3z,
android:1ayout_width=*fi11_parent”
android:1ayout_height=*wrap_content
android:text="@string/CheckBox3〃>
</CheckBox>
<CheckBox
android:id=,,@+id/checkbox4?z
android:layout_width="zfillparent^
android:layoutheight=*wrap_content”
android:text=,,@string/CheckBox4,/>
</CheckBox>
<Button
android:id="@+id/hutton1〃
android:layout_width=,,wrapcontent”
android:layoutheight=vwrap_content,,
android:text二〃提交〃>
</Button>
</LinearLayout>
string.xml
<?xmlversion=T.0〃encoding二〃utf-8”?〉
(resources)
(stringname二〃appname,,>Lab</string>
<stringname-,,action_settings,/>Settings</string>
(stringname二〃hello_world"〉Helloworld!</string>
(stringname=*CheckBoxl/z>swim</string>
(stringname=,,CheckBox2,,>run</string>
(stringname=,,CheckBox3,,>dance</string>
<stringname=,,CheckBox4,,>walk</string>
</rescurces>
96.设计加减法计算器。
要求:程序包括两个页面第一个页面主要包括两个文本编辑框,用于输入两个操作数输入操作数后,单
击系统的亚NU按钮,会弹出Menu菜单,Menu菜单包括“相加”、“相减”和“退出”三个按钮,当点击
“相加”按钮会对两个操作数执行加法,当点击“相减”按钮时,会对两个操作数执行减法,在另一个页面
会显示计算结果。
MainActivity.java:
packagecom.example,wpp201942577four;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid,os.Bundle;
importandroid,view.Menu;
importandroid,view.Mcnultem;
importandroid,view.View;
importandroid,view.View.OnClickListener;
import,android,widget.Button;
importandroid,widget.EditText;
importandroid,widget.TextView;
publicclassMainActivityextendsActivity{
Calledwhentheactivityisfirstcreate;d.*/
privateEditTextfactorOne;
privateEditTextfactorTwo;
privateTextViewsymbol;
privateButtoncalculate;
0Cverride
publicvoidonCreate(BundlesavedlnstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout,main);
factorOne=(EditText)findViewById(R.id.factorOne)\
factorTwo=(EditText)findViewById(R.id.factorTw6);
symbol=(TextView)findViewRyTd(R.id.symbol);
symbol.setText(R.string,symbol);
©Override
publicbooleanonCreateOptionsMenu(Menumenu){
menu.add(0,1,1,R.string,exit);
menu,add(0,2,2,R.string,add);
menu.add(0,3,3,R.string.sul));
returnsuper.onCreateOptionsMenu(menu);
publicvoidaddO{
StringfactorOneStr二factorOne.getTextO.toStringO;
StringfactorTwoStr-factorTwo.getTextO.toStringO;
Intentintent=newIntent();
,,,,
intent.putExtra(one)factorOneStr);
,/,,
intent.putExtra(two)factorTwoStr);
intent.putExtra("three","+〃);
intent.setClass(MainActivity.this,ResultActiviiy.class);
startActivity(intent);
publicvoidsub(){
StringfactorOneStr=factorOne.getTextO.toStringO;
StringfactorTwoStr=factorTwo.getTextO,toStringO;
Intentintent=newIntent();
intent.putExtra("one",factorOneStr);
,,,,
intent.putExtra(two)factorTwoStr);
int.ent..putExtra("three”,;
intent.setClass(MainActivity.this,ResultActiviiy.class);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年班前吊装作业指挥信号学习题库
- 2026年韩语外交外事翻译常用词汇考核题库
- 2026年创新型产业集群与新质生产力题库
- 2026年茂名市中石油面试技巧
- 2026年消防救援队伍执勤战斗条令知识试题
- 2026年基金从业资格考试基金法律法规精
- 2026年街道易肇事肇祸精神障碍患者监护人以奖代补政策试题
- 2026年个人职业生涯规划与管理试题集
- 2026年文学常识与语文拓展练习
- T∕FDCA 001-2018 化妆品包装材料中可迁移荧光增白剂的测定
- 公司业务首单奖励制度
- 房产巡检监督制度
- 2026年中考数学模拟试卷及答案解析(共四套)
- 2025年法医临床考试题库及答案
- 统编版(2026)八年级下册历史教材课后问题答案(全册)
- 北京理工大学《嵌入式系统》2024 - 2025 学年第一学期期末试卷
- 狂犬病预防控制技术指南2025版
- 沈阳汽车集团有限公司招聘笔试题库2026
- 浙江警察学院2025年三位一体综合评价面试真题(含答案)
- 纪检档案培训课件
- 2024~2025学年广东省广州市番禺中学附属小学统编版五年级下册期中考试语文试卷
评论
0/150
提交评论