android面试题---Application

1.Manifest.xml文件中主要包括哪些信息?

manifest:根节点,描述了package中所有的内容。

uses-permission:请求你的package正常运作所需赋予的安全许可。

permission: 声明了安全许可来限制哪些程序能你package中的组件和功能。

instrumentation:声明了用来测试此package或其他package指令组件的代码。

application:包含package中application级别组件声明的根节点。

activity:Activity是用来与用户交互的主要工具。

receiver:IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。

service:Service是能在后台运行任意时间的组件。

provider:ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件

2.Android 应用中验证码登陆都有哪些实现方案

1.从服务器端获取图片

2.通过短信服务,将验证码发送给客户端复制代码

3.定位项目中,如何选取定位方案,如何平衡耗电与实时位置的精度?

开始定位,Application 持有一个全局的公共位置对象,然后隔一定时间自动刷新位置,每次刷新成功都把新的位置信息赋值到全局的位置对象, 然后每个需要使用位置请求的地方都使用全局的位置信息进行请求。

该方案好处:请求的时候无需再反复定位,每次请求都使用全局的位置对象,节省时间。

该方案弊端:耗电,每隔一定时间自动刷新位置,对电量的消耗比较大。复制代码

按需定位,每次请求前都进行定位。这样做的好处是比较省电,而且节省资源,但是请求时间会变得相对较长。

4.andorid 应用第二次登录实现自动登录


前置条件是所有用户相关接口都走 https,非用户相关列表类数据走 http。

步骤

第一次登陆 getUserInfo 里带有一个长效 token,该长效 token 用来判断用户是否登陆和换取短 token

把长效 token 保存到 SharedPreferences

接口请求用长效 token 换取短token,短 token 服务端可以根据你的接口最后一次请求作为标示,超时时间为一天。

所有接口都用短效 token

如果返回短效 token 失效,执行第3步,再直接当前接口

如果长效 token 失效(用户换设备或超过一月),提示用户登录。 

5.一条最长的短信息约占多少byte?


中文70(包括标点),英文160,160个字节。

6.即时通讯是是怎么做的?

使用asmark 开源框架实现的即时通讯功能.该框架基于开源的 XMPP 即时通信协议,采用 C/S 体系结构,通过 GPRS 无线网络用 TCP 协议连接到服务器,以架设开源的Openfn'e 服务器作为即时通讯平台。

客户端基于 Android 平台进行开发。负责初始化通信过程,进行即时通信时,由客户端负责向服务器发起创建连接请求。系统通过 GPRS 无线网络与 Internet 网络建立连接,通过服务器实现与Android 客户端的即时通信脚。

服务器端则采用 Openfire 作为服务器。 允许多个客户端同时登录并且并发的连接到一个服务器上。服务器对每个客户端的连接进行认证,对认证通过的客户端创建会话,客户端与服务器端之间的通信就在该会话的上下文中进行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸福在路上wellbeing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值