前言

在我大二下学期的时候,开始接触到了Android开发。最开始的原因也是只是一个念头:我想要做一款Android应用,不管是什么功能的,当时也没什么具体的概念。其实在大二上学期的时候我已经自学了PHP,当时也是因为对微信开发有了兴趣。而学习微信开发需要会一门服务器端开发语言,自己只会一些c语言和c++,于是上网百度了一番。不知道看到谁说PHP语言简单易上手,而我只是一个尚未入门的菜鸟,具体的也是不知道的,于是就在慕课网上找了一个PHP的入门教程开始跟着学起来。

PHP&微信开发

这里简单谈一下PHP的学习过程是因为后面的Android应用的后端是用thinkphp开发的。刚开始学的时候确实觉得PHP确实挺简单的,因为当时已经有了c++的底子,而PHP的语法跟c++也是很相似的,所以入门也是比较快。而入门之后就开始进阶教程,也是感觉比较轻松。PHP学的感觉有一些基础之后,就开始找了一个PHP微信开发的教程开始学习,也是慕课网上的教程。微信开发的学习就不是那么顺利了,因为之前学PHP基本上只要懂得语法就行了,而语法的学习是比较简单的。而对于微信开发,最好是有一些web开发的经验,实际上微信开发也是web开发的一种罢了,而对于我这个菜鸟恰恰是最欠缺的,因为基本上我在学校学的都是语言本身的基本的东西而没有涉及到具体的开发,所以学习起来很是吃力。微信开发最开始的token验证就很是花了一番功夫。对于我来讲,接触到的一些新的名词比如token,get&post请求,url,服务器等等对于我来讲都是一头雾水,不知其然。而且又没有谁可以引导入门,完全都是靠自己摸索和在网上寻找有关的教程、博客等。其实现在看来,很多东西都是差临门一脚,只要入门了就会好很多了。而且像互联网这些知识,新的东西是层出不穷,知识的更新也是日新月路,所以自学是非常重要的,如果不能跟紧潮流,那很容易就会被淘汰掉的。后来自己捣鼓出一个微信公众号后就再也没深入研究了,有一些基本的功能比如天气提醒、讲个笑话、听个音乐什么的。没有继续深入的原因是,究其原理微信开发实际上就是web后端开发罢了,微信把用户的请求发送到你的服务器上,而开发者负责处理请求并返回结果等,并无太大难度可言,对于一个掌握基本技能的后端开发者来讲,跟着官方文档来并没有太大的难度。另一方面就是自己本身也是基于学习的,也没有真正的业务来交给我做,所以也就不再接触了。

关于Web

只会PHP的话只有自己一个人是做不出什么东西的来的,一般来讲还需要一个做前端的人。只是由于自己性格比较内向,很少去接触什么社团之类的,再加上学校的这些方面的氛围确实不是很好,很少有一些什么开发团队创业团队什么的,有也是很少的,不得不说这是大学生活的一个遗憾了。既然没有人来帮着做前端,那就只能自给自足了。最开始的时候其实是想学习web开发的,也就是html+css+js这些东西,做网站开发。只是随着学习的深入,我发现想做好一个网站远远不是只要会html等就行了,还需要好看的UI,人性化的交互设计等等。而我确实对这些并没有多大的天赋,做不出好看的网页谈何web开发呢?或许是从内心深处对设计网页、写网页、写css等不感兴趣,几次想搭建一个自己的个人博客都半途而废(直到我遇见了hexo…)。于是学完基础的一些东西后,就没有再深入地进行学习了,然后我现在的前端水平也仅限于看得懂html+css+js,可以小改一下界面。所以说我其实很佩服那些网页做得很炫酷的人,怎么说呢,人也许总是会佩服那些有已短之长的人。

关于Android

开头已经说过了,学习Android是因为一个偶然的念头。那是在大二暑假的时候,当时我会自己所学的PHP加前端知识做了一个简陋的快递查询的小网友,以现在的眼光来看,那真的是太简陋了,只有简单的输入框和淡黄色背景,当时做出来还觉得非常地有成就感,我找了一下,没想到还找到了当时在QQ空间发的截图: 代码估计已经被我删掉了,确实也没什么价值。而且因为后来换了一次服务器而忘了备份数据库的原因,对应的数据库也没了,这估计是我犯的最愚蠢的一次错误了,也有不熟悉的原因,还好并没有太大的损失,都是自学时写的一些小东西,不过这一次的教训一定要牢牢深记。 还是回到Android开发吧。因为暑假的时间也比较多,想着不能就这么浪费啊,还是学一些新的知识吧。因为Android应用接触的还是很多的,Android手机现在使用得也非常普遍,所以就决定,学Android吧。于是网上找教程,找视频什么的,我现在还记得我是在腾讯课程找的一个Android入门教程,然后开始跟着视频搭建开发坏境,安装jdk,配置Java环境,下载AndroidStudio等等,说到这里,不得不提一下了,原生Android使用Java语言开发的,而我们学校当时并没有开Java这门课,我们专业到大三的时候才开始学习。没办法,只能学一门新的语言了。所幸Java语言的语法跟c++非常的相似,而Android开发大所用到的只是Java的基础语法,更多的是熟悉各种库api的使用,视图的搭建等等,以及那一套开发的通过流程。入门还是很简单的,我现在的水平估计也只是比入门好那么一些,不过也已经能开发出一个简单的app了,具体该如何深入与进阶我还不知道该怎么做,我觉得等参与的实际项目多了进步也就很快了。

最后

还是放一下app的截图吧。

写这个系列的原因是通过完成这个app,学到了很多东西,但是却没有好好的去理一下。通过写博客的方式,不仅可以为后来者提供一点帮助,也可以让自已温习一下学过的知识,加深自己的印象。我也希望自己能把写博客这个习惯坚持下去,因为我从别人的博客中得到的帮助真的很多很多,我也希望自己能够像别人一样。