Android实际开发中App怎么构建?

来源:互联网 发布:海岛地雷升级数据 编辑:程序博客网 时间:2024/05/11 03:29

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,HTTPSTCP/IPsocket

3.2网络通道

wifi2G/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.Picasso2.Glide3.volley4.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封装的操作类helper3.操作框架(如: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.其他

1 0