我的Java学习之路



  将近两个月的时间没有更新过博客了,这个东西还是不能断,以后要坚持按时更新。这段时间主要在学习Java编程方面的知识,之前自己主要是通过C++来做图像,技多不压身,学习了一个月,再次写一篇博客来总结这段时间的学习过程,作为一个Java的入门级菜鸟选手,这算是一篇水贴,所以我选择放在了综合栏目中,以供和我一样正在自学编程语言的尚未进入职场的程序员共勉,首先把我这段时间的学习路线绘图呈现给大家:

我的Java学习之路_第1张图片

  从这个图中可以看到,我是从安卓开发中入手学习Java的。之所以选择以安卓开发作为入手点来进行Java学习,主要原因有两个:一是Java语言的“零碎”知识实在太多太广,让人有点摸不着头脑,因此有必要找一个相对具体的方向来进行入门实践;二是Android开发本身就是Java的一种实现,并且相对于web开发要容易理解一点(典型的门槛低厅堂深模式),因此选择通过安卓开发来打开自己学习Java的大门。

  一、环境配置与Java基本语法

  1、Eclipse安装

  学习一门语言之前首先要选择一个IDE,C++我用的VS,Python我用的Pycharm,Java我选择Eclipse。配置Java编程环境主要分为两步,安装JDK和安装Eclipse,总的来说比较简单,主要是操作环境变量,问题不大。这里主要有以下几个问题需要注意:

  (1)JDK与Eclipse版本匹配问题。32位的Eclipse要搭配32位的JDK,64位的Eclipse要搭配64位的JDK,否则在打开Eclipse时会报错。至于JDK版本与Windows版本的匹配问题,目前并没有明确规定,也就是说64位的Windows下同样可以运行32位的JDK和32位的Eclipse,但这里还是推荐选择安装与操作系统版本相同的Java平台。

  (2)Eclipse这个软件和其他软件的一个明显的不同点就是其解压就可以用,不用安装,请不要感到奇怪。

  2、Java基本语法

  配置好开发环境之后接下来的任务就是敲几行代码练练手感,这也就意味着我们需要对Java的基本语法先进行了解。对于有一定编程基础的人,花一天左右时间找本Java导学之类的书来读一读就行了,重点体会Java语言与目前自己已经掌握的编程语言(如C++)之间的区别即可,具体细节需要在敲代码的过程中再强化理解。对于没有编程基础,没有学过其他编程语言的同学来说,那只能多花点时间慢慢体会学习了,编程就是这样,学第一门编程语言的过程(哪怕是Matlab)肯定是稍微漫长的,再学别的就快了。总之这里需要注意的就是赶紧上手敲代码,简单点没关系,不要在啃导论或者教学视频的过程中花费太多时间(项目型的教学视频除外)。

  3、Eclipse插件配置

  在安卓开发过程中仅仅安装了Eclipse是不够的,还需要配置ADT插件,这个插件的配置方法网上有很多详细的教程,这里就不在多说,需要注意的一点就是ADT的版本问题,太低的版本将无法支持高版本的Android SDK。至于Android SDK的下载,大家自求多福吧,总共十多G,还要和防火墙作斗争,很是麻烦,幸好我是从学长那里直接拿到的。

  说道Eclipse插件,Github的插件几乎是必须要有的,因为我们要备份代码,要版本控制,至于如何配置Git插件,如何将本地项目代码提交到Github,如何从Github上下载别人的代码,网上都有详细教程。

  二、安卓入门(UI设计)

  1、大话企业级Android开发

  这个标题其实是一份文档的名字,由国士工作室创作完成的,网上很容易弄到手,对于一个刚开始连Eclipse都用不熟的菜鸟来说,跟着这本书的套路敲敲代码,体会体会安卓开发的入门操作,是很可行的一件事,我就是这么干的。

  2、第一个示例和第一段代码

  学习新东西最重要的是先找到一点成就感,建立自信心。这里我向大家推荐两个取得成就感的途径:

  (1)加载并运行SDK中提供的例程。谷歌在Android SDK中已经封装好了若干个成型的、能够直接运行的示例程序,细心的同学在新建安卓工程的时候肯定能发现。加载其中的某个工程,并在真机上进行调试运行,相信我当你能够顺利加载一个安卓例程并将其下载到你的安卓手机上时,成就感就会油然而生。

  (2)拨号程序

  能够运行封装好的例程只是我们建立自信心的第一步,接下来需要自己动手写一段程序。这里我们不谈Hello World,谈拨号。在《大话企业级Android开发》这篇文档中详细的介绍了如何在安卓工程中通过为数不多的几行代码来调用安卓机的拨号功能,这一步虽然不难但是很能鼓励人,做安卓开发,第一步一定是先自己能够通过代码让手机拨号。

  3、UI编程初步

  能够运行例程了、能够打电话了,此时我们已经相信通过编程确实能够让安卓机做些什么。接下里我们可以开始更深一层的安卓编码。刚开始编写安卓程序肯定是围绕UI界面进行编码,说白了就是编写个计算器、电话簿之类的小Demo,这和C++中的MFC入门有几分相似。总之此时我们必须自己动手写这些小的、简单的、依托现有控件元素的demo,这里我推荐大家先编写一个电话簿的小demo,通过EditText控件显示联系人电话号码就可以,难一点的也可以考虑使用ListView控件进行显示。这一步的最终目的就是编写一个电话簿Demo,通过ListView显示联系人号码信息,并且能够在List列表中进行拨号,这就涉及到了ListView控件的单击事件响应和菜单响应,刚开始肯定不会,网上查就行了。

  三、数据库编程

  干编程,数据库这一关早晚都得过,非计算专业毕业的同学在大学里一般都没有系统的学习过和数据库相关的课程,但这也没办法,补吧,好在在Android中封装了一个轻量级的、用法相对很简单的数据库SQLite。至于SQLite的安装和使用,文档里以及网上都有详细的资料,这里不再赘述,麻雀虽小五脏俱全,这一步我们的目的是借助SQLite来学习基本的SQL语句,对数据库增删改查有一个基本的概念,毕竟以后数据库这条路还长着呢。

  在这一步,我们有必要将数据库与我们之前写的电话簿Demo结合在一起,即将联系人信息存储在SQLite数据库中,并对应对其进行增删改查,此时,一个携带有数据库存储功能的、能打电话的电话簿Demo就完成了,这绝对要比Hello World要有用多了。

  四、安卓网络编程

  最后,我们要接触安卓网络编程的一点基本知识。这里主要涉及到两个陌生的问题:HttpClient和Json数据解析。HttpClient是安卓用来进行网络请求的已经封装好的方法(当然可以用其他的方法,映入对应包就行了),Json是字符串。HttpClient和Json解析的东西一句两句也说不清楚,需要大家自己查,至于怎么用,推荐一个好的练手的程序:天气查询。

  天气查询是一个简单的、但很能说明问题的实例,大致流程就是安卓应用程序发出请求,天气查询网站的服务器返回一个Json字符串,然后我们对这个长得Json字符串进行层次化排列(Json解析),提取出我们想要的信息。需要强调一点,安卓4.0以后不允许在主线程中进行联网请求,需要单独开辟线程,这就涉及到Handle、thread的使用,需要学习的东西很多。

  五、总结

  OK,以上就是我的java入门过程,或者说更像是一个安卓入门过程,但安卓和Java是不分家的,怎么说都行。一共写了两个例程,一个是带数据库的、功能相对齐全、界面经过美化的电话簿demo,一个是天气预报查询例程,我会抓时间把这两个例程整理一下放到博文中的。

  六、注意事项

  1、新手菜鸟贴,仅作参考

  本人Java菜鸟、安卓开发菜鸟,这篇文章主要是为了记录和总结,若有不当之处,还请大家多多指正。

  2、推荐真机调试

  安卓开发过程中推荐真机调试,ADT的虚拟设备太慢了,而且功能不全。但在连接安卓手机(或平板)的过程中有一个问题需要注意,那就是XP系统需要自己手动安装驱动(如三星手机驱动、小米助手等),而Win7等系统貌似可以自动查找安装,相对方便一点。

  3、围绕程序和例程进行学习

  我在入门学习的过程中一直强迫自己写代码,写demo,在实践中体会真理,放之四海而皆准。



如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢。

我的Java学习之路_第2张图片

你可能感兴趣的:(我的Java学习之路)