android面试专题(1)

来源:互联网 发布:健康系统破解软件 编辑:程序博客网 时间:2024/05/21 13:54

1 Android四大组件功能?
  Activity: 界面, 显示控件, Activity之间通过Intent进行通信。
  Service: 服务,用于后台服务, 可以用来开发监控类的程序
  BroadCastReceiver (广播接收者):
你的应用可以使用它对外部事件进行过滤,获取特定的外部事件(当电话接入,或者数据网络可用时)进行接收并作出相应, 他么有界面,但是可以启动一个Actvity或一个Service来响应他们收到的信息。
  ContentProvider(内容提供者): 用于应用间数据共享, 这些数据可以存储在文件系统中或SQLite数据库。
2 广播的两中方式:
非常驻型广播: 生命周期与Activity相随,
在清单文件中注册,
广播接收者, 继承BroadcastReceiver, 重写onReceive() 接收广播消息,

常驻型广播:应用程序关闭时, 如果有广播来, 程序也会被系统调用,接收广播;
使用代码动态注册:
IntentFilter 过滤指定的广播,
registerReceiver(BroadcastReceiver, IntentFilter);
//生成广播处理
smsBroadCastReceiver = new SmsBroadCastReceiver();
//实例化过滤器并设置要过滤的广播

IntentFilter intentFilter = new IntentFilter(“android.provider.Telephony.SMS_RECEIVED”);

//注册广播
BroadCastReceiverActivity.this.registerReceiver(smsBroadCastReceiver, intentFilter);

3 Android 中asset文件夹和raw文件夹的区别?

相同点:
两者目录下的文件在打包后会原封不动的保存在apk包中, 不会编译成二进制文件。
不同点:
引用方式不同:
res/raw中的文件映射到R.java文件中, 访问时使用资源ID即R.raw.filename;
assets文件夹下的文件不会被映射到R.java中, 访问时使用AssetManager类
目录结构不同:
res/raw不可以有目录接口,
assets 可以有目录结构, 其下可以再见文件夹
读取文件资源:
读取res/raw下文件资源,通过输入流进行对鞋
InputStream in = getResources().openRawResouces(R.raw.filename)
读取assets下文件资源, 通过Assetmanager类
AssetManager am = getAssets();
InputStream is = am.open(“filename”);

 4 android中的五中存储方式:

(1) SharePreferences
存储路径(data/data/packageName/shares_prefes)
轻量级存储, 键值对形式存储xml中,一般用来保存应用中的设置信息。
(2) 文件存储 SD卡存储多媒题, 文件缓存。
(3) SQLite数据库 存储路径(data/data/packageName/databases), 一种
嵌入式数据库, 支持sql, 存储大量结构性数据。
(4) ContentProvider 进程(应用程序)间数据共享,
数据源: sqlite数据库, xml
相关者ContentResolver(内容解析者), ContentObserver(数据观察者)。
(5)网络存储, xml, json 格式数据
通过HttpUrlConnection, HttpClient或者SOAP协议读取数据

0 0
原创粉丝点击