当前位置:首页 > android 测试题 答案
A、CursorLoader B、ContentResolver C、Cursor
D、ContentProvider
参考答案:B
答案说明:内容提供者暴露出来的数据,都是通过内容解析者来进行增删改查 3、自定义内容观察者时,继承的类是()(10分)
A、BaseObserver B、ContentObserver C、BasicObserver D、DefaultObserver
参考答案:B
答案说明:自定义内容观察者时,继承的类是ContentObserver
多选题 共2题满分:20分
4、下列关于内容提供者的描述,正确的是( )(10分)
A、提供的Uri必须符合规范
B、可以提供本应用所有数据供别人访问 C、必须在清单文件注册
D、authorities属性必须和包名一致
参考答案:A,B,C
答案说明:authorities一般和包名一致,不是必须的。 5、
在下列选项中,关于内容观察者说法正确的是()(10分)
A、内容观察者不是Android中的四大组件 B、内容观察是四大组件之一
C、内容观察者原理和java中的观察者模式一模一样 D、内容观察者原理是通过注册Uri的形式来观察数据的变化
参考答案:A,D
答案说明:内容观察者不是四大组件,内容观察者原理是通过注册Uri的方式来观察数据的
变化。
判断题 共0题满分:0分 填空题 共1题满分:10分
6、
Android中通过内容提供者来读取联系人信息,_____表用来保存联系人信息的。 (10分) 参考答案:data
答案说明:Android中读取联系人信息 有三张关键的表1 data表用来存储联系人信息的
表,2 raw_contacts 表用来存储一共有多少个联系人. 3 mimetype表用来区分联系人信息的表
简答题 共1题满分:20分
7、
请简要说明一下内容观察者的原理(20分)
参考答案:内容观察者(ContentObserver)是通过观察指定Uri所代表的数据 来观察指
定的数据发生变化的
答案说明:内容观察者(ContentObserver)是用来观察指定Uri所代表的数据。当Conte
ntObserver观察到指定Uri代表的数据发生变化时,就会触发ContentObserver的onChange()方法。此时在onChange()方法里使用ContentResovler可以查询到变化的数据
代码题 共1题满分:20分
8、
请编写一段程序,实现短信备份的功能,并将短信备份到sd卡上。(20分) 参考答案:6院校出题2.txt 下载
答案说明:当点击备份短信的按钮把手机里真实的短信内容以xml的方式备份到sd上.
1 创建一个Android应用 MainActivity 对应的布局文件主要代码
android:onClick=\ android:id=\ android:layout_width=\ android:layout_height=\ android:layout_marginTop=\ android:text=\备份短信\
2 mainActivity主要实现逻辑如下
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 点击 按钮把手机里的短信信息给备份起来 * @param v */ public void click(View v){ //1 把手机里短信信息给查询出来 因为短信的内容 已经通过内容提供者给暴露出来了 所以我们用 内容解析者去查 //2 初始化xml 序列化器 XmlSerializer serializer = Xml.newSerializer(); try { File file = new File(Environment.getExternalStorageDirectory().getPath(),\ FileOutputStream fos = new FileOutputStream(file); //3 初始化序列化器参数 serializer.setOutput(fos, \
//4 开始写xml
serializer.startDocument(\
//5开始写xml 的根节点 smss serializer.startTag(null, \ Uri uri = Uri.parse(\ Cursor cursor = getContentResolver().query(uri, String[]{\ while(cursor.moveToNext()){ String address = cursor.getString(0); String date = cursor.getString(1); String body = cursor.getString(2); //6写 sms address body date serializer.startTag(null, \ //7 写 address节点 serializer.startTag(null, \ serializer.text(address); serializer.endTag(null, \ //7 写 date节点 serializer.startTag(null, \
new
}
}
}
serializer.text(date);
serializer.endTag(null, \//7 写 body节点
serializer.startTag(null, \serializer.text(body);
serializer.endTag(null, \serializer.endTag(null, \
// smms结束 serializer.endTag(null, \ serializer.endDocument(); Toast.makeText(getApplicationContext(), \保存成功\} catch (Exception e) { e.printStackTrace(); }
3 清单文件代码如下:
android:minSdkVersion=\ android:targetSdkVersion=\ android:allowBackup=\ android:icon=\ android:label=\ android:theme=\ android:name=\ android:label=\
共分享92篇相关文档