学习android开发,要学哪些东西?
发布网友
发布时间:2022-06-16 00:07
我来回答
共8个回答
热心网友
时间:2022-07-01 02:11
android的一些基本知识,控件使用,传值,组件等,现在好多培训出来的人都是基础差的要死,最基本的问题都要问好多人,其实只是随便的一本android开发的书上都有写的。弄懂这些之后如果你的java基础还尚可,那么就可以进行简单的android开发了,如果想更深层次的开发你就要学会读sdk,学会读别人的代码,最好模拟下市场上最常用的一些产品里面的效果,试着自己去写一下,哪怕你用最笨的方法实现也比直接copy别人的代码import进来自己用要好的多。当然有时候经验这个东西没办法,只有在开发过程中一点一点积累。看多了,写多了慢慢就融会贯通了,祝你早日踏进大牛行列~
热心网友
时间:2022-07-01 03:29
阶段一:Java(基础语法、面向对象、IO流、多线程与Socket编程、数据库,网络传输和数据解析等)
阶段二:Android应用开发(Android UI、Activity、Fragment碎片、屏幕适配、数据存储等)
阶段三:Android高级开发(Volley框架、事件机制与手势识别、消息推送、多媒体等)
阶段四:Android游戏开发(引擎系统,碰撞,音效等)
阶段五:编写项目,综合练习掌握和未掌握的专业技术。
热心网友
时间:2022-07-01 05:04
一阶:Java基础(JavaSE)
二阶:HTML + CSS + Javascript
三阶:Android初阶
四阶:Android高阶
五阶:项目实训
热心网友
时间:2022-07-01 06:55
JAVA基础开发,ANDROID开发环境的搭建
热心网友
时间:2022-07-01 09:03
果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。
1. 明确目标
没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。
这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。
接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。
2. 了解安卓开发中比较困难的地方
学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何:
1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。
2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。
3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。
看到这张图,有没有头疼的感觉?
总结成一句话:Android的碎片化真是要来开发者的命。
3. 搭建开发环境
"巧妇难为无米之炊",开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里。
4. 查看网友总结的一些经验。
不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。
1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。
2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。
3)eoe android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。
5. 掌握调试方法
个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。
Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclipse时间用长了,占用内存真是大。有哪位高手能否告诉我下,你们界面排版是用什么的?
Android里,如果程序出了问题,有些是一下跟踪不到的,这时就要用到Log类了,Log类使用很简单,就不多说了。
自己一个很有感触的经验,如果你真的打算做Android开发,那就买一个设备,这样能大大提高开发效率,模拟器有时用起来真是麻烦,而且开发的设备不要很好的,只要设备分辨率是主流的,传感器的支持最好全点就够了,国产的手机里,华为的还不错,或者到淘宝上去买个二手的,投资不大。真的买了投资,可能也会增加你学习Android的决心。
6. 程序框架
经过10多年的经历,认识到程序的框架对开发产品真的是起到举足轻重的作用。一个好的产品,如果有个好的程序框架,那真是事半功倍,可能开始所做的工作会比较多,很难看到令人激动的成果,但是相信我,绝对值得。一开始,我也是比较注重程序界面开发,很快就开发出界面来,而且着实比较激动,因为有东西出来了,但是后面的事情,真是令人发狂,想从头再来,太迟了,离计划的时间比较近了,时间不允许,只有硬着头皮往上打补丁,硬着交付第一个版本,第二个版本或者后面的版本,迟早是要重来的。所以在后面带领团队开发的时候,在开发前,都是要讨论程序框架,留出很大部分时间进行程序框架开发,及在开发中不断的改进。
刚接触Android,不知道用什么程序框架,所以查了很多资料,一开始看到一个程序框架,感觉很不错,所以一开始就使用了下面这个程序框架。
开始这个框架用的蛮爽,简单介绍一下,主UI线程如果要做一个比较长时间的任务,创建一个任务,发送到任务队列中去,后台的Service不断的从任务队列中去取任务,然后交给线程处理,线程处理完后,通过消息(Message)发送到Handler里处理,然后Handler的handleMessage函数里回调到UI主线程中去。
此框架的缺点是比较麻烦。
1)首先这里有个Observer模式,每个Activity都要实现一个接口,然后注册到后台服务中去,这样后台服务才能把处理的结果回调到主线程中。
2) 每个事件都要组成一个任务,发送到任务队列。
3)后台线程先要取任务,然后处理,然后通过消息切换到主线程,然后又回到到相应的Activity中,中间有个3次判断当前是什么任务。
4)不能并非,任务只能一个接一个,虽然这个一般不会造成瓶颈。
因为摇摇2选1应用比较简单,所以后来感觉只要使用线程和Handler,通过消息就能处理,然后就查资料,发现已经有比较多的文章描述了这种方法,只是没提出这是一个框架,但是对摇摇2选1,我感觉已经足够了。下面就是主代码,分布在每个Activity中:
private void TaskThread()
{
Thread taskThread = new Thread()
{
@Override public void run()
{
//做耗时的任务
Message msg = Message.obtain();
msg.what = 1;
uiCallback.sendMessage(msg);
}
};
taskThread .start();
}
private Handler uiCallback = new Handler()
{
@Override public void handleMessage(Message msg)
{
if(msg.what == 1)
{
//在主线程中处理结果
}
}
};
够用就好,至少我现在用着很爽。
7. 程序国际化
互联网让地球成为一个村,所以一开始也需要了解一下程序是如何做国际化版本的。不要一开始字符串满天飞,整个程序中都存在hard code,这样做,迟早是要吃亏的。
8.产品升级机制
一个方便的产品升级机制,对产品的成长很重要,android是一个开放平台,在这点上比iOS做的好的多,产品升级很方便。
学习中遇见问题进交流群 175229978
此答案的目的就是对想学Android开发的人一个指引,因为我也就是这么走过来的,加上自己在软件开发上的一些经验,让新手少走弯路。有计划,有目标的学习,这是最好的方法。
热心网友
时间:2022-07-01 11:28
学习安卓开发,要搭建安卓环境,要下载一些软件
热心网友
时间:2022-07-01 14:09
JAVA基础语法
热心网友
时间:2022-07-01 17:07
做几个应用是必须的来自:求助得到的回答