如何从零基础自学android编程?学习安卓将来能做什么?
一、如何从零基础自学android编程?学习安卓将来能做什么?
我来回答一下。
首先说个人背景,大四学生,专业机械类,学校只教了C语言基础,其他编程知识均为自学。
大二时准备学Android开发,看了一点java基础的语法知识,然后不了了之。
大三因为自己参加的项目,接触C++,用MFC写了个简单的桌面软件。
大四开始找工作,由于之前在机械公司的实习经历,感觉自己不喜欢机械类的工作,也不适合,开始改简历,投一些计算机类的公司,可惜并不是很理想,期间面了一家Android开发的实习生,人家提问,好多不懂,面试完感觉自己好渣。那是去年12月份左右。
面试失败回来后,不再海投简历,觉得与其抱着侥幸的心理去让别人给你一个机会,不如练好技术,给自己更多的选择机会。
12月份到2月初放寒假那段时间,每天白天去另外一家公司实习,回来就背着电脑去图书馆,看书,敲代码,直到图书馆熄灯。每天坚持,周末更是泡在图书馆。啃完郭霖大神的那本《第一行代码》,开始对一些大致的概念有所理解,Android的基础知识也掌握了一些。
看完书前面一大半的时候,我花了几天时间,写了一个拨号软件,Google原生的拨号不带T9拨号,我就自己写了一个,现在看来很简单,界面也很粗糙,不过那时还是成就感满满的。在这个问题如何评价《第一行代码》一书? - Android下可以看到,第一名的匿名答案就是。
后来就是放寒假了,寒假之前开始写一个软件,『在读』,就是记录你阅读纸质书进度的一个软件,由于觉得功能不实用,已经停止开发了。下面是一些简单的截图。
功能很简单,就是记录一本书的阅读进度,高级一点的就是加入调用豆瓣的API,可以根据关键字联网查询一些书的信息,如上图所示,点击进去可以看到书籍的大致信息。
寒假在家写这个软件,并开始看《Java编程思想》,开始系统地理解一些Java的知识。
寒假过得很充实,每天看书,做笔记,有时连着好几天晚上敲代码敲到凌晨2点,可是不觉得累,因为喜欢这种感觉,看着自己写的软件在手机上跑起来,特别开心,这也是我为什么转行做程序猿的原因吧。
凭着这段时间的学习,今年开学初,投了几个Android开发的实习生职位,基本上都获得了面试机会,技术面问的那些问题,自己在写上面这个软件时都多多少少遇到过,所以基本上都没问题,然后陆陆续续拿到一些offer。现在在其中一家公司实习,职位就是Android开发。
最近自己写的一个习惯养成的App上线了,满满的成就感。
虽然功能简单,界面也简洁,但是看着自己写的一行行代码,一点点改进界面,最后得到一个自己满意的结果,还是很开心的。 : )
以上罗嗦了这么多,讲了本人从只有一点编程基础到找到Android开发工作的经历,没有大牛那么厉害,只是一番很平常的经历,希望题主你可以得到一些你想要的经验。
回答题主的问题:
觉得自己有毅力,有信心的话,同时学习能力比较强,那就自学,不差钱的话就报班吧,找个靠谱的。
第二个问题我已经回答了。
第三个问题,我觉得起码郭霖的《第一行代码》上那些知识点要掌握的吧。
如果题主自学的话,以下是建议:
推荐书籍,郭霖的《第一行代码》,很好的Android入门书。
Java的话,一开始不推荐《Java编程思想》,没有编程基础的有点难懂,你可以看看网上教程之类的。
多敲代码。书上的例子,不要看着觉得会,就不去敲了,很多时候你自己敲一遍,才发现存在很多问题,试着去解决这些问题,你会学到很多。
在有一定基础上,可以想着写一些个人的项目,思考要添加什么功能,怎么实现,不懂的就Google。
学习网站的话,Android开发的官网不翻墙是打不开的,可以考虑买个vpn或者别的途径,翻墙去看,反正我是习惯了Google,vpn一直挂着。贴一个我自己的书签。安卓开发者必备的42个链接
推荐stormzhang 的Android学习之路博文。Android学习之路,很赞,一些Android初学者资源都很赞,仔细看完这篇,你会学习到很多。
开发工具下载,同样是墙的问题,这里有不需要翻墙的资源。AndroidDevTools 配置中遇到的问题自己多搜索。
最后再说一下,推荐Android Studio,真心好用。 = =
最后最重要的就是,要有兴趣,有坚持的决心,不要轻易放弃,遇到问题多看看文档,多搜搜,不要失去信心,慢慢成长起来,不要急功近利。
加油!
二、学习编程需要什么基础?
学习编程需要一定的数学、逻辑思维和英语基础,但并不需要非常深厚的知识储备。以下是一些基础知识:
1. 数学基础:初等数学(如代数、几何、三角函数等)是学习编程的必要基础,需要能够运用基本的数学原理进行计算和逻辑推理。
2. 逻辑思维:编程需要具备清晰的逻辑思维和分析问题的能力,这有助于理解程序的构成和计算机的工作原理。
3. 英语能力:编程涉及到大量的英文词汇,需要具备一定的英语能力,能够理解文档、注释和代码。
4. 计算机基础:了解计算机的基本组成结构、操作系统和网络原理等,有助于理解编程语言和程序的运行方式。
三、学习视觉编程要什么基础?
先做一个Abstract:
1行业应用背景,也就是整个系统的工作环境 需要了解的有:光源、光学镜头、摄像机和图像采集卡、图像信号处理卡
2数学基础,科学技术的本质最终都需要一个数学解释,这样才能从根本上理解科学原理,从而更好的应用技术,个人认为数学符号是现实客观世界的抽象表达,是看待世界的另一个角度,是我们处理问题的一种手段。这边主要涉及《矩阵论》《计算机原理》《计算机图形学》
3专业基础,这里就是现代科技中计算机视觉的由来了,涉及的知识浩如烟海,包括图像在计算机中的表达 ,根本是个矩阵,这里推荐一本经典入门数据《数字图像处理-冈萨雷斯》
4编程能力,这个根据不同应用领域涉及不同的语言范围 ,像我做AOI领域的主要用C#语言开发整体框架,图像处理用OpenCvSharp(还有很多其它的处理工具包),此外还有Qt+C++和Opencv的, Halcon和Visionpro也是工业界常用的
如果说是视觉编程基础的话 目前只能从系统组成上推荐了解这么多 ,真正到了实际开发中那只能是不断的学习的过程。
Details:
哈哈 本人目前正在从事视觉检测设备的开发 首先 视觉编程 按我理解应该是说的计算机视觉领域的
首先看下一套完整的的视觉系统包含哪些部分 见下图
视觉编程首先需要了解整个系统的组成 ,除此之外就是你需要负责哪些部分
主要包括光源、光学镜头、摄像机和图像采集卡、图像信号处理卡
四、学习编程的基础是什么?
1 学习编程的基础是掌握计算机基础知识和编程语言基础。2 掌握计算机基础知识是学习编程的基础,因为编程是在计算机上进行的,了解计算机的工作原理、操作系统、数据结构等基础知识可以帮助我们更好地理解和应用编程。3 掌握编程语言基础是学习编程的关键,编程语言是我们与计算机进行交流的工具,掌握编程语言的语法、逻辑和常用算法可以让我们编写出正确、高效的程序。4 此外,学习编程还需要培养良好的逻辑思维能力、问题解决能力和耐心,因为编程是一个需要不断思考、调试和优化的过程。5 学习编程的基础还包括积累实践经验,通过实际的编程项目和练习来提升自己的编程能力和解决问题的能力。
五、0基础可以学习UG编程吗?
可以
如果想从零基础学习UG,可以先了解UG的基本操作和界面布局。
接着,学习三维建模和零件设计、装配和绘图的基础知识,例如草图、实体建模、零件参数化设计、装配设计和绘图等。还可以通过阅读UG的相关教程和参考资料,多进行实践练习,逐步提高技能水平。
六、学习三坐标编程需要哪些基础?
第一,就是常说的笛卡尔坐标,也是最常用的一种,输入格式为(x,y,z),当然在平面问题中就不必输入z的值了,这很简单。
另外还有相对坐标之说,格式为(@x,y,z),表示下一点相对于上一点的坐标,比如上一点为a(20,30,40),现输入点b(@10,20,30)就表示b点三个坐标值分别比a点坐标大10,20,30个单位。
第二种就是极坐标,输入格式为(r