android基础入门思考题答案,《Android移动应用基础教程》中国铁道出版社课后习题(附答案)...

第4章 数据存储

一、填空题

1、序列化是将对象状态转换为可保持或传输的过程。 2、Android中的文件可以存储在内存和SD卡中。

3、通常情况下,解析XML文件有三种方式,分别为DOM、SAX、PULL。

4、SharedPreferences是一个轻量级的存储类,主要用于存储一些应用程序的配置参数。

5、Android中的数据存储方式有5中,分别是文件、Sharedpreferences、Sqlite、网络和ContentProvider。 二、判断题

1、SharedPreferences本质上是一个XML文件,以Map形式存入文件中。 √ 2、文件存储是通过I/O流的形式吧数据原封不动的存储到文档中。 √ 3、XML文件只能用来保存本地数据,不能在网络中传输。 × 4、ContentProvider表示内容提供者,用于显示程序中的数据。 × 5、档用户将文件保存至SD卡时,需要在清单文件中添加权限"android.permission.WRITE_EXTERNAL_STORAGE"。 √ 三、选择题

1、下列文件操作全险种,指定文件内容可以追加的是(C)

A、MODE_PRIVATE B、MODE_WORLD_READBLE C、MODE_APPEND D、MODE_WORLD_WRITEABLE 2、下列代码中,用于获取SD卡路径的是(D)

A、Environment.getSD(); B、Environment.getExternalStorageState(); C、Environment.getSD Directory(); D、Environment.getExternalStorageDirectory(); 3、下列选项中,关于文件存储数据的说法错误的是(D)

A、文件存储是以流的形式来操作数据的 B、文件存储可以将数据存储到SD卡中 C、文件存储可以将数据存储到内存中 D、Android中只能使用文件存储数据 4、下列选项中美观与XML序列化和解析描述合理的是(BD)

A、DOM解析会将XML文件的所有内容以文档树方式存放在内存中

B、在序列化学像是,需要使用XmlSerialize序列化器,即XmlSerializer类 C、XmlSerializer类的startDocument()方法用于写入序列号的开始节点 D、XmlSerializer类的setOutput()方法用于设置文件的编码方式

5、如果要将程序中的私有数据分享给其他应用程序,可以使用的是(C)

A、文件存储 B、SharedPreferences C、ContentProvider D、SQLite

四、简答题

1、请简述Android系统中的5种数据存储方式各自的特点。

五种存储方式各自的特点分别是:

? 文件存储:可以存储较大文件,以IO流形式传输数据。 ? Sqlite:占用内存小,所有文件都存放在单一文件中。

? 网络:通过网络将数据传输到服务器存储,避免了客户端的安全隐患。

? Sharedpreference:使用方便,可以存储配置信息,以键值对的形式存于内存中

? ContentProvider:提供自身暴漏的数据给第三方应用使用,统一了数据访问格式,以数

据库形式保存数据。

2、请简述SharedPreferences如何存储数据。

使用Sharedpreference储存数据时因为它本身没有写文件的功能,因此需要使用Editor对象将数据存入内存,比如:

SharedPreferences sp = getSharedPreferences(\Editor editor = sp.edit(); editor.putString(\editor.commit();

第5章 SQLite数据库

一、填空题

1、ListView的适配器有三种,分别是BaseAdapter、SimpleAdapter和ArrayAdapter。 2、创建数据库及数据库版本更新需要继承SQLiteOpenHelper。

3、SQLite创建时调用onCreate()方法,升级时调用onUpgrade()方法。

4、要查询SQLite数据库中的信息需要使用Cursor接口,使用完毕后条用close关闭。 5、创建ListView的布局界面必须通过id属性才能使数据显示在界面上。 二、判断题

1、SQLite数据库使用完后不需要关闭,不影响程序性能。 × 2、使用ListView显示较为复杂的数据时最好用ArrayAdapter配适器。 × 3、SQLite既支持Android的API又支持SQL语句进行增、删、改、查操作。 √ 4、使用BaseAdapter控制ListView显示多少条数据是通过getView()方法设置。 × 5、SQLite只支持NULL、INTEGER、REAL、TEXT和BLOB等5种数据类型。 × 三、选择题

1、使用SQLite数据库进行查询后,必须要做的操作是(AC)

A、关闭数据库 B、直接退出 C、关闭Cursor D、使用quit函数退出 2、关于适配器的说法正确的是(B)

A、它主要用来存储数据 B、它主要用来把数据绑定在组件上 C、它主要用来存储XML数据 D、它主要用来解析数据

3、使用SQLiteOpenHelper类可以生成一个数据库并可以对数据库版本进行管理的方法(B)。

A、getDatabase() B、getWriteableDatabase() C、getWriteableDatabase() D、getAbleDatabase() 4、下列命令众,属于SQLite下命令的是(C)

A、shell B、push C、quit D、keytool 5、下列关于ListView使用的描述中,不正确的是(B)

A、要使用ListView,必须为该ListView使用Adpater方式传递数据 B、要使用ListView,该布局文件对应的Activity必须继承ListActivity

C、ListView中每一项的视图布局既可以使用内置的布局,也可以使用自定义的布局方式 D、ListView中每一项被选中时,将会触发ListView对象的ItemClick事件

四、简答题

1、简要说明SQLite数据库创建的过程

首先创建一个类继承SQLiteOpenHelper,重写onCreate()方法并在该方法中创建表,使用创建出的SQLiteOpenHelper的子类对象的getWritableDatabase()方法获得一个可读写的数据库对象。 2、请简要说明BaseAdapter适配器4个抽象方法以及它们的具体作用

? getCount:得到Item的总数

? getItem:根据position得到某个Item的对象 ? getItemId:根据position得到某个Item的id

? getView:得到相应position对应的Item视图,position当前Item的位置,convertView

复用的View对象。

第6章 内容提供者

一、填空题

1、ContentProvider匹配Uir需要使用的类是UriMatcher。

2、使用内容观察者时,调用onChange()方法可以得到数据变化的信息。 3、ContentProvider提供了对数据增、删、改、查的方法,分别为insert、delete、update和query。 4、ContentProvider用于保存和检索数据,是Android不同应用程序之间共享数据的接口。 5、在应用程序中,使用ContentProvider暴露自己的数据,通过ContentResolver对暴露的数据进行操作。 二、判断题

1、ContentProvider所提供的Uir可以随便定义。 × 2、ContentResolver可以通过ContentProvider提供的Uir进行数据操作。 √ 3、ContentObserver观察指定Uir数据发生变化时,调用ContentProvider的是OnChange方法。

4、使用ContentRsolver操作数据是,必须在清单文件进行注册。 × 5、ContentProvider与Activitry一样,创建时首先会调用onCreatr()方法。 √ 三、选择题

1、下列选项中,属于Android中四大组件的是(ABC)。

A、Activity B、ContentReceiver C、Service D、ContentObserver 2、下列关于ContentResolver的描述,错误的是(C)。

A、可以操作数据库数据 B、操作其他应用数据必须知道包名 C、只能操作ContentProvider暴露的数据 D、可以操作ContentProvider的任意数据 3、下列关于内容提供者的描述,正确的是(ACD)。

A、提供的Uir必须符合规范 B、可以提供本应用所有数据供别人访问 C、必须在清单文件注册 D、authorities属性必须和包名一致 4、继承ContentProvider类必须重写它的(ABD)方法。

A、delete() B、insert() C、onStart() D、onUpdate() 5、下列关于内容观察者的说法,正确的是(C)。

A、可以观察任何数据 B、观察其它应用数据需要权限 C、只能观察到指定Uir的数据 D、观察其他应用数据必须在清单文件注册

四、简答题

1、请简要说明ContentProvider对外共享数据的好处。

通过ContentProvider共享数据统一了数据访问方式,使用起来更规范,通过数据库存储并指定了URI,只有通过特定URI才能访问数据,使数据更安全。

2、请简要说明ContentProvider、ContentResolver和ContentOberver之间的联系。

ContentProvider可以共享自己的数据给外部应用访问,要访问ContentProvider暴漏的数据就要用到ContentResolver。而ContentObserver就相当于中间人的角色,它可以事实监听ContentProvider的数据是否发生变化,如果发生变化就会触发onChange()方法,Contentresolver可以在onChange()方法中查询的哪些数据发生了变化再对数据进行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值