秋招在即,计蒙准备在国庆假期结束前整理一套Android初级面试题籍,希望对大家有所帮助
提示:以下是本篇文章正文内容
1.EventBus(事件处理) 2.xUtils(网络、图片、ORM) 3.JPush(推送平台) 4.有米(优米),优量汇,穿山甲(广告平台) 5.友盟(统计平台) 6.百度地图 7.bmob(服务器平台、短信验证、邮箱验证、第三方支付) 8.阿里云 OSS(云存储) 9.ShareSDK(分享平台、第三方登录) 10.Gson(解析 json 数据框架) 11.zxing (二维码扫描) 12.imageLoader ,Fresco,Glide,Picasso(图片处理框架)
1.从缓存中加载。
2.从本地文件中加载(数据库,SD)
3.从网络加载。
(1)清除内存的缓存。
(2)数据库,SD。
及时主动性,针对目的性,便捷高效性。
易读性,高效率
立项:确定项目、负责人、开发的周期、成本、人力、物力 需求:文档、原型图 开发:编码 测试:测试人员 上线:产品部门 维护:修复新的 bug 升级:改版、添加新的功能
基础:坐标系,角度弧度,颜色 进阶:Canvas path 贝塞尔曲线 矩阵 事件分发处理 测量 …
组合控件、自绘控件 ,继承控件
1.在retrofit中通过一个接口作为http请求的api接口
public interface NetApi { @GET("repos/{owner}/{repo}/contributors") Call<ResponseBody> contributorsBySimpleGetCall(@Path("owner") String owner, @Path("repo") String repo); }2.创建一个Retrofit实例
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build();3.调用api接口
NetApi repo = retrofit.create(NetApi.class); //第三步:调用网络请求的接口获取网络请求 retrofit2.Call<ResponseBody> call = repo.contributorsBySimpleGetCall("username", "path"); call.enqueue(new Callback<ResponseBody>() { //进行异步请求 @Override public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { //进行异步操作 } @Override public void onFailure(Call<ResponseBody> call, Throwable t) { //执行错误回调方法 } });插件化开发的APP不能在Google Play上线(无海外市场)。
由于apk是Android虚拟机加载的,它有一定的规范,加密apk后Dalvik无法识别apk了。 完全避免是不可能的,总有人能够破解你的代码。但是有几种方式来提高被反编译取代码的难度。 1 关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码 3.使用第三方加固
对称加密,就是加密和解密数据都是使用同一个key,这方面的算法有DES。
非对称加密,加密和解密是使用不同的key。发送数据之前要先和服务端约定生成公钥和私钥,使用公钥加密的数据可以用私钥解密,反之。这方面的算法有RSA。ssh 和 ssl都是典型的非对称加密。
1.利用系统广播拉活(有明显缺陷) 2.利用系统Service机制拉活 3.利用Native进程拉活(Android5.0后有点难搞) 4.利用JobScheduler机制拉活 5.利用账号同步机制拉活
在Linux里面,通信机制有 1.管道,文件共享 3 .socket 4.信号量 优势:
1.性能:需要拷贝一次(仅次于共享内存)
2.特点:基于cs架构,易用性高(配置一下aidl就行了)
3.安全性:为每个APP分配UID,同时支持实名和匿名(传统的需依赖上层协议,且访问接入点是开放的,不安全)
URI:统一资源标识符,用来唯一的标识一个资源 三个组成部分: 1.访问资源的命名机制 2.存放资源的主机名 3.资源自身的名称,由路径表示,着重强调于资源
URL:统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,还指明了如何locate这个资源。 三个组成部分 1.协议 2.存放该资源的主机ip地址 3.主机资源的具体地址
密码学原理(算法,秘钥) 对称加密,不对称加密。SSL采用的不对称加密 对称加密:加密数据用的秘钥和解密用的秘钥是一样的 不对称秘钥:私有秘钥,和公有秘钥 数字证书 互联网通信中标志通讯各方身份信息的一串数字(一个文件) 握手过程 1.客户端发起请求 2.服务端回应 3.客户端验证证书 4.生成秘钥 5.客户端生成数据
当全部整理完毕后将整理成pdf格式,以方便阅读,文件获取如下图(10月8日后)!