填空题
1.android中常用的四个布局是:____,____,____和____.
2.android的四大组件是:____,____,____和____.
3.java.io包中的____和____类主要用于对对象(object)的读写。
4.android中servie的两种分类是:____和____.
5.android的数据存储的方式是:____,____,____和____.
6.启动一个Activity使用____,当启动一个Activity并且新的Activity执行完后需要返回启动它的Activity来执行,使用的启动方法是____.
7.如果后台的Activity由于某原因被系统回收了,____方法可以保证在Activity被系统回收之前保存当前界面状态。
8.访问ContentProvider使用的是____接口.
问答题
1.简述Activity的生命周期,并简述其转换步骤
2.说明SQLiteDatabase,SQLiteOpenHelper,ContentProvider三者用途、区别和联系
3.注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意
4.什么是ANR,如何避免它
编程题
1.用SQL语言创建一个用户表,包含信息包括ID号(整型、主键)、身份证号(字符型、不重复)、姓名(字符型,不为空),性别(整型)、电话(字符型)、住址(字符型)
2.用ArrayAdapter把一个字符串列表【“上海”,“北京”,“深圳”】显示到id为R.id.listView1的ListView控件上
答案:
填空题:
1、LinearLayout 、RelativeLayout 、FrameLayout 、GridLayout
2、Activity 、Service 、BoardCast Reciver 、Content Provider
3、ObjectInputStream 、ObjectOutputStream
4、按使用方式分类:startService 、bindService
5、Sharepreference 、File 、SQLite 、ContentProvider
6、startActivity 、 startActivityForResult
7、onSavaInstanceState (onRestoreInstanceState 对应的恢复方法)
8、ContentReciver
问答题:
1、
1.)启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.)当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.)当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.)当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.)用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.)当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.)用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
2、
类SQLiteDatebase的实例代表了一个SQLite数据库,它的方法可以执行SQL语句。数据库对于一个应用是私有的,在一个应用中,数据库名也是唯一的。
SQLiteOpenHelper 抽象类 主要生成数据库,当程序调用类方法getWritableDatabase()或者getReadableDatabase()时,如果当时没有数据,系统会自动生成一个数据库。
ContentProvider 类 实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型,实现数据在多个程序之间的共享。外界可以通过这套标准及统一的接口对程序中的数据读取或删除。3、
1.)静态注册:AndroidManifest中注册—不论应用是否开启都会接收广播
2.)动态注册:在代码中注册—应用只有在开启时才接收广播(易于区分和管理)
4、ANR:Application Not Responding 应用程序无响应
避免:避免在主线程做耗时工作,使得线程阻塞超过5s,耗时工作应在子线程完成,并通过Handler传递结果给主线程
编程题
1、
creat table if not exists tb_user(ID int PRIMARY KEY,ID_CARD char UNIQUE,name char NOT NULL,sex int,phone char,address char)
2、
String[] data = new String[]{"上海","北京","深圳"};
ListView lv = FindViewById(R.id.listView1);
Arraydapter adapter = new ArrayAdapter(this, R.id.listView1, data);
lv.setAdapter(adapter);
============================分割线=============================
以上答案纯属博主自行填写,朋友如果有不同答案可以留言交流~