初级安卓程序试题

填空题

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);


============================分割线=============================

以上答案纯属博主自行填写,朋友如果有不同答案可以留言交流~

你可能感兴趣的:(初级安卓程序试题)