Android期末复习题总结

时间:2024.5.15

1、  Intent的Component属性的作用是什么,如何定义此属性?

component(组件),指定Intent的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。

Component属性的作用是用来指定Intent的目标组件的类名称。如果Component这个属性被指定了的话, Intent的其它属性都是可选项,Android会直接使用Component指定目标组件,而不再执行其它查找过程。

在使用时,需要先创建一个ComponentName对象,然后将它设置成Intent对象的Component的属性。通过setComponent()、setClass()和setClassName()三种方法都可以设置组件的名称,通过getComponent()方法则可获得设置项。

2、发送广播时,可以通过sendCatagoryBroadcast()方法将Intent对象发送出去( ). 错)

3、Android是什么?一种操作系统

4、下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是 (  )

DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。

5、Android操作系统最早由哪个公司研发?(    ) Android公司

6、下列中不属于手持设备的是(   ) 机顶盒

7、下列不是手机操作系统的是(   )。Windows Vista

8、到目前为止,Android操作系统的最高版本是哪个? (   ) Android L

9、安装Android SDK时,可以通过(   )在线安装或离线安装。Android sdk manager

10、开发Android应用程序时,一般使用的计算机语言是(     ) 。JAVA

11,E/AndroidRuntime(1099): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.CanvasActivitys}: java.lang.ClassNotFoundException: com.test.CanvasActivitys in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk] 这段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里?( )

 Canva类没有在AndroidManifest中正确申明sActivitys

12、对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间接Intent,通过解析,将 Intent映射给可以处理此Intent的Activity、IntentReceiver或Service (对)

Intent 可以传递 View对象 (错)

Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦 (对)

通过Intent可以删除程序 (对)

13、下面退出Activity错误的方法是( )。 System.exit( )

14、当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是( )。 startActivityResult()

15、这是一个资源配置文件,下面描述正确的是? ( ) 这个shape文件是画一条虚线,实线段5dp,间隔3dp

16、Toast toast = new Toast(this); toast.setText("今天天气不错\n哈哈"); toast.show(); 上面代码的执行结果是什么( )。

代码会抛出异常,因为new出的Toast对象不能再使用setText方法来设置提示框文本

17、setOnTouchEvent 设置返回值为true 和 false有何区别?( )

返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息

18、下列哪个可做EditText编辑框的提示信息( )。   android:hint

19使进度条变横向的系统样式是( )   @android:style/Widget.ProgressBar.Horizontal

20、关于Android 事件机制与事件监听,下列说法不正确的有( )。

 i.View类里的event listener是一个带有回调方法的接口,当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) onOptionsItemSelected()

25、键盘事件处理方法中,以下哪个方法是用来处理键盘按键的释放事件的 ( )。  keyReleased(int keyCode)

26、下面Android的存储方式中,除SharedPreferences外还有哪种方式是不可以将数据在不同应用间数据共享的(     )。Files

27、当使用文件存储的时候,默认创建的文件会放在什么位置(    )。app

28、关于SharedPreferences和文件存储数据描述正确的是(     )。使用文件存储需要创建文件,而SharedPreferences的存储方式自动创建xml文件 

29、使用SharedPreferences进行数据存储的时候,下面哪个方法是不参与的(     )。edit()

30、使用SharedPreferences存储数据时,会创建一个什么类型的文件来进行数据存放(    )。.xml文件 

31、在程序中,使用SD的文件需要使用以下哪些权限(      )。android.permission.WRITE_EXTERNAL_STORAGE

32、下面哪种不是Android的存储方式(     )。  ContentProvider

33、通过SharedPreferences保存的数据存储在什么文件夹下( )。shared_prefs

34、对于一个已经存在的SharedPreferences对象setting,想向其中存入一个字符串"person",setting应该先调用什么方法(    )。 edit()

35、下列说法哪个不正确( )。

一个Activity的对象a1上弹出了一个模拟对话框形式的Activity的对象a2,按返回键后a1执行了onStart和onResume方法,a2执行了onPause,onStop和onDestroy方法 (错)

拥有android:configChanges="orientation|keyboardHidden" 标签的Activity在横竖屏转换时不会再执行onCreate方法;(对)

默认情况下对一个Activity的对象进行横竖屏切换,该对象的onCreate方法在每次切换时都会执行;(对)

一个界面上的EditText中输入文字后,再按下Home,该界面消失,等再回到该界面文字内容仍在,onCreate方法也不会执行。(对)

36、下面布局中,哪个布局会把控件放在左上角,当添加新的控件的时候,将覆盖在前一个控件的上层,并且不能设计控件的位置( )。 FrameLayout

37、以下有关RelativeLayout说法正确的是( )。 这种布局适合横竖屏切换比较频繁的应用

38、关于RelativeLayout布局中,下面对属性描述不相符合的是( )。

android:layout_marginLeft="40px"表示当前控件左边空出40像素的空间 ;

android:layout_below="@id/aclock"表示当前控件放置于引用名为aclock的控件的下方

android:layout_centerInParent="true" 表示当前控件放置于父控件的横向和纵向的中央位置 ;

android:layout_alignParentTop="@id/mtop"表示当前控件和引用名为mtop的父控件顶端对齐(不符合)

39、关于RelativeLayout描述正确的是( )。该布局为相对布局,其中控件的位置都是相对位置 。

40、在RelativeLayout布局中,有一个id为entry的EditText,目前有一个Button想放置在其左边,应为Button指定什么属性设置( )。 android:layout_toLeftOf="@id/entry"

41、在一个相对布局中怎样使一个控件居中( )。 android:layout_centerInParent="true"

42、在表格布局中,android:collapseColumns="1,2"的含义是: ( ) 在屏幕中,不管是否能都显示完,折叠1、2列

43、绝对布局中,android:layout_x 的含义有( ) 以手机左上为原点,组件显示到屏幕中的横向坐标值。

44、简述开发手机联盟?

开放手机联盟(OHA,Open Handset Alliance,)是美国Google公司与20##年11月5日宣布组建的一个全球性的联盟组织,网址为 http://www.openhandsetalliance.com 。这一联盟将会支持Google可能发布的手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商等几大类,目前联盟成员数量已经达到了80家。

45、以下哪一个类可以实现广播接收的功能(   )。 BroadcastReceiver

46、Android系统有哪些特点?

(1)应用框架可以重复使用,其组件也可以更换;(2)Dalvik虚拟机针对移动设备进行了优化;(3)优化的图形能力支持2D/3D图形(OpenGL ES 1.0);(4)集成了基于开源WebKit引掣的浏览器;(5)采用SQLite实现结构化数据存储;(6)多媒体支持多种音频、视频格式;(7)GSM Telephony(hardware dependent);(8)支持蓝牙Bluetooth,3G和WiFi;(9)支持照相机、GPS、指南针和加速度仪等传感器硬件;(10)丰富的开发环境,包括模拟机、调试工具、内存运行检测,以及为Eclipse IDE所写的插件。

47、在AndroidManifest.xml中注册一个广播,需要使用什么标签(  )。 <receiver>

48、定义广播需要重写父类中的什么方法(   )。onCreate

49、在程序中,发送广播的方法是以下哪一个(   )。sendBroadcast

50、定义一个广播,需要继承哪个类( BroadcastReceiver)

51、简述Android应用程序的组成。

 一般来说,Android 程序包含如下主要的组件类:活动(Activity);用于表现功能服务(Service);相当于后台运行的Activity广播接收器(BroadcastReceiver)—— 用于接收广播意图; Intent——用于连接以上各个组件,并在其间传递消息;ContentProviders实现不同组件之间的数据共享;View提供了可视化界面的展示。

52、Dalvik虚拟机与Sun公司定义的标准虚拟机(JVM)有何不同?

(1)Dalvik和JVM的首要差别是Dalvik基于寄存器而JVM基于栈,基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短;(2)Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能;(3)Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行;(4)不同于JVM运行Java字节码,Dalvik虚拟机运行的是其专有的文件格式dex,dex文件格式可以减少文件整体尺寸,提高I/O操作的类查找速度;(5)所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制。

53、请谈一下Android系统的架构

Android系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

54、Android开发环境搭建需要哪些主要步骤?

?    安装Java ?    安装Eclipse ?    安装Android SDK ?    安装Eclipse插件ADT

55、 Windows环境下如何检测已经安装成功Java?

写一个简单的java程序来测试JDK是否已安装成功:

         public class HelloWorld{

          public static void main(String[] args){

              System.out.println("Hello world!");

           }

}

将以上代码保存为文档名为HelloWorld.java的文档。 打开命令提示符窗口,进入到HelloWorld.java所在目录,键入下面的命令:

javac HelloWorld.java

java HelloWorld

如果屏幕如图,能够正确输出且不提示错误,表示JDK开发环境配置完成。

56、什么是AVD,有哪些特点?

Android Virtual Device是一个经过配置的模拟器,可以模拟显示屏幕的大小、屏幕分辨率、触摸屏、轨迹球、键盘、GPS、声音播放、SD卡支持,缓存区大小等。AVD也存在着缺点,不能模拟重力感应、麦克风等一些硬件设备,因此有时候也需要实体手机上运行和测试Android应用程序。

57、什么是ADT?

Android Development Tools plugin (ADT) 是使用Eclipse进行Android移动应用开发的一个方便的开发、仿真测试平台。

58、在手机的实机上进行开发调试需要在手机上如何设置?

在手机上进行开发调试需要在手机上进行设置,选择设置—应用程序-开发-USB调试,之后USB连接开发计算机才能进行开发调试。

59、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的实现策略分为几种类型,请分别叙述。

Intent的实现策略即指Intent寻找组件的方法。这种策略分为两种:一种是直接Intent,也称为显式Intent。另一种是间接Intent,也称为隐式Intent。

直接Intent方式需要通过指定Intent的Component属性(调用setComponent(ComponentName)或者setClass(Context, Class)来指定)来实现。这样应用就会对应的启动所指定的具体组件类。在以上对Intent的Component属性的介绍中就说明过。这种策略主要在源组件知道目标组件名称的情况下使用。间接Intent策略中没有指定Component属性的Intent,寻找组件需要通过<intent-filter…/>子元素来实现。这就要求Intent中包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定出满足Intent的组件。

64、Android系统提供的Action常量有哪些,如何使用。

Action常量 常量值(字符串)          动作说明

ACTION_CALL android.intent.action. CALL 呼叫指定用户

ACTION_EDIT android.intent.action. EDIT 对于指定数据进行编辑

ACTION_VIEW android.intent.action. VIEW 向用户显示指定数据

ACTION_PICK android.intent.action. PICK 从列表中选择并返回某项目 

ACTION_DIAL android.intent.action. DIAL 显示打电话面板,可以实现紧急呼叫

ACTION_SEND     android.intent.action. SEND 向他人发送数据(短信)   

ACTION_ANSWER   android.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为程序入口,这时需在其对应的子元素<intent-filter…/>中必须具备如下属性:

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

66、介绍与Activity生命周期相关的回调方法的功能及使用方法。

与Activity生命周期相关的回调方法主要有以下七个:

(1) onCreate():当创建一个Activity时,系统会回调onCreate()方法进行初始化设置,如创建视图、绑定数据至列表。

(2) onStart():当一个Activity开始执行时此方法被回调,这时的Activity是可见的,会紧跟在onCreate()方法后面执行。

(3) onResume():当一个Activity真正开始运行或重新恢复时被回调,此时会获得焦点。

当一个Activity运行时,如果用户又激活了另一个Activity,这时第一个Activity将会被暂停。在第一个Activity在没有被杀死的情况下,以后又有了重新运行的机会,那么就会直接调用onResume()方法将其恢复。

(4) onPause():暂停Activity时被回调。

如果在一个Activity运行时,用户又激活了另一个Activity,这时将会调用第一个Activity的onPause()方法将其暂停。在Activity的状态变换过程中onResume()和onPause()方法经常被调用,因此在使用中应使用简单高效的代码。

(5) onStop():停止Activity时被回调。

如果在一个Activity运行时,用户又激活了另一个Activity,而且第一个Activity很久都没有得到再次运行机会,就会调用onStop()方法将第一个Activity停止。

(6) onReStart():在Activity从停止状态转换到活动状态前,回调该方法。

当一个处于停止状态的Activity又获得了用户输入焦点,就会调用onRestart()方法,重新开始执行这个Activity。

(7) onDestroy():在销毁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.Translucent”就变成半透明的

69、使用资源包括哪几种方法?

(1) 在代码里使用资源类;(2) 在代码里调用资源类并实例化;(3) 从其他资源类里引用。

70、谈谈android中常用的几种布局。

在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

(1)FrameLayout 框架布局,放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素,适合浏览单张图片。

(2)LinearLayout 线性布局,是应用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每个子组件都是以垂直或水平的方式来定位(默认是垂直)。

(3)AbsoluteLayout 绝对定位布局,采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x 和 android:layout_y来确定坐标。

(4)RelativeLayout 相对布局,根据另外一个组件或是顶层父组件来确定下一个组件的位置。和CSS里面的类似。

(5)TableLayout 表格布局,类似Html里的Table.使用TableRow来布局,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。

71、android中常用的数据存储方式有哪些?

常用的数据存储方式:SharePreference存储、File存储(分为手机内存存储和SD卡存储)、SQLite数据库存储和网络存储。

72、一个Activity就是一个可视化的界面或者看成是控件的容器。(对)

73、Intent有很长的生命周期,是没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 。 (错)

74、当Antivity的启动模式设置为SingleTop表示当该Anctivity的实例在栈顶时只会产生一个实例。(对)

75、onPause()方法在activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是对运行时数据的现场保护。 (对)

76、onDestroy是activity被结束掉前最后一个被调用方法,当调用finish方法或者系统为了节省空间将它暂时性的结束掉时候调用。(对)

77、不是所有的Activity都有自己的生命周期。 (错)

78、 onPause( ) 是service的生命周期方法(错)

79、如果service已经启动,再次启动该服务时将先后调用onCreate()和onStartCommand()方法。 (错)

80、利用HttpURLConnection的.getInputStream()方法得到的是字符流。(错)

81、程序中使用http协议从网上下载文件时,无需设置访问网络的权限。(错)

82、使用startService()方法启动服务后,调用者和服务间没有关联,即使调用者退出了,服务任然进行。(对)

83、当应用程序中某广播在AndroidMainifest进行注册后,即使该应用程序关闭后,也可以接受操作系统发出的广播信息。(对)

84、UIthread 通常就是main thread,Android启动程序时会替它建立一个MessageQueue。 (对)

85、广播接收器可以在Activity中单独注册与注销。(对)

86、广播接收器只能在配置文件中注册。 (错)

87、对下面代码:  notification.vibrate=new long[]{100,200,100,500}, 其中notification是通知管理器对象,表示我们对Notification设置了震动,并且是100ms延迟后,震动200ms,然后停止100ms,再震动500ms (对 )

88、使用Notification时,需要发送广播实现notify。 (错)

89、在AndroidManifest.xml中注册广播,需要使用标签。 (对)

90、有2种方式注册BroadcastReceiver的方法,一是静态的在AndroidManifest.xml中注册,二是动态的在代码中注册。(    ) (对)

91、如果需要一个通知立即显示,那么在构造Notification对象的时候,需要在构造函数的第三个参数中传递 new Calendar()的值 (错)

92、取消注册BroadcastReceiver,调用Context.unregisterReceiver()方法 (对)

93、编写用Intent实现的用户登录程序。

要求:在第一个界面上输入用户名和密码,在第二个界面上显示前一界面中输入的用户名和密码。

MainActivity.java:

package com.example.androidintent;

import android.os.Bundle;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class MainActivity extends Activity {

    private TextView user, pass;

    private EditText username, password;

    private Button loca;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        user = (TextView) findViewById(R.id.user);

        pass = (TextView) findViewById(R.id.pass);

        username = (EditText) findViewById(R.id.username);

        password = (EditText) findViewById(R.id.password);

        loca = (Button) findViewById(R.id.loca);

        loca.setOnClickListener(new MyButtonListener());

    }

    class MyButtonListener implements OnClickListener {

        @Override

        public void onClick(View v) {

            String tx1 = username.getText().toString();

            String tx2 = password.getText().toString();

            Intent intent = new Intent();

            intent.putExtra("tx1", tx1);

            intent.putExtra("tx2", tx2);

            intent.setClass(MainActivity.this, OtherActivity.class);

            MainActivity.this.startActivity(intent);

        }

    }

}

OtherActivity.java:

package com.example.androidintent;

import android.app.Activity;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.TextView;

public class OtherActivity extends Activity {

    private TextView te1, te2, te3, te4;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.other);

        Intent intent = getIntent();

        String value1 = intent.getStringExtra("tx1");

        String value2 = intent.getStringExtra("tx2");

        te1 = (TextView) findViewById(R.id.te1);

        te2 = (TextView) findViewById(R.id.te2);

        te3 = (TextView) findViewById(R.id.te3);

        te4 = (TextView) findViewById(R.id.te4);

        te2.setText(value1);

        te4.setText(value2);

    }

}

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/user"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="用户名" />

    <EditText

        android:id="@+id/username"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content" />

    <TextView

        android:id="@+id/pass"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="密码" />

    <EditText

        android:id="@+id/password"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content" />

    <Button

        android:id="@+id/loca"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="登陆" />

</LinearLayout>

other.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="horizontal" >

    <TextView

        android:id="@+id/te1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="用户名:" />

      <TextView

        android:id="@+id/te2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        />

        <TextView       android:id="@+id/te3"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

        android:text="密码:" />

          <TextView

        android:id="@+id/te4"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        />  

</LinearLayout>

string.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">android intent</string>

    <string name="action_settings">Settings</string>

    <string name="hello_world">Hello world!</string>

</resources>

94、编写程序实现如下功能

(1) 程序包含2个Activity

(2) Activity01包含一个按钮,点击按钮跳转到Activity02;

(3) Activity02包含一个按钮,点击按钮跳转到Activity01。

Activity01.java:

package com.example.wpp_201242577two;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class Activity01 extends Activity{

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity);

        Button button=(Button)findViewById(R.id.button1);

        button.setText("启动Activity02");

        button.setOnClickListener(new OnClickListener(){

            @Override

            public void onClick(View v){

                Intent intent=new Intent(Activity01.this,Activity02.class);

                startActivity(intent);

            }

        });

    }

}

Activity02.java

package com.example.wpp_201242577two;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class Activity02 extends Activity{

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity02);

        Button otherButton=(Button)findViewById(R.id.button3);

        otherButton.setText("进入Activity01");

        otherButton.setOnClickListener(new OnClickListener(){

            @Override

            public void onClick(View v){

                Intent intent=new Intent(Activity02.this,Activity01.class);

                startActivity(intent);

            }

        });

    }

}

activity01.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView      android:id="@+id/textView1"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="Activity01" />

    <Button       android:id="@+id/button1"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="启动Activity" />

</LinearLayout>

activity.02xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/textView1"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="Activity02" />

     <Button

        android:id="@+id/button3"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="Button" />

      </LinearLayout>

string.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">wpp_201242577 Two</string>

    <string name="action_settings">Settings</string>

    <string name="hello_world">Activity01</string>

</resources>

95、使用CheckBox控件实现多项选择。

要求:添加4个选项,名称分别为:swim 、run 、 dance 、walk

MainActivity.class:

package com.example.lab;

import android.app.Activity;

import android.os.Bundle;

import android.view.Gravity;

import android.view.View;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.CompoundButton;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity {

        TextView m_TextView1;

        Button m_Button1;

        CheckBox m_CheckBox1;

        CheckBox m_CheckBox2;

        CheckBox m_CheckBox3;

        CheckBox m_CheckBox4;

        /** Called when the activity is first created. */

        @Override

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            m_TextView1 = (TextView)findViewById(R.id.textview);

            m_Button1 = (Button) findViewById(R.id.button1);

            m_CheckBox1 = (CheckBox) findViewById(R.id.checkbox1);

            m_CheckBox2 = (CheckBox) findViewById(R.id.checkbox2);

            m_CheckBox3 = (CheckBox) findViewById(R.id.checkbox3);

            m_CheckBox4 = (CheckBox) findViewById(R.id.checkbox4);

            m_CheckBox1

                    .setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() {

                        public void onCheckedChanged(CompoundButton buttonView,

                                boolean isChecked) {

                            if (m_CheckBox1.isChecked()) {

                                DisplayToast("你选择了:" + m_CheckBox1.getText());

                            }

                        }

                    });

            m_CheckBox2

                    .setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() {

                        public void onCheckedChanged(CompoundButton buttonView,

                                boolean isChecked) {

                            if (m_CheckBox2.isChecked()) {

                                DisplayToast("你选择了:" + m_CheckBox2.getText());

                            }

                        }

                    });

            m_CheckBox3

                    .setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() {

                        public void onCheckedChanged(CompoundButton buttonView,

                                boolean isChecked) {

                            if (m_CheckBox3.isChecked()) {

                                DisplayToast("你选择了:" + m_CheckBox3.getText());

                            }

                        }

                    });

            m_CheckBox4

                    .setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() {

                        public void onCheckedChanged(CompoundButton buttonView,

                                boolean isChecked) {

                            if (m_CheckBox4.isChecked()) {

                                DisplayToast("你选择了:" + m_CheckBox4.getText());

                            }

                        }

                    });

            m_Button1.setOnClickListener(new Button.OnClickListener() {

                public void onClick(View v) {

                    int num = 0;

                    if (m_CheckBox1.isChecked()) {

                        num++;

                    }

                    if (m_CheckBox2.isChecked()) {

                        num++;

                    }

                    if (m_CheckBox3.isChecked()) {

                        num++;

                    }

                    if (m_CheckBox4.isChecked()) {

                        num++;

                    }

                    DisplayToast("谢谢参与!你一共选择了" + num + "项!");

                }

            });

        }

        public void DisplayToast(String str) {

            Toast toast = Toast.makeText(this, str, Toast.LENGTH_SHORT);

            toast.setGravity(Gravity.TOP, 0, 240);

            toast.show();

        }

    }

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/textview"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/hello_world" />

    <CheckBox

        android:id="@+id/checkbox1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/CheckBox1" >

    </CheckBox>

    <CheckBox

        android:id="@+id/checkbox2"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/CheckBox2" >

    </CheckBox>

    <CheckBox

        android:id="@+id/checkbox3"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/CheckBox3" >

    </CheckBox>

    <CheckBox

        android:id="@+id/checkbox4"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/CheckBox4" >

    </CheckBox>

    <Button

        android:id="@+id/button1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="提交" >

    </Button>

</LinearLayout>

string.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">Lab</string>

    <string name="action_settings">Settings</string>

    <string name="hello_world">Hello world!</string>

    <string name="CheckBox1">swim</string>

    <string name="CheckBox2">run</string>

    <string name="CheckBox3">dance</string>

    <string name="CheckBox4">walk</string>

</resources>

96、设计加减法计算器。

要求:程序包括两个页面,第一个页面主要包括两个文本编辑框,用于输入两个操作数,输入操作数后,单击系统的MENU按钮,会弹出Menu菜单,Menu菜单包括“相加”、“相减”和“退出” 三个按钮,当点击“相加”按钮会对两个操作数执行加法,当点击“相减”按钮时,会对两个操作数执行减法,在另一个页面会显示计算结果。

MainActivity.java:

package com.example.wpp_201242577four;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

importandroid.view.View;

importandroid.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

publicclass MainActivity extends Activity {

    /** Called when the activity is first create;d. */

    private EditText factorOne;

    private EditText factorTwo;

    private TextView symbol;

    private Button calculate;

    @Override

    publicvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

     factorOne = (EditText)findViewById(R.id.factorOne);

     factorTwo = (EditText)findViewById(R.id.factorTwo);

     symbol = (TextView)findViewById(R.id.symbol);

     symbol.setText(R.string.symbol);

  }

    @Override

    publicboolean onCreateOptionsMenu(Menu menu) {

        menu.add(0, 1, 1, R.string.exit);

        menu.add(0,2,2,R.string.add);

        menu.add(0,3,3,R.string.sub);

        returnsuper.onCreateOptionsMenu(menu);

    }

    publicvoid add() {

        String factorOneStr = factorOne.getText().toString();

        String factorTwoStr = factorTwo.getText().toString();

        Intent intent = new Intent();

        intent.putExtra("one", factorOneStr);

        intent.putExtra("two", factorTwoStr);

        intent.putExtra("three", "+");

        intent.setClass(MainActivity.this, ResultActivity.class);

        startActivity(intent);

       

    }

    publicvoid sub() {

        String factorOneStr = factorOne.getText().toString();

        String factorTwoStr = factorTwo.getText().toString();

        Intent intent = new Intent();

        intent.putExtra("one", factorOneStr);

        intent.putExtra("two", factorTwoStr);

        intent.putExtra("three", "-");

        intent.setClass(MainActivity.this, ResultActivity.class);

        startActivity(intent);

    }

    @Override

    publicboolean onOptionsItemSelected(MenuItem item) {

        if(item.getItemId()==1){

            finish();

        }elseif(item.getItemId()==2){

            add();

        }elseif(item.getItemId()==3){

            sub();

        }

        returnsuper.onOptionsItemSelected(item);

    }

}

ResultActivity.java:

package com.example.wpp_201242577four;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.TextView;

publicclass ResultActivity extends Activity{

     private TextView resultView; 

    @Override

    protectedvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.result);

        resultView = (TextView)findViewById(R.id.result);

        Intent intent = getIntent();

        String factorOneStr = intent.getStringExtra("one");

        String factorTwoStr = intent.getStringExtra("two");

        String symbolStr = intent.getStringExtra("three");

        int factorOneInt = Integer.parseInt(factorOneStr);

        int factorTwoInt = Integer.parseInt(factorTwoStr);

        int result = 0;

        if(symbolStr.equals("+")){

             result = factorOneInt+factorTwoInt;

           

        }elseif(symbolStr.equals("-")){

             result = factorOneInt-factorTwoInt;

               

        }

        resultView.setText(result+"");

        }

}

main.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/textView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="操作数一" />

    <EditText

        android:id="@+id/factorOne"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

       />

    <TextView

        android:id="@+id/symbol"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/symbol" />

    <TextView

        android:id="@+id/textView2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="操作数二" />

    <EditText

        android:id="@+id/factorTwo"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

       />

</LinearLayout>

result.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

    <TextView

        android:id="@+id/result"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

         />

  

</LinearLayout>

string.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="hello">Hello World</string>

    <string name="app_name">简易计算器</string>

    <string name="action_settings">Settings</string>

    <string name="resultLabel">result</string>

    <string name="symbol">和</string>

    <string name="calculate">计算</string>

    <string name="exit">退出</string>

    <string name="add">相加</string>

     <string name="sub">相减</string>

</resources>

97、制作进度条。

要求:点击“开始”按钮进入进度条显示页面,然后每点击一次开始按钮,第一进度条和第二进度条都会发生变化,并将变化的值在页面上显示出来。

ProgressBarTest.java

package com.example.android_aaa;

import org.w3c.dom.Text;

import android.os.Bundle;

import android.app.Activity;

import android.app.SearchManager.OnCancelListener;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ProgressBar;

import android.widget.TextView;

public class ProgressBarTest extends Activity {

    private ProgressBar FirstBar=null;

    private Button myButton=null;

    private TextView tView;

    private TextView tView02;

    private int i=0;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        FirstBar=(ProgressBar) findViewById(R.id.FirstBar);

        tView = (TextView)findViewById(R.id.text);

        tView02=(TextView)findViewById(R.id.text02);

        myButton=(Button) findViewById(R.id.myButton);

        myButton.setOnClickListener(new ButtonListener());

    }

    class ButtonListener implements OnClickListener{

    @Override

    public void onClick(View v){

        if(i==0){

            tView.setVisibility(View.VISIBLE);

            tView02.setVisibility(View.VISIBLE);

            FirstBar.setVisibility(View.VISIBLE);

            FirstBar.setMax(100);

        }

        else if(i<FirstBar.getMax()){

            FirstBar.setProgress(i);

            tView.setText("第一进度条的值为"+i+"");

            int y=i+10;

            tView02.setText("第二进度条的值为"+y+"");

            FirstBar.setSecondaryProgress(i+10);

        }

        else{

            FirstBar.setVisibility(View.GONE);

        }

        i=i+10;

    }

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    } 

}

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:orientation="vertical"

    android:layout_width="wrap_content"

       android:layout_height="wrap_content">

    <ProgressBar

        android:id="@+id/FirstBar"

        style="?android:attr/progressBarStyleHorizontal"

        android:layout_width="200dp"

        android:layout_height="wrap_content"

        android:visibility="gone"

         />

    <TextView

        android:id="@+id/text"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:visibility="gone"

        />

        <TextView

        android:id="@+id/text02"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:visibility="gone"

        />

     <Button

         android:id="@+id/myButton"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

         android:text="begin"     

         />

</LinearLayout>

string.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">Android_aaa</string>

    <string       name="action_settings">Settings</string>

    <string   name="hello_world">progressBar</string>

</resources>

98、设计用TableLayout布局实现的界面,内容自定。

要求:界面内容有内涵,避免使用无意义的文字。

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:id="@+id/menu"

    android:stretchColumns="1">

    <TableRow >      

<TextView android:layout_column="1"android:text="打开..."

            android:padding="3dip"/>

<TextView android:text="Ctrl-0" android:gravity="right"

            android:padding="3dip"/>

    </TableRow>

    <TableRow >

<TextView android:layout_column="1"android:text="保存..."

            android:padding="3dip"/>

<TextView android:text="Ctrl-S" android:gravity="right"

            android:padding="3dip"/>

    </TableRow>

    <TableRow >

<TextView android:layout_column="1"android:text="另存为..."

            android:padding="3dip"/>

<TextView android:text="Ctrl-Shift-S" android:gravity="right"

            android:padding="3dip"/>

    </TableRow>

    <View android:layout_height="2dip" android:background="#FF909090"/>

    <TableRow >

<TextView android:text="*" android:padding="3dip"/>

<TextView android:text="导入..."  android:padding="3dip"/>

    </TableRow>

    <TableRow >

<TextView android:text="*" android:padding="3dip"/>

<TextView android:text="导出..." android:padding="3dip"/>

<TextView android:text="Ctrl-E" android:padding="3dip"

    android:gravity="right"/>

</TableRow>

</TableLayout>

99、编写程序创建数据库和数据表。

要求:(1)数据库名为称:datab;

(2) 数据表的名称:satffs,表字段有id(整型),name(字符串型),phone (字符串型),email (字符串型);

(3)另建一文本文件,存放用ADB查看创建的数据库和数据表命令过程。

MainActivity.java

package com.example.adbdatabase;

import com.example.adbdatabase.MainActivity;

import com.example.adbdatabase.db.DatabaseHelper;

import android.os.Bundle;

import android.app.Activity;

import android.content.ContentValues;

import android.database.sqlite.SQLiteDatabase;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

publicclass MainActivity extends Activity {

    private Button creatButton;

    private Button updateButton;

    private Button insertButton;

      @Override

    protectedvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        creatButton = (Button)findViewById(R.id.creatDatabase);

        updateButton = (Button)findViewById(R.id.updateDatabase);

        insertButton = (Button)findViewById(R.id.insert);

        creatButton.setOnClickListener(new CreateListener());

        updateButton.setOnClickListener(new UpdateListener());

        insertButton.setOnClickListener(new InsertListener());

    }

    class CreateListener implements OnClickListener{

        @Override

        publicvoid onClick(View v) {

            //创建一个DatabaseHelper对象

            DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,"datab");

            //只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库

            SQLiteDatabase db = dbHelper.getReadableDatabase();

        }

    }

    class UpdateListener implements OnClickListener{

        @Override

        publicvoid onClick(View v) {

            DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,"datab",1);

            SQLiteDatabase db = dbHelper.getReadableDatabase();

        }

   

    }

    class InsertListener implements OnClickListener{

        @Override

        publicvoid onClick(View v) {

            //生成ContentValues对象

            ContentValues values = new ContentValues();

            //想该对象当中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致

            values.put("id", 1);

            values.put("name","andy");

            values.put("phone","12345678");

            values.put("email","android@google.com");

            DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,"datab",1);

            SQLiteDatabase db = dbHelper.getWritableDatabase();

            //调用insert方法,就可以将数据插入到数据库当中

            db.insert("satffs", null, values);

            System.out.println("插入成功");

        }

    }

}

DatabaseHelper.java

package com.example.adbdatabase.db;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

publicclass DatabaseHelper extends SQLiteOpenHelper {

    privatestaticfinalintVERSION = 1;

    public DatabaseHelper(Context context, String name, CursorFactory factory,

            int version){

        super(context, name, factory, version);

    }

    public DatabaseHelper(Context context,String name){

        this(context,name,VERSION);

    }

    public DatabaseHelper(Context context,String name,int version){

        this(context, name,null,version);

    }

    //该函数是在第一次创建数据库的时候执行,实际上是在第一次得到SQLiteDatabse对象的时候,才会调用这个方法

        @Override

        publicvoid onCreate(SQLiteDatabase db) {

            // TODO Auto-generated method stub

            System.out.println("create a Database");

            //execSQL函数用于执行SQL语句

            db.execSQL("create table satffs(id int,name varchar(20),phone varchar(20),email varchar(20))");

        }

        @Override

        publicvoid onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

            // TODO Auto-generated method stub

            System.out.println("update a Database");

        }

}

Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

   >

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/hello_world" />

    <Button

        android:id="@+id/creatDatabase"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="creatDatabase"

        />

    <Button

        android:id="@+id/updateDatabase"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="updateDatabase"

        />

    <Button

        android:id="@+id/insert"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="insert"

        />

</LinearLayout>

更多相关推荐:
大学有机化学期末复习总结

有机化学复习资料有机化学期末复习总结一、有机化合物的命名命名是学习有机化学的“语言”,因此,要求学习者必须掌握。有机合物的命名包括俗名、习惯命名、系统命名等方法,要求能对常见有机化合物写出正确的名称或根据名称写…

Bxzrlq大学有机化学期末复习总结

秋风清,秋月明,落叶聚还散,寒鸦栖复惊。有机化学期末复习总结本课程的学习即将结束,现将全书的重点内容按命名、结构理论、基本反应、化合物转化及合成方法、鉴别等几个专题进行总结归纳,供同学们复习时参考。一、有机化合…

大学有机化学期末复习总结

有机化学复习资料公共基础学院一楼文印室提供价格实惠欢迎您光临!有机化学复习总结一、有机化合物的命名命名是学习有机化学的“语言”,因此,要求学习者必须掌握。有机合物的命名包括俗名、习惯命名、系统命名等方法,要求能…

Auuzqo大学有机化学期末复习总结

生活需要游戏,但不能游戏人生;生活需要歌舞,但不需醉生梦死;生活需要艺术,但不能投机取巧;生活需要勇气,但不能鲁莽蛮干;生活需要重复,但不能重蹈覆辙。-----无名有机化学期末复习总结本课程的学习即将结束,现将…

大学有机化学期末复习总结

有机化学复习资料公共基础学院一楼文印室提供价格实惠欢迎您光临!一、有机化合物的命名命名是学习有机化学的“语言”,因此,要求学习者必须掌握。有机合物的命名包括俗名、习惯命名、系统命名等方法,要求能对常见有机化合物…

外研版高一第一学期英语期末复习总结

辨析(10组)1approach\means\way\methodApproachto(doing)sthBymeansofWaytodo\ofdoingMethodof\forAtthemeetingthey…

高等数学期末复习总结与计划

高等数学期末总复习总结与计划两个重要极限:常用的8个等价无穷小公式:①当x→0时sinx~xtanx~xarcsinx~xarctanx~x1-cosx~1/2*(x^2)(e^x)-1~xln(1+x)~x[…

冀教版五年级下数学期末复习知识点总结

冀教版五年级下数学知识点总结一图形的变换轴对称将图形沿着一条直线对折如果直线两侧的部分能完全重合这样的图形叫做轴对称图形这条直线叫做它的对称轴找对称轴方法用对折的方法找对称轴正方形4条对称轴等边三角形3条对称轴...

数据结构期末复习总结超详细1

数据结构复习要点带答案算法的五大特性有零个或多个输入有一个或多个输出有穷性确定性可行性算法指的是A对特定问题求解步骤的一种描述是指令的有限序列算法分析的目的是分析算法的效率以求改进算法分析的两个主要方面是空间性...

本科企业管理实务期末复习总结

本科企业管理实务期末复习总结20xx年12月同学们在进行本课程复习时可参考以下方法首先快速浏览期末复习指导粉红封面本时间不够跳过此步骤然后熟练期末复习指导中综合练习题最后在此基础上做到全面复习祝考试顺利通过一相...

小学五年级数学上册期末复习知识点归纳

小学五年级数学上册期末复习知识点归纳第一单元小数乘法1小数乘整数P23意义求几个相同加数的和的简便运算如153表示15的3倍是多少或3个15的和的简便运算计算方法先把小数扩大成整数按整数乘法的法则算出积再看因数...

20xx小学英语三年级下册期末复习知识点归纳

20xx小学英语三年级下册三起外研版期末复习知识点归纳Module1Module2一重点单词1动物monkey猴子tiger老虎lion狮子elephant大象panda熊猫2形容词big大的small小的fa...

期末复习总结(125篇)