1.EventBus(事件处理)
2.xUtils(网络、图片、ORM)
xUtils 分为四大模块:
-
1、 DbUtils 模块:Android 中的 orm 框架(对象关系映射,它的作用是在关系型
数据库和业务实体对象之间作为一个映射),一行代码就可以进行增删改查。 (Logo新闻内容缓存到数据库 当没有网络的时候) -
2、ViewUtils 模块:android 中的 ioc 框架(生命周期由框架控制),完全注解的方式就可以进行对 UI 绑定和事件的绑定。
-
3 、HttpUtils 模块:(请求服务器 客户端 传过去标示 head=”md5”)
- a. 支持同步,异步方式的请求。
- b. 支持大文件上传,上传大文件不会 oom(内存溢出)。
- c. 支持 GET,POST,DELETE 请求。
-
4、 BitmapUtil 模块:
可以先说下三级缓存的原理:
- 从缓存中加载。
- 从本地文件中加载(数据库,SD)
-
- 从网络加载。
-
a.加载 bitmap 的时候无需考虑 bitmap 加载过程中出现的 oom(内存溢出)和 android 容器快速滑动的时候出现的图片错位等现象。(16M)
-
b. 支持加载网络图片和本地图片。
-
c. 内存管理使用的 lru 算法(移除里面是有频率最少的对象),更好的管理 bitmap 的内存。
d.可配置线程加载的数量,缓存的大小,缓存的路径,加载显示的动画等
清除缓存是怎么做的?
(1)清除内存的缓存。
(2)数据库,SD
需要添加一下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3.JPush(推送平台)
推送的好处:
a. 及时主动性。(这是推送服务最基本的特点,即当有新的信息需要提交时,依据传送信息的类型
和重要性不同,推送软件会主动提醒用户接收新信息。从而提高了用户获取信息的及时性。)
b. 针对目的性。(推送服务提供的信息是根据用户的特定需求定的,这充分体现了用户的个性化需
求。这种个性化的服务还是动态的,用户只需在定制之初描述信息需求,推送软件就会自动跟踪
用户的使用倾向,实时地完成特定信息的推送。)
c. 便捷高效性。(用户只需输入一次信息请求,就可获得连续的信息服务。推送服务还采用信息代理机制,可以自动跟踪用户的信息需求。这样的推送服务既节省了用户主动拉取的时间,又减少了冗余信息的传递提高了信息的匹配度,从而大大方便了用户,提高了效率。)
我们在项目中主要使用的是极光推送,在极光的官网里(https://www.jpush.cn/)下载 android的 demo,将 demo 中的 aapid 换成自己申请的,测试推送,然后集成到自己的项目中去。
4.友盟(统计平台)
5.有米(优米)(广告平台)
6.百度地图
- 下载百度地图移动版 API(Android)开发包
要在 Android 应用中使用百度地图 API,就需要在工程中引用百度地图 API 开发包,这个开发包包含两个文件:baidumapapi.jar 和 libBMapApiEngine.so。下载地址:
http://dev.baidu.com/wiki/static/imap/files/BaiduMapApi_Lib_Android_1.0.zip
- 下载百度地图移动版 API(Android)开发包
- 申请 API Key
和使用 Google map api 一样,在使用百度地图 API 之前也需要获取相应的 API Key。百度地图 API
Key 与你的百度账户相关联,因此您必须先有百度帐户,才能获得 API Key;并且,该 Key 与您引用API 的程序名称有关。
百度 API Key 的申请要比 Google 的简单多了,其实只要你有百度帐号,应该不超过 30 秒就能完成
API Key 的申请。申请地址:http://dev.baidu.com/wiki/static/imap/key/
- 申请 API Key
- 创建一个 Android 工程
这里需要强调一点:百度地图移动版 api 支持 Android 1.5 及以上系统,因此我们创建的工程应基于 Android SDK 1.5 及以上。
工程创建完成后,将 baidumapapi.jar 和 libBMapApiEngine.so 分别拷贝到工程的根目录及libs/armeabi 目录下,并在工程属性->Java Build Path->Libraries 中选择“Add JARs”,选定 baidumapapi.jar,这样就可以在应用中使用百度地图 API 了。
- 创建一个 Android 工程
7.bmob(服务器平台、短信验证、邮箱验证、第三方支付)
8.阿里云 OSS(云存储)
9.ShareSDK(分享平台、第三方登录)
SDK 简介: ShareSDK 是为 iOS 的 APP 提供社会化功能的一个组件,开发者只需 10 分钟即可集成到自己的 APP 中,它不仅支持如 QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外主流社交平台,还有强大的统计分析管理后台,可以实时了解用户、信息流、回流率、传播效应等数据,有效的指导日常运营与推广,同时为 APP 引入更多的社会化流量。
主要功能:
-
a. 支持分享到主流的各大平台上。(国内主要的分享平台:QQ , 微信 ,新浪微博 ,腾讯微博 国
外的:facebook twitter google+) -
b. 支持获取授权用户资料及其他用户资料,可以通过 sdk 制作使用新浪微博登录,QQ 登录等。
-
c. 支持关注官方微博,支持@好友,插入话题,图片。
-
d. 支持一键分享,用户可以一次性将内容分享至全部的社交平台。
使用:
(1)获取 SharedSDK。(SharedSDK 官网:http://wiki.mob.com/)
(2)将 SharedSDK 集成(导入)到项目的 libs 目录下。
(3)配置 AndroidManifest.xml 权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- (4)添加代码,启动 SDK。SMSSDK.initSDK(this, "<您的 appkey>", "<您的 appsecret>");
10.Gson(解析 json 数据框架)
根据服务器返回的 Gson 数据来设计类的模型,让 Gson 解析字符串为对应的对象模型。简
来讲就是 根据 json 的数据结构定义出相应的 javabean --->"new"出 Gson 的实例
gson---->gson.fromJson(jsonString,JavaBean.class) 即可.
面试概要:
可以先说下 Gson 的作用,然后在向后拓展下。(Gson 呢,是google 提供的一个快速解析 json数据的开源框架,原来我们解析数据的时候都是 jsonObject jsonArray 一层层解析,我发现这样层层
解析很浪费时间,于是我在业余时间研究了 Gson,Gson 满足了我们快速开发的特性,只要从服务器拿到 json 数据用 Gson 解析,Gson 就会返回一个数据对象,我们就可以直接对数据进行操作了。原来解析可能需要十几分钟的事,现在两三分钟就搞定了)
补充:为什么数据要以 json 形式传输?
- 1 易读性
- 2 高效率
11.imageLoader (图片处理框架)
12.zxing (二维码扫描)
13 .Okhttp
14.Retrofit
15.Glide
在实际开发中我们使用过哪些框架很多,这里只列举了部分。回答面试管的时候把其原理精简的阐述下即可!
阅读更多
相信自己,没有做不到的,只有想不到的,如果你觉得此文对您有所帮助, 欢迎关注。日 更 精 彩
微 信 号:codeGoogler
网友评论