本人一直做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
↳ | |||
↳ | |||
↳ | android.widget.EditText |
| ||||||||||||||||||||||||||||||
↳ | ||||||||||||||||||||||||||||||
↳ | ||||||||||||||||||||||||||||||
↳ | <T extends > | |||||||||||||||||||||||||||||
↳ | ||||||||||||||||||||||||||||||
↳ | android.widget.ListView |
↳ | |||||
↳ | |||||
↳ | <T extends > | ||||
↳ | |||||
↳ | android.widget.Spinner |
↳ | |||||
↳ | |||||
↳ | <T extends > | ||||
↳ | |||||
↳ | android.widget.GridView |
2. Container
↳ | ||
↳ | android.view.ViewGroup |
Known Direct Subclasses
↳ | |||||
↳ | |||||
↳ | <T extends > | ||||
↳ | |||||
↳ | android.widget.Gallery |
待续......