android面试(基础篇 8)

1)数据库操作有哪些,如何导入外部数据库?

     把数据库包括在项目源码的res/raw中,android系统下数据库应存放在

     /data/data/包名/ 目录下,所以我们需要做的是把已有数据库传入那个目录下,

     操作方法是用FileInputStream读取元数据库,在用FileOutputStream把读取的

     数据库写到那个目录下。


2)是否使用过本地广播,和全局广播有什么差别?

     因广播数据在本应用范围内传播,不用但系隐私数据写楼的问题。不用担心别的

     应用伪造广播,造成安全隐患。相比在系统内发送全局广播,它更高效。


3)是否使用过IntentService,左右是什么,AIDL解决了什么问题?

     IntentService生成一个默认的且与主线程互相独立的工作者线程来执行所有传送至 

    onStartCommand() 方法的Intetnt。生成一个工作队列来传送Intent对象给你的

    onHandleIntent()方法,同一时刻只传送一个Intent对象,这样一来,你就不必担心

    多线程的问题。在所有的请求(Intent)都被执行完以后会自动停止服务,所以,你不需要

    自己去调用stopSelf()方法来停止该服务提供了一个onBind()方法的默认实现,它返回

    null提供了一个onStartCommand()方法的默认实现,它将Intent先传送至工作队列,

    然后从工作队列中每次取出一个传送至onHandleIntent()方法,在该方法中对Intent对

    相应的处理。


    AIDL(Android Interface Definition Language)是一种接口定义语言,用于生成可以

    在Android设备上两个进程之间进行IPC。如果在一个进程中要调用另外一个进程中的

    对象的操作,就可以 使用AIDL生成可序列化的参数。AIDL IPC机制是面向接口的,像

    COM或Corba一样,但是更加轻量级。他是使用代理类在客户端和是向端传递数据。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值