你的位置:首页 > 操作系统

[操作系统]使用最新最酷的安卓开发技术


首先开发工具当然不能用eclipse咯,当然得用android studio。api版本当然必须是23+,以支持cardview、receiveview、百分比布局等。

另外还有引入android support v7、android support design,这样界面的效果就不会太差了,也就是metal design的风格。

然后除了界面之外,还需要访问数据库,网络请求等。


对于数据库操作,android有相应的函数可以操作sqlite,不过默认的方式要用sql语句来操作,不是很方便快捷,所以就要用ORM,那么greenDao怎么样呢? greenDao本人之前用过,虽然效率比较高,但实际上使用起来很麻烦,于是又用xutils提供的dbutils使用起来方便了很多,目前并没有感觉到有效率的问题。

使用orm虽然可以让数据库的读写很方便,但是还有一个问题,就是扩展起来不方便,程序还在开发的时候问题不大,只要修改实体类,然后框架就可以重新创建表,这样很好的,但程序一旦发布,就不能随便改了。因此考虑使用nosql,基于android的nosql也有很多的,前端时间看到SnappyDB感觉还不错,可以考虑引入。


网络操作有Volley可以用,数据格式用json比较好,有的地方使用webservice 基于

不过对于volley本人并没有用到cookie和https,另外好像也不能上传图片,有待研究,或者有什么其他更好的框架。


对于安卓应用嵌入webview是很常见的,以显示文字、图片类所谓富媒体内容,或者用html5来扩展应用或用html5实现某些界面,所谓hybrid。

不过要让应用支持hybrid特性还是有很多问题需要考虑的,不是简单嵌入webview就可以的,如js代码和java交互等。但实际上很多问题在一些使用html5来开发移动应用的框架中已经解决了。而这些框架也有开源的。

因此本人考虑以第三库的形式导入这些框架,为app提供webview的支持,同时具有hybrid特性,另外这些框架有很多扩展库可以用,因此这看起来是个非常好的主意。

如果注意看一下微信,微信使用了html5来扩展功能,在公众号可以加入链接来打开手机网站,另外还提供js-api来调用app中的一些功能,如相册、拍照等。


如果app的代码可以放在服务器端,动态更新,当然是非常好的,实现上也有一些工具可以让程序代码动态更新,不过对于这样的工具本人并没有用过,考虑到代码混淆等问题,对这种方式本人表示怀疑,有时间可以试试看。


ReactNative使用js来编写原生应用,也可以实现代码的动态更新,另外使用类似css的方式来编写界面,这看起来也很不错。android开发中使用


android使用java来编码,然而java怎么样呢,如果和c/c++比较java当然更好了(对于人来说),但是相比更高级的编程语言就会觉得不太好了,至少我感觉java的语句看起来太长了。正是因为如此,就有基于jvm的动态语言,如groovy,groovy2.4以后是支持安卓的,不过我觉得也没有更换编程语言的必要。

实际上我觉得应该用groovy去改善安卓编写界面的方式(

好了,先就写这么多了,有一些还是设想,可能不切实际,有待研究。另外还有图片加载、推送、地图、支付甚至语言识别、语言合成等都有可以用的sdk这里就不多说了。

如果你觉得本文对你有所帮助请关注我的微信公众号:zhaojieTec,更多内容敬请期待.....