Android实际开发中App怎么构建?
2016-04-18 16:41
253 查看
Android实际开发中App怎么构建?
最近很多学生问我,Android App开发时,怎么构建?是的,对于刚进入这个行业的新手来说,很多都是懵懂的,懵B的,对零散的知识碎片记忆深刻,但是对于一个完整的App开发,需要涉及到的知识点,连接起来却不明白。 今天就此进行简单的说明,希望能对哪些还处在懵懂的哥们一些提示吧! 我们知道,无论Android还是ios ,或者wp,html最核心的是: 1.展示数据(更好,更美,更准确) 2.业务交互(数据交互)
问题出来了,就好处理了。只要解决数据的展示和更好的数据交互那么一个合格的app也就好构建了
主要涉及到几个方面:
1.构建思想
1.MVC,MVP,MVVM等都是为了更好的解耦,更好,更快的开发;2.程序大牛写个快速开发框架(如:ThinkAndroid,FastDev4Android等)也可以是新手学习借鉴的好方法;
2.UI构建
更好的展示,更美的UI设计,更具人性的App体验,更炫的动画等等都是好的app的元素,这么都归于UI构建2.1常用的控件
下拉刷新,上拉加载轮播图
ListView GridVIew tablayout recycleview
等等
2.2常用的组件
activity fragment service 等等2.3常用的动画
View动画帧动画
属性动画
动画集
2.4常见的组合
Activity+Fragment+自定义RadioGroupActivity+Viewpager+Fragment
ACtivity +侧滑(DrawerLayout,SlidingMenu)+toolbar
混合式开发
2.5常见的页面跳转流程
splash页面 —引导页—–>主页—->分类页—–>详细页3.网络
3.1网络协议
HTTP,HTTPS TCP/IP socket
3.2网络通道
wifi 2G/3G/4G 蓝牙
3.3网络请求工具
Volley
适合频繁请求,但是数据量不大的网络交互 Volley默认是不支持HTTPS
xutils
支持同步,异步方式的请求; 支持大文件上传,上传大文件不会oom; 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求; 下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件; 返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间
AFinal
通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能
okhttp
Android版Http客户端。非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题
Retrofit
版本 Retrofit 1.x Retrofit 2.0 使用 如果你的应用程序中集成了OKHttp,Retrofit默认会使用OKHttp处理其他网络层请求。 Retrofit使用GSON解析JSON数据
其他
3.4网络数据格式
JSON XMLXML和JSON的优缺点对比
(1).可读性方面。JSON和XML的数据可读性基本相同,JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,XML可读性较好些。
(2).可扩展性方面。
XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
(3).编码难度方面。
XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
(4).解码难度方面。
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
(5).流行度方面。
XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous Javascript and JSON)了。
(6).解析手段方面。
JSON和XML同样拥有丰富的解析手段。
(7).数据体积方面。
JSON相对于XML来讲,数据的体积小,传递的速度更快些。
(8).数据交互方面。
JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。
(9).数据描述方面。
JSON对数据的描述性比XML较差。
(10).传输速度方面。
JSON的速度要远远快于XML。
4.图片加载
APP中展示的数据,绝大部分都含有图片,随着设备分辨率越来高,屏幕越来越大,怎么更好更稳定的展示图片这是我们在日后开发中所要注意的问题!!!4.1图片请求工具
如第三方的框架 1.Picasso 2.Glide 3.volley 4.Fresco ...
4.2图片处理的问题
图片处理不好会出现 1.失真 2.OOM异常 3.错乱 最核心,也是最基本的是加载高清图片导致OOM异常的问题 其实处理图片加载OOM就两方面: 1.加载内存空间分配不够 2.降质处理
4.3图片加载样式
1.圆形图片 2.圆角图片 3.方形图片 4.不规则图片
4.4图片样式
圆形 圆角 不规则
5.数据储存
前面说了,app最核心的是展示数据和数据交互,那么Android开发中用什么技术来进行数据储存昵?5.1网络(云储存)
公司的后台 三方的云储存
5.2数据库(sqlite)
sqlite操作
1.sql语句 2.android封装的操作类helper 3.操作框架(如:GreenDao,Afinal,xuitls)
sqlite版本更新
1.版本号 2.数据不留失更新 3.外部数据库加载
5.3sp
sp的原理
底层用了xml进行键值对储存
sp用途
临时数据,设置数据
sp使用注意事项
不宜存放过大的数据(大于app分配内存),容易导致OOM异常
5.4file
文件储存,文件下载,多线程下载,apk更新,图片下载等等5.5ContentProvider
实际开发用的较少,在此不做过多阐述,一般用于系统联系人获取下次继续策…
6.适配方式
7.测试
8.解决问题的途径
9.应用优化
10.其他
相关文章推荐
- mob分享第三方share集成到AndroidStudio与使用说明
- 搭建安卓开发环境
- iOS开发------使用自定义.bundle中的资源文件
- 关于android.text.format.DateFormat类中format()方法的用法
- 微信支付:curl出错,错误码:60
- IOS推送声音设置
- Swift的期待
- Android NDK编程浅入深出之--Android.mk
- iOS两个.a文件合并成一个.a文件
- Android Studio导入Project、Module的正确方法
- android 进阶--使用adb命令行
- 利用xib对控件添加约束 适配屏幕
- Android用软键盘将整个界面推上去
- android 生成二维码
- 【Android开发工作笔记】之接收和拦截解析短信功能
- Android studio Rendering Problems
- 使用Hbuilder和MUI开发Hybird app笔记
- iOS开发-NSAttributedString富文本
- 深入解析Android App的LayoutInflate布局
- [Android] 年年有鱼手机主题