美文网首页Unity技术分享终端研发部android面试录
开发中都使用过哪些框架、平台|一招那叫你搞定面试疑问

开发中都使用过哪些框架、平台|一招那叫你搞定面试疑问

作者: goodgleCoder | 来源:发表于2017-12-18 21:18 被阅读77次

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 模块:

可以先说下三级缓存的原理:

    1. 从缓存中加载。
    1. 从本地文件中加载(数据库,SD)
    1. 从网络加载。
    • 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.百度地图

    1. 下载百度地图移动版 API(Android)开发包
      要在 Android 应用中使用百度地图 API,就需要在工程中引用百度地图 API 开发包,这个开发包包含两个文件:baidumapapi.jar 和 libBMapApiEngine.so。下载地址:
      http://dev.baidu.com/wiki/static/imap/files/BaiduMapApi_Lib_Android_1.0.zip
    1. 申请 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/
    1. 创建一个 Android 工程
      这里需要强调一点:百度地图移动版 api 支持 Android 1.5 及以上系统,因此我们创建的工程应基于 Android SDK 1.5 及以上。
      工程创建完成后,将 baidumapapi.jar 和 libBMapApiEngine.so 分别拷贝到工程的根目录及libs/armeabi 目录下,并在工程属性->Java Build Path->Libraries 中选择“Add JARs”,选定 baidumapapi.jar,这样就可以在应用中使用百度地图 API 了。

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

在实际开发中我们使用过哪些框架很多,这里只列举了部分。回答面试管的时候把其原理精简的阐述下即可!

阅读更多

Android高级进阶之FFmpeg视频播放

11个优秀的Android开源项目

Android开发者不可错过的11个开源项目

NDK项目实战—高仿360手机助手之卸载监听

相信自己,没有做不到的,只有想不到的,如果你觉得此文对您有所帮助, 欢迎关注。日 更 精 彩
微 信 号:codeGoogler

技术+职场

相关文章

  • 开发中都使用过哪些框架、平台|一招那叫你搞定面试疑问

    1.EventBus(事件处理) 2.xUtils(网络、图片、ORM) xUtils 分为四大模块: 1、 Db...

  • face24常见框架的特性

    常见框架的特性考点 tp框架的优缺点 是自己真正用过的框架 侧面说明你的开发经验 php框架有哪些,你用过哪些?各...

  • Android中常见图片格式和使用场景

    最近在面试的时候被问到:平时在开发中都使用过哪些格式的图片,能否简单地介绍一下这些格式的特点以及适用场景?虽然常见...

  • 面试总结

    这两天面试了几家公司,现对面试中问到的题进行一下总结。 1.开发中使用过哪些加密算法? 到目前为止开发中使用过的加...

  • 说一说Spring家族

    做Java开发的不可能没用过Spring框架,对Spring框架的应用和理解几乎也是面试标配的问题。不过你有细数过...

  • 淘宝高级面试题

    时间有点久了,记得一部分 1.用过哪些开源框架,图片加载框架用过哪些,分别有什么区别,为什么用使用当前的图片框架。...

  • JAVA总结(六)

    持久层设计要考虑的问题有哪些?你用过的持久层框架有哪些? 所谓”持久”就是将数据保存到可掉电式存储设备中以便今后使...

  • iOS开发3年只用5分钟搞定面试官

    iOS开发3年只用5分钟搞定面试官 iOS开发3年只用5分钟搞定面试官

  • 跨平台,混合开发

    参考: 混合开发 框架对比从事编程那些年经历的跨平台开发工具框架演变历史跨平台框架的发展历史移动端跨平台开发框架对比分析

  • ArrayList:在内存只有10M的空间中申请一块5M的数组空

    面试三连 面试官:使用过集合吗?能说说都使用过哪些吗? 小明:当然使用过,使用比较多的就是ArrayList与Ha...

网友评论

    本文标题:开发中都使用过哪些框架、平台|一招那叫你搞定面试疑问

    本文链接:https://www.haomeiwen.com/subject/rfuewxtx.html