文章目录
  1. 1. 新手学编程,应该怎么学?
    1. 1.1. 1.应该先学知识点吗?
    2. 1.2. 不看书那应该先写代码?
    3. 1.3. 书是干什么用的?
    4. 1.4. 不看书也不先写代码难道要去山东找蓝翔吗?
    5. 1.5. 5.读别人的代码应该怎么读?
    6. 1.6. 6.读别人的Android代码应该怎么读?
    7. 1.7. 7.为毛要读别人的代码?
    8. 1.8. 8.读到什么时候能学会?

新手学编程,应该怎么学?

以下纯属个人见解,大神勿喷。

1.应该先学知识点吗?

个人经验表明,学编程,最开始拿一个月先学知识点或者只学知识点,基本就等于没学。于是你发现你很努力的看了一个月的书,还是什么都不会写,或者写出来了一坨bug都不知道怎么改,终于你放弃治疗了。当然,骨骼清奇的可能21天精通C++,然后妈妈再也不用担心他的编程了。人跟人的情况不一样,所以这里不是绝对的,但是我觉得对楼主的情况还是比较符合的。

不看书那应该先写代码?

你发现,你不看书,完了直接写代码又什么都不会,于是你表示要先学代码,完了你又懵了,先学代码怎么学?很多人又跑去看书了。。额,接下来发生了什么,这里参见第一条。

书是干什么用的?

我觉得书更多的时候就是参考文档,就Android来说,谁最懂Android?当然是谷歌,那么问题来了,参考文档哪家强?不找官方文档你还要去找蓝翔么?Android官方文档

至于其他的中文书,我觉得很多都夹杂了个人的见解,初学者慎入,不然很容易接触不到原汁原味的理念和思想。如果觉得英文的官方文档很蛋疼,看看翻译过来的中文版也可以。

不看书也不先写代码难道要去山东找蓝翔吗?

如果你发现你学了一个月,看了一个月的书,还是什么都不会,那接下来你要么放弃治疗,要么吃口药开始从别人的代码读起来啊。那么问题来了?别人的代码哪家强?不找官方的demo你还要去山东找蓝翔么?android samples

当然以上我提到的所有界面你如果不翻墙,可能都打不开,看着一坨无法连接可能你还会有一种要去山东找蓝翔的赶脚,不过不用怕, 你想要的这里都有,GitHub,你值得拥有。

其实这里说的就是题主说的,在应用中学习,但是在应用中学习的方式也是有区别的。

5.读别人的代码应该怎么读?

如何读别人的代码我写过一篇自我体会的博客,如何阅读别人的代码,自知水平一般,大神就不用点了。

6.读别人的Android代码应该怎么读?

注意千万别上来就一个一个文件地通读,相信我,其实不用相信我你也会发现根本读不明白的。什么?读当然要读明白才有用啊?废话,你丫直接通读就能读明白了还读他干啥。

其实读什么代码都先得搞明白数据的走向,具体到Android身上,他是有MVC层的。
View层在Android里其实就是传说中让无数开发人员蛋疼菊紧,闻风色变的UI适配,具体讲就是res/layout/.xml那堆东西。

Model跟Controller层就是.java了。这个分的不是很清楚,你可以自己作区分。

说通俗点你要懂得:

前端的一个数据用户输入进去,你要在后台如何获取到。

你后台的一个数据,如果反馈给前端。

做到这你会了点毛?你发现你毛都不会,但是这个时候其实你已经知道部分Android的文件夹之间是干什么的,之间是如何协作的。

什么?你说你还是没看懂啊,在心里问自己bin文件夹里是啥?res/layout以外的文件夹是啥?

大声的对自己吼一句:劳资怎么知道,我又没用到那呢。

不要再问搞不明白怎么往下学了?你刚开始的时候知道res/layout是干什么的吗?那现在呢?

7.为毛要读别人的代码?

写代码的最终目的是执行,所以你从一个能执行的程序开始,能很快的验证自己的学习到底对不对。

什么?你问我怎么验证?你改了以后他成功跑出了结果就说明你学的是对的啊。跑错了显然就是错的。

别人的代码好处就在于他都写好了,虽然你毛都看不懂。但是他能顺畅地跑起来。当然,除了用了你的电脑编译器编译了下,再用了你的手机安装呈现了以下,现在这事跟你半毛钱关系都没有。

但是你可以输出啊亲,这时候你必须给自己壮壮士气:“尼玛劳资虽然还不会Android,但是改个String值还是会的。” 所以你成功的将前台textView里的“A”改成了“B”。虽然你完全不知道发生了什么。但其实你已经知道数据输出到前台的最后一步是什么了。

搞到这,既然你已经成功的在屏幕输出了一个B,那么你可以装逼点说自己已经入门了.虽然你还是不懂别人的那坨代码。但是你已经潜意识地把代码细化到了某个点上开始逐个突破了。

8.读到什么时候能学会?

读啊,接着读,再接下来呢?接下来就是按需学习了啊。

比如你想加个按钮,你就可以搜一下Android button的东西看一看,然后发现了xml里的<button/>和java里的findViewById()setOnclickListener().

比如你想向用户显示一些帮助/提示.于是你发现了Toast这个玩意。

什么?别人问你什么是Service,告诉他:“劳资不是不会Android,劳资压根没用到过那东西,要学的东西这么多,我现在还用不着先学他干啥。”

比如你。。。。。

若干个比如以后你发现,我凑,劳资当年改String值的时候怎么会觉得findViewById这个鬼函数这么难。

再若干个比如以后你发现,尼玛,劳资什么时候学会的Android


以上。
本文回答在知乎:安卓开发学习应该先学知识点再做应用还是在做应用中学习?

文章目录
  1. 1. 新手学编程,应该怎么学?
    1. 1.1. 1.应该先学知识点吗?
    2. 1.2. 不看书那应该先写代码?
    3. 1.3. 书是干什么用的?
    4. 1.4. 不看书也不先写代码难道要去山东找蓝翔吗?
    5. 1.5. 5.读别人的代码应该怎么读?
    6. 1.6. 6.读别人的Android代码应该怎么读?
    7. 1.7. 7.为毛要读别人的代码?
    8. 1.8. 8.读到什么时候能学会?