您的位置:首页 > 移动开发

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+自定义RadioGroup

Activity+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 XML

XML和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.其他

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: