新建android 项目的基本思考

来源:互联网 发布:java sys refcursor 编辑:程序博客网 时间:2024/05/19 03:45

Action speak louder than words. 行动胜于言语!

开始创建一个项目说起:(开发者的习惯)

1.Application :
android项目运行首要加载类,在项目创建之初,还是新建自己的MyApplication extends Application,这样在自己日后项目的开发中,需要修改的时候可以很方便,而且如今的开发前端APP,使用到的第三方.jar特别多,eg:umeng推送,统计,分享。wechat支付,alipay支付,以及第三方账号支持登陆,都需要在项目添加引入。(ps:除非你所在的公司属于量级很高超,有很牛的大神在场,所有的功能都原生态自创)。有时需要在Application下进行声明,支持。
2.关于eclipse以及AndroidStudio
android开发工具来说有eclipse和AndroidStudio。Eclipse功能强大,支持多中平台的开发,是很好的工具。AndroidStudio的开发是由google官方建议的开发工具。并且google发布不在对ADT进行更新支持,所以还是建议开发android APP端的技术人员将项目转至到AS上进行开发较好,毕竟有很多的支持在AS上进行还是挺方便的。
3**如何将Eclipse项目转成AS项目**
1>.为何要将Ecipse转变为AS
google提供支持兼容库,v4,v7,v13等。如果开发过程中基于5.0版本开发,但是需要保证你的程序在5.0以下的手机照样正常运行,需要引入支持库,关于支持库的文章可以在网上进行参考:
https://developer.android.com/topic/libraries/support-library/features.html?hl=zh-cn
这里提供一张关于目前android系统同版本市场占有图这里写图片描述
所以4.0的版本市场占有比例最大,但是高版本的开发有着天然的方便以及更多的特效,系统的优化等,这些都是开发之前需要考虑到的。在使用Eclipse开发的时候需要将系统的支持库进行下载,并进行引用,但是使用的时候需要版本配对,保持一致,涉及v7以及ADT,SDK等。有一点头痛的是,ADT的升级google不在进行支持,V7包从网上下载也没法明显的知道是属于哪一个版本的,导致自己也没谱,还要浪费很多的时间在这种琐碎的事情中。在AS中的引用直接使用google的类库引用:
compile ‘com.android.support:appcompat-v7:23.4.0’对后续的开发以及改进都是很方便的,并且AS的版本已经升级至2.2.2版本,相对的讲已经很稳定,并且功能也足以支撑开发者的需求。
2>.将Eclipse转化成为AS项目的难处
参考资料:
http://www.imooc.com/article/3018
http://www.cnblogs.com/ct2011/p/4183553.html
http://www.jianshu.com/p/fe6af27c12ed
这些文章可供参考,但是有可能对你需要将转化的项目并没有什么作用,甚至你的项目一转就错,你还不知道自己错在哪了。网上大多数的方法我也基本试过,对记得需要进行项目基本没什么帮助。可能一些小的项目在转化的时候是可以完全可以的吧。可是反过来想一想,若是一个简单的小项目,也没必要去折腾,直接在AS上照着常规的流程来一次就好了。因为自己的项目不算大,但是也开发一年有余,其中使用的支持库,开源项目也多,在转化的过程中处处碰壁,也没有找到一个适合的方案。
我想也是有很多的人跟我的困扰类似,但是对于业务的需求,比如手机指纹识别,NFC支持,红外线等等的新趋势,就必须将自己的开发系统提升,若一直使用4.0这种版本,日后怎么办?转化项目至AS是必须的也是必然,先撇开公司的发展,对于程序猿自身也是必修课。作为最普通的开发者,没办法改变趋势,但希望不要为科技浪潮淘汰掉。
3.拥有从头再来的勇气,敢于挑战自己的魄力
无论使用哪种编译软件,其核心基础都是java语言,事件逻辑结构两者并不会有差。所以若你愿意改变,可以将代码进行重新构建在As的编译软件中,相当于重新创建该项目,重头再来一次,并在重新创建的时候,统筹把握,设计框架,第三方开源项目的支持等等。对自己而言,在前面的基础上将项目进项一次大的调整并对自己进行一次考验。(期间会很累,除了处理公司的正常工作,还需要抽出时间处理转移的工作。但是坚持下来之后,或许的格局和整个技术的把握会有一次升华,你会感谢自己从始至终都不曾放弃的毅力)。

4.Activity
android开发系统在提供V7包之前 ,建议使用所有的
Activtiy extends android.app.ActivityV7
之后引入V7包之后,只要项目中支持的版本低于4.0版本,该包会自动进行引入,所有的Activity默认
Activity extends android.support.v7.app.ActionBarActivity
自从android 5.0发布并引入Material Design的设计理念之后,google建议所有的
Activity extends android.support.v7.app.AppCompatActivity

5.项目的网络请求部分
在任何APP中,最重要的便是和自家的后台进行数据互通的部分,前端的功能相对花哨,为满足用户的审美需求以及整个市场的前端特效,还要实现整个模块的逻辑功能实现,累还不讨好,有时候想想还是后台轻松一点。关于网络请求xutils包作为比较火的开源框架,另外google提供volley网络框架,两者相对来讲功能足够android开发使用,但是 xutils3.0的设计在开发中更加的方便,数据库,注解,dubug,下载上传网络请求等都是比较方便的。因为android6.0版本之后去掉 org.apache.http.client.HttpClient网络的请求功能,建议使用HttpConnection,并对网络处理做了相应的优化,对应的xutils在3.0版本对之前的网络请求方式做了改进,已经兼容android的版本,所以可以放心的使用。

6.对于项目的基础类

前段项目进行开发,对于java语言来讲,封装,继承,多态是java的一大特色,充分并合理的运用,会使得项目的整体结构很舒服,在团队的协作中尤为重要,建议将自己整个项目用到的基础类放在同一包下,也便于其他的程序开发正进行使用。类似这样这里写图片描述

总结:对于项目的初始创建的大致情况基本如此,在接下去的文章中会将整个项目的重构过程,主要代码,相应的技术开发会持续更新!!!

看到便是缘,一起前行,共创未来。

0 0
原创粉丝点击