熟悉了JAVA中创建线程的两种常用方法:1继承java.lang.Thread基类(该类具有了创建和运行线程所必要的架构);2 实现Runnable接口,实现该接口中的run方法。
熟悉了JAVA中解决共享资源竞争的常见方法,通常使用关键字synchronized标记方法和临界区代码,从而实现互斥。
熟悉JAVA中线程间的协作,常用方法有:等待通知机制,以及使用管道进行通信。
了解了JAVA泛型,泛型是指供给类型的"类型参数",它们也被称为参数化类型(parameterizedtype)或参量多态(parametricpolymorphism)。其设计思想和使用方法和C++的模板比较相似,但内部实现则相差很大。
其实泛型思惟并不是java最先引入的,c++外的模板就是一个利用泛型的例子。C++的模板特性是是编译时对于给定的不同的模板类型参数生成对应版本的目标代码。而Java中的泛型是用类型擦除实现的语法,实际上在编译期类型检查以外,生成目标代码的过程中根本不区分泛型的类型参数,只不过针对object(而不是类型参数)生成代码,同时在必要处插入从object到给定的类型参数的类型转换而已(也因此类型参数不能是基本类型参数,C++模板就没这个限制),不会比手动实现显式类型转换有更高的运行期效率(不过可以在源代码中省略类型转换能稍微减少写源代码过程中的出错机会)。所以,某种意义上来说,Java的泛型是伪泛型,这也是Java中被人(例如Bruce Eckel)批评最多的特性之一。
熟悉了Android系统架构从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层,同时了解了各层中的主要内容和组成部分。
了解了Android应用程序框架,同时熟悉了Android应用程序中的4个模块:Activity、Intent、Content Provider以及Service,认真学习了这四个模块的作用。
在windows下搭建了Android开发环境,包括JDK的安装与配置,Eclipse的安装与配置以及Android SDK和ADT的安装与配置,最后运行了一个HelloAndroid测试程序。
Android应用解析
Android应用程序由4个模块构造而成:Activity,Intent, Content Provider, Service
1. Activity
Activity是最基本的模块,一个Activity通常就是一个单独的屏幕,每一个Activity都被实现为一个独立的类,Activity的主要作用就是显示由视图控件组成的用户接口和对事件作出响应,代表了一个用户所能看到的屏幕,主要用于处理应用程序的整体性工作。所有应用的Activity都继承于android.app.Activity类,是android提供的基层类。
2. Intent
该特殊类实现了Activity与Activity之间的切换。Intent类用于描述应用的功能,Intent描述的结构中具有两个重要的部分:动作和动作对应的数据。典型的动作有MAIN、VIEW、PICK、EDIT等,而动作对应的数据则以URI(通用资源标识符)
3. Content Provider
Content Provider用来解决在不同应用包之间共享数据,它是一种特殊的存储数据类型,它提供了一套标准的接口用来获取和操作数据。Content Provider有多种但可以通过唯一的ContentResolver提供的方法来使用需要的Content Provider。
4. Service
Service是一个生命周期长且没有用户界面的程序。
Android用户界面开发
Android生成屏幕有三种方式:1XML配置生成;2 通过用户界面接口生成;3 直接用代码生成。用户界面都是由View和ViewGroup对象构建的。
1 View
任何一个View对象都继承android.view.View类。是一个存储有屏幕上特定的一个矩形布局和内容属性的数据结构。