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.其他
- Android实际开发中App怎么构建?
- 【Android开发】构建第一个APP
- Android实际开发问题06------通知打开app
- 实际开发中LayoutInflater
- [经验]实际构建Symbian开发环境
- android app 构建过程
- Android hybrid App项目构建和部分基本开发问题
- iOS开发中,如何更改app在手机中得实际名字
- Android实际开发问题03------ListView中添加Edittext
- android开发中观察者模式的实际应用
- Android 下实际开发中 用到的linux 的指令
- Android之Volley框架在实际开发过程中运用
- android---实际开发中遇到的问题总结
- Android实际开发中一些比较常用的工具类
- Android开发人员终于在“app-构建控制台”中获得分析
- 测试架构师之路---实际工作中如何开展Android App性能自动化测试
- 怎么在android app中使用STL库
- android fragment中怎么直接获取app版本号
- ZOJ 3933 Team Formation (km算法)
- Statement和PreparedStatement的使用区别
- UNP(一):网络编程角度下的TCP、UDP协议
- Application、进程、Task、Activity理解
- water1
- Android实际开发中App怎么构建?
- Android--使用开源vitamio做万能视频播放器
- google的Guava库的callback使用分析
- Retrofit 接收字符串
- 线程池测试
- 关于display:flex用法
- 高效Web开发的10个jQuery代码片段
- 基数排序,这个是倍增法上会用到
- JSP报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path