学习分三个阶段:
1,Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件环境搭建与部署/打包与发布 AVD/DDMS/AAPT调试与测试相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现
2,Android进阶初级:组件Widget/菜单Menu/布局Layout详解 Xml解析(Pull/Dom/Sax)/JNI解析SQL数据库原理,。
SQLite/SharedPreferences/File详解多媒体Audio/Video/Camera详解
3,Android进阶高级:蓝牙/WIFI SMS/MMS应用实现深层次解析GPS原理。
实现LocationManager/LocationProvider进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势应用实现
扩展资料:
知识体系
1、Unix/Linux平台技术:基本命令,Linux下的开发环境
2、企业级数据库技术:SQL语言、SQL语句调优、Oracle数据库技术
3、Java语言核心技术:Java语言基础、Java面向对象编程、JDK核心API、Java集合框架、Java网络编程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全、JDBC、XML
4、软件工程和设计模式:软件工程概述、配置管理及SVN、UML、基本设计模式
5、Android应用开发基础:Android开发平台、Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、后台服务编程
6、互联网核心技术: HTML、CSS、JavaScript、JQuery、Ajax应用
7、Android高级应用开发:音频\视频\摄像头、互联网应用、GPS和位置服务、Google Map、2D\3D绘制、传感器开发、游戏开发、电话及SMS服务、网络\Bluetooth\Wi-Fi等。
8、Android系统级开发:移植、驱动、NDK(C方向)。
9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。
参考资料:百度百科---android开发
1、首先要有Java基础
安卓是基于Java的,所以想要从事android开发相关工作一定要先有一定的Java基础知识,这里的Java基础主要包括两方面:JavaSE基础和JavaWeb开发基础。
2、JavaSE基础
JavaSE是整个Java的核心,其他所有的Java相关知识点,都是在JavaSE的基础上进行的扩充而已。所以对JavaSE的学习,需要牢固掌握Java的基本语法、理解面向对象的一些概念、Java异常、集合框架、JavaI/O,反射、泛型和多线程以及网络编程等知识。
3、JavaWeb开发
JavaWeb的主要内容包括:
Java解析XML文件DOM4J、MySql数据库的应用、多表连接查询的应用、Jsp和Servlet应用、Http协议解析、Tomcat服务器的应用配置、WebService服务配置应用。
4、Android基础
有了Java基础之后还要学习一些android开发的基础知识,包括学Android的基本控件开发和使用、高级控件的使用,掌握布局和自定义控件、Android的数据存储方法,Android的图形编程技术,2D图形的编程,图像的旋转、动画框架等。
5、android游戏编程知识
android开发也分为很多方面,所以从事android游戏开发就要学习一些安卓游戏开发方面的专业知识,包括Android游戏开发概述,SurfaceView的使用方法,物理小球技术碰撞检测技术,游戏引擎基础概念,Cocoa2d-Android引擎使用方法,OpenGLES使用方法,图片、文字和背景音乐等资源的使用方法。
拓展资料
关于大型游戏的开发:
大型游戏(cs已经有些过时了)魔兽世界,星际等等还有国内的剑侠情缘,这类游戏都是大型游戏。开发它们肯定不是一个人能完成的,一般的大型游戏开发绝不是用某种语言这么单纯的问题。
一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是DirectX(Windows平台)——游戏引擎——游戏。DirectX可是大名鼎鼎相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但DirectX接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。
此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。
参考资料百度百科软件开发
首先你有编程基础是再好不过的了。手机游戏开发的平台是JME,一般不会用到C++。当然学过C++的更好。
你学的可能是JEE,所以你一定要把JME好好学一下,重点是MIDlet,CANVAS,RecordStore。此外MIDP1.0和2.0的特性要搞清楚,如果做和网络有关的还要学习MIDP网络编程。掌握这些就基本上门什么问题了,学的不多,对于一个会C++/JEE的人来说,应该可以在1个月左右学完。
和其他语言一样,JME关键是要多练,自己试着开发几个小游戏出来是不错的练习办法,可以找出你学习上的不足点。有条件的话,做出来的游戏应该拿到真机上运行,因为在模拟器上运行和真机有区别。
如果是独立开发手游,那么还要掌握一些基本的软件,如PhotoShop,Mappy,和简单的声效处理。
?
扩展资料
想要成为手机游戏开发者吗?你的目标可能是从应用商店中赚取大量金钱,也可能只是为了寻找新的挑战。无论你的目的是什么,当设计应用时,可能需要考虑到代码层面之外的某些东西。
在你开始进行开发之前,你需要弄清楚那些必须解决的问题。谁会使用这些应用?他们会在何处使用?他们会如何使用?如果他们同时参与其他的活动,会对应用的使用有何影响?
得出这些问题的答案后,将它们写下来粘在墙上。如果你在做决定时遇到困难,可以回头看看这些答案,它们会引导你选择正确的方向。
1、选择平台
平台的选择取决于你构建的应用类型和用户群体。用户数量最多的平台是网页。如果你想要出售应用,那么可以将它投放到应用商店中。如果你需要访问Camera或其他设备的特殊API,那么你可以选择本土化路径或使用AIR、PhoneGap和Titanium之类的包装器。
不存在最完美的平台。影响平台选择的因素很多,你需要从上述问题的答案中寻找适当的平台。
2、你不会一夜暴富
许多人将当前AppStore的状况比作19世纪40年代末的加州淘金热。这种想法固然极具吸引力,但却是对行业的误解。我不推荐仅仅为了赚钱而制作手机应用,通过这种方法来致富还不如直接去赌场。
但是,我们都曾经听到过媒体报道的成功故事。我最喜欢的故事是,加拿大开发者Matt?Rix花数个月晚上的闲暇时间制作出的游戏最终超越《愤怒的小鸟》登上榜单前10名,这款游戏便是《Trainyard》。
面对当前AppStore和AndroidMarket的数十万竞争者,获得用户关注并非易事。
3、阅读HIG
可供你选择的任何平台都有HumanInterfaceGuidelines(游戏邦注:简称“HIG”)文件。它告诉你如何在目标平台上创建用户界面。在这个方面,每个平台都有所不同,你应当有一定的了解。
4、将功能与趣味性融合
构建实用应用并不意味着它必须显得乏味无趣。2009年,在我们的《FlashontheBeach》会议指导中,我们使用了iOS组件的标准设置,但是设计出完全不同的外观和感觉。我们想要让应用更有特色,但同时不会让用户感到困惑。
我最喜欢的iPhone摄影应用是《Camera+》,它的按键和名称看起来很普通,但是有可爱的自定义字体。
5、挑战传统
这个方面最著名的例子便是“拉动更新”。你应该知道我所说的是什么功能。Loren?Brichter在《Tweetie2》中将这种设计概念呈现给全世界,自那时起便如同野火般迅速传播,并蔓延至其他手机操作系统上。
想法很简单,你将列表拉动到某个点,放开后就会发生某些事情,比如重新加载Twitter等数据。尽管乍看之下显得很普通,但是一旦你理解了它的原理,就会认同这是个天才般的发明。
我们可以在Gowalla、Facebook、Google+、Tweetbot、foursquare、oink和Fribi中看到“拉动更新”。
6、行为差异
在开发手机应用时,你的产品需要在30秒到1分钟的时间内吸引用户。你的应用应当设计成,我们一看到应用就愿意使用。这意味着不要使用复杂的界面,只需要给用户提供细节内容,是吗?
可以说是,也可以说不是。有时,我坐在沙发上看电视,那时平板电脑就会受到限制。有时,我又会需要平板电脑和应用。用户在不同情况下对应用有不同的需求。
所以,要弄清楚用户有可能在哪些地方使用应用,他们当时可能会在做什么事情,根据这些问题的答案进行相应的设计。
7、内容的差异性
简单就是良好,但简单并不意味着愚蠢,我们需要专注于应用的核心功能,编写有效且与该功能相关的复制应用。
对其他应用进行微妙的复制是件非常困难的事情。
8、注意操作便捷性
我的手指比较粗大,所需的最小点击区域为44像素。任何小于这个尺寸的图标都有可能造成应用使用过于困难。我们在《FOTB2010》应用上犯过这方面的错误。
尽管后退按键的高度只有10个像素,但是我们设计了很大的点击区域,使操作更加容易。这样做会产生什么问题呢?这样的按键在屏幕上几乎看不到。不要犯这样的错误!
9、独立的分辨率
如果你希望自己的应用能够与各种设备兼容,很可能需要对你的应用进行缩放,这样才能更好地在多种设备上呈现图片。
实现这个目标最简答的方法是,让设计师自开发一开始就以矢量形式来创建美术图像。这样,当你需要以512X512的形式在iTunes上呈现图标时,就不会产生问题。
10、设计漂亮的图标
这个古老的真理目前依然适用。你只有一次给玩家留下印象的机会,你的图标便是整个应用的基础。
我们可以利用图标在呈现应用精美的一面,好好利用这个机会。
所以,让我们在图标细节上花点时间和精力。去年,针对《FlashontheBeach》,我们构建了FOTB.me,我们最初试图构建的是只适用于手机设备的web应用。
当站点被添加到iOS的主屏幕上时,你可以自行设定图标和屏幕。所以,我们利用这个机会,创作了许多种类的图标。一个用于较老的iPhone,一个用于retina屏幕,一个用于iPad。
诚然,很少人会注意到我们所做的这项工作。但是如果他们发现了,希望这会令他们感到惊讶,也可能会让他们感到高兴。如果取得这样的效果,着实是件令人惊叹的事情。
11、手机就是身份
之所以需要注意到这点,是因为我的手机会告诉你许多有关我的信息。
你可能会看到我在手机上安装了许多应用,虽然它们被分成多个不同的文件夹,但是我的桌面看起来仍显得一团乱麻。看到这一切,你会怎样看待我呢?
我的底线是,不能用丑陋的图标来污染我漂亮的屏幕,因为这会让我给别人留下不好的印象。
12、不要让用户阅读使用手册
如果你知道人们不愿意去阅读桌面软件的使用手册的话,那么对于手机应用,他们不阅读使用手册的可能性是桌面软件的两倍到三倍。
当iPad面世时,有款杂志应用设计了各种导航手势。一开始我觉得,这样的设计真得很酷!
然而一周之后,我不知道要如何使用这款应用。帮助屏幕也被应用隐藏,所以唯一的选择是重新安装应用。这可不算是什么好的体验。
如果你计划使用某些疯狂和基于手势的导航,这是可以的。但是,请确保在应用中可以随时选择查看帮助,而且让用户觉得这些特别手势是值得学习的。
13、不要伪装原生应用
我并不喜欢那些模仿原生应用外观和感觉的web应用。许多开发者尽量使自己应用的UI框架看起来像原生应用的控制方式。当它们最终被发布到AppStore上时,问题就产生了。
这些web应用运行较为缓慢,但是因为其外观和感觉像是原生应用,所以用户也期望它们的速度类似于原生应用。也就是说,开发者似乎做出了承诺,但是却无法兑现。
14、想法并不重要
2001年,Nas说过:“世间不存在原创的想法。重要的不是你做什么,而是做得怎么样。”
事实在于,开发者有可能萌生出多种想法,但执行才是应用成功的关键。只有精心设计的产品才能够走得更远。
15、针对自己的需求进行设计
这样,你至少能够确保让一位用户开心。但是,更重要的是,如果你针对自己的需求来设计应用,你可以精确地知道自己想通过应用解决那些问题,以及如何妥善地解决这些问题。
16、倾听用户的需求
某些情况下用户会提供反馈,所以拥有与他们交流的方法是件很重要的事情。使用GetSatisfaction这样的服务可以使用户与你对话,包括报告应用漏洞或提出功能要求。这个关键在于,交流应当公开且透明。
Twitter自然也是个值得考虑的工具,但需要做更多的工作。虽然我们需要倾听用户的反馈而且用户有时也确实有些精妙的想法,但应用的设计并非集思广益。你不需要完全根据用户的看法来设计应用,要相信你自己的直觉。
17、跟踪用户
分析是很重要的步骤。我们可以从中学习用户行为,看到他们是如何使用应用的。
我们在FOTB.me上使用GoogleAnalytics,主要关注Android、iPhone、iPad和PlayBook。我也使用Twitter来跟踪人们谈论应用的内容,曾经看到如下评论:
“@FOTBme我希望在今年看到web应用的梦想实现了,但是应用完全无法在Symbian系统的Opera上运行?”——ThomasKr?ftner(@tkraftner)2011年9月11日
于是,我想知道有多少人遇到了同样的问题。查看GoogleAnalytics,我发现在4241个独立访客中,只有4个人有此问题。比例只有0.09%,我们还能够接受。
“#Fotb应用无法在所有Android版的Opera上运行。”——AndreasR(@sunjammer)2011年9月12日,我们看到,受这种情况影响的用户有20个,比例为0.5%,我们依然可以接受。
关键点在于,如果没有这些数据,我们根本不知道问题的严重性。拥有这些数据,或许可以让我们晚上睡得踏实些。
18、测试原型
这是个向其他人展示想法和探索技术易用性的良好工具。我们会编写计划和部分功能,由此来测试解决问题的可行方法。无论你设计何种应用,都要先针对设备制作出原型。
你可以用来制作出可触碰原型的工具很多,比如Prototypes、Balsamiq和FieldTest。你甚至可以使用Keynote。无论你选择何种工具,都要用设备来运行游戏原型,将其展示给好友,获得他们的反馈。获得足够的反馈意见后,你就可以将原型抛弃。
没错,我的意思就是将原型抛弃。尽管这听上去有点可惜,但是任何你已经编写过的代码都会被运用到游戏的制作中,它们不会就此消失。
无论使用何种方法,你都需要快速地制作出原型。但是,你不能为修改此代码花费大量的时间,所以要将其抛弃。
19、开始动手
以你的想法为基础,开始应用的开发。尽管开发很困难,但也很令人兴奋,将想法变成现实吧!当然,我们很希望能够从一开始就将所有内容制作得相当完美,但这是无法实现的,我们只能努力去做到这一点。
20、用产品改变世界
这是个崇高的目标,但是我认为值得拥有。作为设计师和开发者,我们有能力创造出影响自己和他人生活的产品。如果我们能让生活更加简单,同时还能够解决生活中的问题,那么我们创造出的就是好产品,是值得我们骄傲的产品。
最简单的也是最基本的是你需要懂得Java语言和XML知识。现在开发安卓系统通常都用的是Java语言。掌握了这两种技能后,然后再安装一个Eclipse和AndroidSDK,就可以做开发了。
1。扎实的程序语言功底,主要代表为VC、DELPHI和JAVA。其中VC使用最广,现在比较大的游戏也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到3DELPHI;JAVA用于开发手机游戏。2。扎实的算法知识。主要有:树或图的搜索算法、丹*算法、碰撞检测算法、BSP树、人工智能
3。相关图形处理知识。比如:DirectX编程、OpenGL编程、图形学的相关知识(三维图形的形体、纹理、贴图、照明,还有三维对象的消隐算法比如油画算法,Z缓存)和动画处理知识。如果想深入还要学会几种三维引擎比如OGRE
上一篇:安卓游戏开发基础知识
下一篇:安卓游戏开发需要学什么专业知识