作为一个初次进行Android studio开发的小白,看着别人熟练地进行app端开发,也希望自己能够快速的上手,可是要从哪里入手呢,总要找一个点进行切入吧。
当然,本人有着丰富的WEB端开发经验,可是,这对Android是否有帮助呢?是不是要从头学起,才可以进行Android端的开发?
思来想去,不如干起来。作为一名开发者,首先要会使用开发工具,进行Android app的开发,首选的开发工具是Android studio,AndroidStudio是专门为Android app开发者研发的一款开发工具。
怎么样才算是用好一款开发工具?
第一,下载安装开发工具,下载最好的去处是官网。下载完毕后,是安装,安装一般都不是什么难事,不停地下一步即可。
第二,开发工具安装好了,还要配置开发工具的环境,开发工具不一样,对系统环境配置的要求也不一样。
第三,用开发工具,建立一个项目;Android studio是单项目的,打开一个窗口,只能启动一个项目,一个项目下可以有多个模块;这点与eclipse不同。
第四,项目建立起来,要让项目能够运行起来,想运行起来,各种配置一定要对,项目中该引入的架包不能缺。
第五,开发工具的快捷键,要学会使用,快捷键使用的好,可以提高开发速度和效率。
第六,调试,开发工具的不同,调试的方式也有可能不一样。
对照这几点,也可以检测,之前曾经用了很久的开发工具,是不是熟练使用了,能不能高效使用了,而不是仅仅用的久了。
总结了上面六个点,才知道,一款开发工具从陌生到熟练,还是需要一个过程,从不适应到适应,从不习惯到熟练使用。
开发工具琢磨透了,下面该切入项目了,项目建立起来,似乎不费什么力气,只要是项目,总有个框架吧?!
网上搜索了那么多,什么mvc模式,mvvm模式,mvp模式,听起来也不难,可是真要写出一个模式了,习惯了web端的开发,到了Android studio上,确实犯难了,不光自己写不出来,而且看着别人的demo,也没有临摹出来,汗颜呀~!
Android studio端的项目,同事也开发了三四个月了,自己把代码翻了一遍,也能看懂,但是难以下手,不知道从哪里开始写。这,这,这~~~!
不会写,那就挑挑毛病吧,喔,真找出来了一个,本地的数据存储sqlite操作,实体类、dao、还有接收服务接口的的返回数据,都是手写的代码,冗余不说,更重要的是累呀,后面维护是个事儿!
在网上随便翻腾着,无意中遇见了greenDao,就是这个了,逮住了greenDao写了一个demo,见Android App开发 之 SQLite 整合 greenDao,感觉很不错,实体类和dao都是自动生成的,版本升级也很容易,这个好呀!于是,把这个推荐给了开发Android studio的同事,用了greenDao这个开源插件,能提高百分之二十的开发效率吧。
本地数据存储是解决了,那接下来呢,还应该做些什么呢,Android开发之旅,还没有结束呢?在看Android框架-GreenDao学习课程的时候,顺便把该作者的懒人必备之Android效率开发框架,也看了一遍。
这个课程是讲解Android annotions框架的,看的时候激情澎湃,感觉自己可以摆脱繁重的代码编写了,并准备一展身手时,作者说,嗯,这个框架只适合中小型项目,超过65536个方法时,用户非常多时,比如过亿个用户,会影响app的性能,甚至导致App不能安装.....听到这里,只好悄悄地把手收了起来,还是算了吧。
Android annotions框架是用不成了,还是用butterknife,butterknife虽然不如前者强大,注解的花样没有前者多,但是不影响性能,为什么不影响性能呢,butterknife在编译的时候就把代码生成了,用的不是反射机制。编译的时候,生成代码,运行的时候没有任何影响,所以可以放心地使用。看来,还是有机会展露身手的,得把butterknife学习学习。
当然,写写原生的Android studio感受一下,还是很有必要,不然怎么能体会到框架的便捷性呢?
对于Android studio项目的开发,到底还有哪些可以封装一下呢,有性能好的框架自然比较好,没有框架,自己封装一下也挺好。自己封装,就要多写,多想,多感受,然后总结、归纳,修正。
网络请求,这个可以封装一下,请求网络服务器获取数据,和网络服务器的数据交互。
图片加载,这个应该属于组件优化吧。
对于xml,不知道是否可以封装,或者性能相对可以的框架......
WEB项目,框架很多,目前流行的是mvc模式。数据库中间件,在这一点上,app端和web端有点相似,都使用了ORM对象关系型中间件。在控制层、视图层、模型层,WEB端都有对应的框架。
app端,根据自己目前的调查,有框架,但是开发便捷和性能不能兼得,这是个很大的问题。也看到过很多混合模式的框架,可以兼容Android和ios的,但是性能上,根据网上的结果,不是很理想。特别是调用手机上的一些控件时,比如调用摄像头、调用拨打电话,似乎都受影响。
为了性能放弃框架,这是不得已的选择,如果有性能说得过去的框架,开发者们还是会争先恐后的去用的。
从项目架构上来说,要搭建出一个符合自己业务需求的框架,性能要求也不能太低,性能不好,用户体验会大打折扣。从开发者角度来说,搭建出的框架,一定是易于维护的,易于扩展的,节省开发时间的。
说了这么多,还是需要动手写一写代码,感觉一下,原生的,框架的,之间的差异,不然怎么能够评价优劣呢?
接下来的计划,写一个原生的xml文件和activity交互的,一套简单的数据数据增删改查,数据暂且存放在sqlite里面。
想法要有,要多想,还要向有经验的前辈们学习。有了想法,就要付出行动,检验自己的想法,想法+行动双管齐下,才能取得好结果吧。
如果你有好的Android app开发框架,基于java语言的,欢迎推荐留言,在这里,小白多谢了~!
微信扫一扫,关注一下
网友评论