Android新手入门 FAQ

jopen 10年前

1、Q:什么是Android?

  A:Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。简单来说是个开源的手机操纵系统。
  

2、Q:Android就业前景

  A:Android是Google开发的基于Linux平台的开源移动操作系统。它包括操作系统、用户界面和应用程序----移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开发和完整的移动软件。

     国外Android市场正在如日中天的扩展,据市场调研机构最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销量中所占比例达到28%,首度超过苹果iphone,苹果iphone约为21%,相信在不久的将来会有更多的用户选择Android系统的手机或是无线终端设备。


3、Q:Android的特点都有哪些?

  A:1)应用程序框架:支持组件的复用和更换
           2)Dalvik 虚拟机:专门为移动设备进行过优化
           3)集成的浏览器:基于开源的 WebKit 引擎 ,TV上会内置Chrome浏览器
           4)优化的图形机制:自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器可选)
           5)SQLite:轻量级的数据库,支持结构化数据的存储
           6)媒体支持:面向常见的音频、视频以及静态图形档案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
           7)GSM 技术 GSM:global system for mobile communications (依赖硬件支持)
           8)Bluetooth, EDGE, 3G, and WiFi (依赖硬件支持)
           9)Camera, GPS, compass, and accelerometer (依赖硬件支持)
           10)Rich development environment:丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、内存和性能剖析的工具,以及支持Eclipse集成开发环境的插件(ADT )。


4、Q:学习android需要哪些基础?
   
  A:学习Android一定要有Java基础,最差也要类似Java的其他面对像对象语言的基础。很多朋友从来没有搞过编程,听说Android能赚钱,就疯了一样冲过来要学习。这明显是不靠谱的,甚至有的朋友一个字母一个字母的按照我的例子去敲代码,然后非常努力的把代码背下来。像背英文单词一样的背代码,编程学成这个样子,还真是让小生佩服啊!不管怎样,你最少也要掌握Java语言的如下知识点才能够开始学Android:

           a)Java基本数据类型及其特点
           b)Java分支语句和循环语句的使用
           c)类和对象的创建和使用方法
           d)函数的使用
           e)抽象类和接口
           f)继承和实现
           g)对象的多态性
           h)包和访问权限
           i)异常的处理
           j)类集框架
           k)eclipse的基本用法


5、Q:Android上编程用什么语言?
   A:Android应用基于Java,支持SQL,由于底层是Linux所以底层支持C/C++。
           目前有两种编程:
              1)基于ADT的JAVA编程
              2)基于NDK的C编程


6、Q:Android编程环境需要哪些?
 
  A:编程环境:Ide 、Android SDK、JDK、Java
            官方推荐用JDK+ECLIPSE+ADT+ADK(WINDOWS开发环境下。


7、Q:什么是APK?
  A:APK是Android Package的缩写,即Android安装包(anapk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。

          apk文件和sis一样最终把android sdk编译的工程打包成一个安装程序文件格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。


8、Q:什么是SDK?

  A:SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

       SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

9、Q:什么是API?

  A:API(Application Programming Interface)其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。

          其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。

10、Q:什么是TCP协议和UDP协议?
   
  A:TCP/IP协议的名称中只有TCP这个协议名,但是在TCP/IP的传输层同时存在TCP和UDP两个协议。Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个 socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。

             UDP协议是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。