本人一直做Java开发的工作,这两天才开始学习Android开发,一开始找了一本书《Beginning Android 4》看了看,觉得还不错。可是越看越觉得东西很多,因为我做JavaEE开发多,但是Swing少,所以很多概念对我来说比较生疏。

今天我干脆换个角度来学习。Android开发也是Java开发,所有的API都是Java类。这样就和我的已有的经验挂上钩了。对于所有的疑惑我都先去看看API的类的定义,从而把握它们的实质。慢慢找到一点感觉了。从明天开始,我就边学习边梳理。希望通过我的梳理,让我还有更多的Java程序员更快地入手Android开发。

核心类

1. 神秘的R

R其实是一个常量类,是自动生成的,一般不需要修改。R里面定义了各个组件的id。

2. Activity

Activity是用户接口UI的构建基石。

   ↳
     ↳
       ↳
         ↳ android.app.Activity

 

 
   

3. Service

Service不同于Activity,它是运行于后台的线程服务,比如你要在后台下载数据。从他们的类的继承体系来看,两者具有很多相识性,有分别有着不同的功能侧重。一个是用户交互,另一个负责后台执行。

   ↳
     ↳
       ↳ android.app.Service

4. Content providers

内容提供者,当你的应用要获取别的应用的数据的时候,你就需要它了。你还得利用resolver来解析你获取的数据。

   ↳ android.content.ContentProvider
   ↳ android.content.ContentResolver

5. Intent

Intent 可以被看做是消息或者事件。你可以发布或者监听来自系统或者其他应用的Intent。

   ↳ android.content.Intent

 

操作对象

1. Storage 存储

2. Network 网络

3. Multimedia 多媒体

4. Location services 定位

5. Phone services 电话和短信

 

项目构成

1. AndroidManifest.xml 应用描述文件,包括哪些组件(Activities,Services等)

2. bin/ 编译后的文件 class等

3. libs/ 你用到的第三方的jar

4. res/  资源文件, Icon,GUI layout等,会和class一起打包

5. src/   源文件,Java文件

6. assets/ 其他的资源,会和class一起打包

7. gen/  工具自动生成的Java文件,比如R

8. build.xml and *.properties: ant 所需要的文件

9. proguard.cfg: A file that is used for integration with ProGuard to

obfuscate your Android code

 

Activities

1. Widget

   ↳ android.view.View

Known Direct Subclasses

2. Container

   ↳
     ↳ android.view.ViewGroup

Known Direct Subclasses

   ↳
     ↳
       ↳ <T extends >
         ↳
           ↳ android.widget.Gallery

 

 

 

 

待续......