A. 开发手机app 应该学什么
要开发一款APP,目前分为两条路线,一个是传统的外包模式,需要从零开始,一点点的研发,一条是通过应用公园APP在线制作平台,不需要编程,自己就可以快速制作运营APP。
首先,先说传统的模式:
APP开发涉及的知识主要包括:
1、前期需求的分析规划:需要一个完整的需求文档,包括流程图、时序图等,这个非常重要。
2、交互设计、UI设计:就是APP页面的设计和各个页面链接的跳转情况。
3、APP前台开发
苹果iOS版:
从基础开,一定要掌握C语言和数据结构,然后按照C语言+数据结构(面向过程) 》C++(面向对象)》java(进阶)由于 X code是运行在Mac OS X 上的开发环境,你必须首先熟悉 苹果电脑以及苹果Mac OS X系统的
安卓版:
最基本的Java语言和XML知识,还得学android特有的API的用法,如果想成为android应用开发者,最基本的是需要懂得用。掌握了这两种语言后再装个Eclipse和Android SDK, 就可以做开发了。
4、服务器相关:得掌握WebService相关知识和开发语言,ASP.Net、php、JSP等。
5、熟悉并能开发数据库。
6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。
7、API接口开发:包括你自行开发API的能力以及调用第三方API的经验。
8、TCP/IP,socket等网络协议和相关知识。
9、App发布的流程,真机调试技巧,证书,打包,上架。
B. 开发Android APP需要学习什么语言
学Java、学Android、学c++。
C. 安卓开发需要学习什么
学习分三个阶段:
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/传感器/手势 应用实现
(3)开发安卓app需要学什么扩展阅读:
知识体系
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、2D3D绘制、传感器开发、游戏开发、电话及SMS服务、网络BluetoothWi-Fi等。
8、Android系统级开发:移植、驱动、NDK(C方向)。
9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。
D. 做安卓软件开发需要学习什么技术
Android的开发技术很多,在开始学习的时候不可能一次性全部学会,也没有必要一开始都全部学会,但是有些技术是非常常用的,需要在开始时打好基础,这些技术时:
1、Activity生命周期
虽然Android中有四大组件,但是不可否认Activity是最常用的。所以熟练掌握Android的生命周期是必须的。其实生命周期就是记住 Activity的那些方法在什么时候被系统调用,这样才可以把对应的逻辑代码写到合适的方法内部去。
至于服务和广播组件可以稍微缓一下,到实际使用的时候再学习都可以。
2、界面开发技术
界面开发是一种基本的技术,几乎所有的程序里面都需要用到。在Android开发中界面开发分为3种:
1)使用xml文件布局
使用xml首先对于界面进行布局,然后在Activity里面进行引用是最常见的应用软件开发技术,这种方式使用的最大,需要学习的内容也最多。学习时需要熟悉:
a)五种Layout布局
深刻理解五种布局组织控件的方式是一个基本的基础,这样你才可以在实际的界面中灵活的使用每种布局结构,构造出需要的界面。
b)常用控件
控件有很多,至少要知道每种控件是做什么的,至于里面的特定参数和方法可以学要的时候再去查
c)界面美华
系统的控件很多时候无法满足要求,需要通过添加背景更换图片等进行美化,要熟悉每种控件如何去美华。
掌握了上面的内容,通过布局的嵌套就可以制作出各种界面,如果在熟悉include的使用就可以减少xml的重复,方便后期的修改和维护了。
2)使用代码动态创建
有些时候需要动态的创建一些布局和控件,这个就需要使用LayoutInflater去创建一些动态的界面了。
3)自己绘制界面
游戏中常用,继承SurfaceView自己绘制。
3、数据存储技术
Android中的数据存储方式有3种:
1)SharedPrefereneces存储
对于简单的数据可以使用该方式存储,以键值对的方式存储一些基本的数据。
2)文件存储
将数据以文件的形式存储,可以是手机自身的存储也可以是SD卡,文件的数据格式自己定义。
3)SQLite数据库存储
使用标准SQL语句进行操作,复杂数据的首选。
4、网络编程
现在的Android程序不需要联网的已经不多了。所以网络编程也是必须的,一般的公司都会封装有自己的联网结构,但是基本的联网还是要熟悉。
1)HTTP联网
使用Http联网+Json数据格式是现在很多客户端的首选。
2)Socket联网
至于蓝牙等连接方式则可以在项目需要的时候学习。
对于手机的系统功能,如拨打电话、发送短信、读取系统参数等则可以根据需要在学习,不麻烦的。
其次,手机软件相关
Android开发不同于普通的电脑软件开发,需要了解手机的操作习惯,知道手机的屏幕不大、内存有限,电池有限等,在实际开发和设计时尽量考虑。
E. 自己想做一个安卓App,需要学什么内容大概多久可以做好。
快速学会制作app的建议:
1、首先可以写一些简单功能的无UI的java程序,熟悉java基本语法,基本数据类型,常用类;理解继承机制等。
2、再次可以看一些Android的入门书籍,重点了解:Activity的生命周期;常用Layout及各类View的构建;能写一些简单的demo来使用这些控件。
3、如果要有内容发布功能,就意味着需要在客户端进行网络访问和数据传输,这时就需要稍微了解http协议,数据传输格式建议使用json;在Android客户端的开发中有一些第三方组件可以帮助你完成网络访问和数据解析,建议:android async http以及gson,你可以在github上查找这些组件;使用这些组件避免了你自造轮子,节省时间,但可能会阻碍你了解到一些技术细节(例如多线程,json解析方式),这点初学者可自行权衡。
4、如果你需要写一个服务器端,建议使用php+mysql来实现web service,容易上手;你可能也需要了解一些对象关系数据库的基本概念和原理,一些基本的sql语法;试着建立你的数据库表,编写sql语句来查询你想要的数据;然后编写php代码来连接并操作你的数据库,并将结果以json形式返回;如果想用java来完成服务器端,也是可以的,j2ee+jsp也可胜任。
5、极客营讲师觉得在学会以上之后你就可以着手设计开发你的App了,极客营提醒良好的代码结构和风格比学会某些sdk要重要的多,各位同学应该从一开始就养成良好的习惯。极客营讲师都会要求极客营学生做到的一点。
F. android手机app应用开发,需要学习什么语言需要什么工具
1、学Java
目前,Java语言在Android开发中占据绝对统治地位,所以开发Android的第一步就是学好Java,建议至少完整的看一本Java入门书籍,推荐:
Java语言程序设计 :入门书籍,分为《基础篇》和《进阶篇》。
Java编程思想 (第4版):从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),更讲述了java语言的前世今生,语言特性,设计理念等等,阅读本书需要一定的java基础,建议至少看完《Java语言程序设计-基础篇》再看这本书。
2、学Android
第一行代码 :郭霖大大编写的Android入门书籍,推荐这本书的原因有两个,一是郭霖大大的语言通俗易懂,二是这本书很新,是基于Android4.0的入门书籍,根据友盟指数的统计,Android4.0以下的设备已不足10%,所以,现在入门,抛弃那些仍旧停留在Android2.x的入门书籍吧。AndroidDevTools:从开发工具到入门教程,从代码规范到版本控制工具,一切与android相关的都在这个网站上,Android入门请参考该网站的 Android Dev Tutorials 模块,这个网站的github地址是inferjay/AndroidDevTools · GitHub,如果有什么补充的可以push。
Android学习之路:stormzhang大大编写的Android入门文章,对于有一定java基础的人来说,Android入门有这一篇文章就足够了。(该文章同样被收录在AndroidDevTools中)
郭霖的专栏:郭霖大大CSDN专栏。
stormzhang.com 的页面:stormzhang大大的个人博客。
3、遇到问题怎么办
Google:用google搜出来的结果比网络质量高。至于如何不翻·墙就使用google请自行知乎,但是作为一个Android开发者,早晚要学会翻墙。
博客园 - 开发者的网上家园
博客频道 - CSDN.NET
Stack Overflow:国外的开发者问答社区,无需翻墙。
GitHub · Build software better, together.:国外的代码托管平台,这里有很多Java/Android开源项目,无需翻墙。
注意:遇到问题一定要搞清楚问题出现的原因,建议花点时间仔细阅读一篇讲解详细的博文,而不是直接复制别人贴出来的代码,直接套用别人发的解决方案。
G. 安卓开发需要学什么
安卓开发需要学:
一、应用程序
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类负责创建视窗,一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。
二、中介软件
操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。
三、硬件抽像层
Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL
的目的是为了把 Android framework 与 Linux kernel 隔开。
让 Android 不至过度依赖 Linux
kernel,以达成 kernel independent 的概念,也让 Android framework
的开发能在不考量驱动程序实现的前提下进行发展。
四、编程语言
Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
五、安全控制
目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Managemeat),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型等。
下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。
参考资料来源:网络—android开发
H. 开发安卓APP需要学习哪些知识
原生android开发首先需要有java基础包括语法、常用类、封装继承多态神马的就不用多说了
其次需要熟悉xml的编写,原生开发中是使用xml来编写界面的,有以上两点就可以开始android开发了
如果你是想开发跨平台的app,还有一种方式就是会和型应用,用的是webview技术,这种app开发不需要太多的java语言基础,但是需要熟悉javascript脚本,和html5前端开发和页面响应式技术
I. 开发一个完整android app 需要掌握哪些知识
这个问题有些笼统,一个完整的app有简单有复杂,不同的app应用功能的差异也导致不同的技术实现或者算法模型。大体来说,一个app从设计到最终实现需要懂得以下几个必要方面:
1、前期需求规划与信息、交互设计——需要制定出一个完整的需求文档,功能文档,流程图,时序图。
2、交互设计、UI设计——设计出基本且完善的原型图和app基础的交互设计效果,之后再根据这些设计出完整的UI界面并学会切图,一些需要做自适应的素材图片需要做点9patch。 这里还需要懂得px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便app能完美适应不同分辨率设备。其中交互设计需要懂得很多人机操作的技巧经验,掌握Axure等交互工具的使用,UI设计需要掌握Photoshop和Illustrator等操作。
3、使用ADT之类的开发环境进行app开发,最基本的也得掌握java语言,熟悉android环境和机制,这里面涉及面广,请根据项目自行学习相关知识。
4、如果不是单机版的app,需要用到服务器,那还得掌握WebService相关知识和开发语言,常用的有ASP.Net,PHP,JSP等。
5、熟悉并能开发数据库。
6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。
7、熟悉API接口开发,这里包括自行开发API的能力以及调用第三方API的经验。
8、熟悉TCP/IP,socket等网络协议和相关知识。
9、熟练掌握App发布的流程,真机调试技巧,证书,打包,上架。
App开发其实不一定适合一个人搞,太费劲,除非是一个单机版的小应用,或者利用现成的api开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。