使用最新最酷的安卓开发技术

首先开发工具当然不能用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 基于xml的SOAP协议之类,本人认为xml的格式并没有什么好处,SOAP之类的协议也算是比较老了,很显然json更简洁更节省流量,而且可以和web端js更好的结合。反正都是基于http协议(json的解析,使用fastjson)。

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

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

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

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

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

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

ReactNative使用js来编写原生应用,也可以实现代码的动态更新,另外使用类似css的方式来编写界面,这看起来也很不错。android开发中使用xml的方式来定义界面,本人感觉并不好,很啰嗦有很多重复和干扰的东西。也许ReactNative定义界面的方式会更好(有待研究)。

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

实际上我觉得应该用groovy去改善安卓编写界面的方式(xml),groovy中所谓DSL,gradle中声明依赖库的方式就比maven中的pom.xml看起来好过了,更为重要的是使用groovy脚本来作为配置文件就可以使用判断循环等,这样就非常灵活了。因此如果可以用groovy脚本来定义安卓界面,一定比xml的方式好玩多了。

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

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

时间: 2024-12-19 19:20:56

使用最新最酷的安卓开发技术的相关文章

安卓开发技术分享:旋转屏幕导致Activity重建

Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration. “屏幕方向”(orientation)是一个Configuration,通过查看Configuration类的javadoc可以看到其他Configuration还有哪些:如fontScale.keyboardHidden和lo

安卓开发技术博客汇总

http://tech.meituan.com/mt-apk-adaptation.html http://www.cnblogs.com/ct2011/p/4100132.html http://blog.csdn.net/jwzhangjie?viewmode=contents http://www.cnblogs.com/cate/android/#p3 gradle教程 [原创](eclipse/ADT下 非插件 非Android Studio/AS)纯手打 第二篇:gradle简单实战

安卓开发_数据存储技术_sqlite

一.SQLite SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了.SQLite已经被多种软件和产品使用 二.SQLite特性 1 2 1.轻量级 3 SQLite和C\S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器.使用SQLite一般只需要带上它的一个动态库,就可以享受它的全部功能.而且那个动态库的尺寸也相当小. 4 2.独立性 5 SQLite数据库的核心引擎本身

Autodesk 最新开发技术研讨会-北京-上海-武汉-成都-西安-PPT下载

经过半月的奔波,转遍祖国大好河山.结论,还是喜欢成都,安逸~,好希望能在成都生活,竹林里品茶,不亦乐乎~ 如果你没能参加我们的研讨会,下面的PPT供参考:   面向世界.面向未来 – Autodesk 云和移动技术揽胜 Autodesk_Cloud_Services_SC.pdf 4772KB 2014/9/19 10:07:00 Download     Autodesk最新云API开发技术惊鸿一瞥之Recap照片建模技术 ReCapPhotoWebAPI2014.pdf 8507KB 201

如何搭配最新的安卓开发环境

        本章只是写了如何配置JDK,以及adt-bundle的配置.对于以前的adt-bundle的版本,会自带CPU/ABI系统镜像,经过本文所描述的两个步骤后可以直接创建AVD,但是从官网下载的最新的adt-bundle并没有带镜像,下章讲述如何下载多个Android版本平台以及下载镜像. 一,JDK的下载,安装与环境变量配置 1)JDK的下载 a, 输入网址https://www.oracle.com/进入oracle官网,如下,点击Downloads栏下的Java SE,进入Ja

御安全浅析安卓开发代码混淆技术

御安全浅析安卓开发代码混淆技术[关键词:代码混淆,Android应用加固,移动应用保护,APP保护,御安全] 提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的方法--代码混淆技术.随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由java层转到native层,以对抗成熟的java逆向分析工具,然而如果native层的代码如果没有进行任何保护,还是比较容易被逆向分析工作者获取其运行逻辑,进而完成应

技术选型(一)——安卓开发

接下JRKJ项目是从大概8月中旬,当时自己安排的任务主要是.NET这版的Web开发,框架是原来ITOO的框架,主要因为是1.0版,主要时间都在梳理需求. 后来因为人员调动各种原因吧,接下了安卓APP的开发.对于这个有点儿陌生的东西,感觉有很多不确定性. 首先,面临的就是.NET  Or  Java的问题. 开发的时候,我是选择.NET 平台还是Java平台. .NET平台 好处: 相对于java开发人员来说,.net相对来时比较熟悉,因为团队中还是.net开发较多,人员不足的情况下,我可以抽出一

Android开发技术周报 Issue#27

教程 Android开发技术前线第五期 (@MrSimp1e) 深入Android图形管道.Romain Guy的性能优化案例.图片加载框架Glide.模仿iOS的模糊视图,都是些不错的文章. Android内存优化之MAT工具使用教程系列 (@高建武_Gracker) 正所谓工欲善其事,必先利其器,在对Android应用进行内存优化MAT(Memory Analyzer Tool)是一把必不可少的利剑,MAT一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具

Android开发技术周报 Issue#31

教程 LeakCanary: 让内存泄露无所遁形 一些对象有着有限的生命周期.当这些对象所要做的事情完成了,我们希望他们会被回收掉.但是如果有一系列对这个对象的引用,那么在我们期待这个对象生命周期结束的时候被收回的时候,它是不会被回收的.它还会占用内存,这就造成了内存泄露.持续累加,内存很快被耗尽. 移动端尺寸基础知识 (@慕课网) 初涉移动端设计和开发的同学们,基本都会在尺寸问题上纠结好一阵子才能摸到头绪.我也花了很长时间才弄明白,感觉有必要写一篇足够通俗易懂的教程来帮助大家.从原理说起,理清