第一天:

前言

dalvik虚拟机

1> 搭建Android开发环境

2> 创建与启动手机模拟器

屏幕分辨率

HVGA:320×480

QVGA:240x320

WQVGA400:240X400

WQVAG432:240X432

WVGA800: 480X800

WVGA854: 480X854

 

src/  java原代码存放目录

gen/ 自动生成目录

gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。

res/ 资源(Resource)目录

在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。

assets资源目录

Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp

AndroidManifest.xml 项目清单文件

 这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。

default.properties 项目环境信息,一般是不需要修改此文件

webkit浏览器

 

显示单位

 px (pixels)像素

     一般HVGA代表320x480像素,这个用的比较多。

 dipdp (device independent pixels)设备独立像素

    这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

 sp (scaled pixels — best for text size)比例像素

    主要处理字体的大小,可以根据系统的字体自适应。

除了上面三个显示单位,下面还有几个不太常用:

 in (inches)英寸

 mm (millimeters)毫米 

 pt (points)点,1/72英寸

为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。

 

打开Android模拟器时,出现无信号,拔打电话或发短信时,提示“尚未注册网络”错误信息的解决方案如下。

  场景一:你的电脑没有连接上互联网,同时也没有在局域网。

  解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下:

     IP地址:192.168.1.100

     子网掩码:255.255.255.0

     默认网关:192.168.1.100

     首选DNS服务器:192.168.1.100

  场景二:你的电脑没有连接上互联网,但在局域网。

  解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下:

     IP地址:设置成你所在局域网的IP,如:192.168.1.100

     子网掩码:设置成你所在局域网的掩码,如:255.255.255.0

     默认网关:设置成你所在局域网的网关,一般网关的IP格式为:*.*.*.1,如:192.168.1.1

     首选DNS服务器:设置成你所在局域网的路由器IP,一般路由器的IP格式为:*.*.*.1,如:192.168.1.1

  最后一种解决方案是:让你的电脑连接上互联网。

 

3> 学习使用ANDROID操作系统

   桌面、电话拔号器、联系人(通信录)、

4> 开发与运行(卸载)第一个ANDROID应用  (Activity 类似于Action)

5> 项目的目录结构

6> 项目清单文件分析   项目清单文件在安装过程中被解释的

7> 分析第一个ANDROID应用的启动过程

StartActivity(context , new Compent(“cn.itcast” , “MainActivity”))
         {
                   MainActivity.class.newInstance() ;
                   onCreate() ;
         }        接着把实例放在stack

8> 电话拔打     

9> 查看手机模拟器往控制台输出的日志信息

10> 如何部署应用到真实手机

   1>安装手机的驱动到pc上

   2>用一条usb连接线把手机连接到pc的usb接口上

   三星  800M   180M  android2.1

11> 短信发送

   A.状态栏通知  B.对话框通知  C.吐西(Toast)

12> 布局介绍

LinearLayout (线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)

第二天:

1> 单元测试

2> 查看与输出日志信息 System.out / System.err / Log

3> 文件操作

4> 往SDCard读写文件

5> XML解析(SAX/DOM/PULL),写xml文件

6> SharedPreferences

第三天:

1> SQLite数据库添删改查操作

   A.创建数据库

    SQLiteOpenHelper  .getReadableDatabase()或.getWritableDatabase()

   B.SQLiteOpenHelper自动创建数据库的原理实现

   C.数据库版本变化

   D.编写代码完成添删改查操作(两种实现方法)

   E.事务的实现

   F.采用ListView实现数据列表显示

2> ContentProvider

   A.把person表对外共享

   B.访问ContentProvider

   C.往通信录添加联系人,和获取联系人

第四天:

1> 网络--获取数据(图片、网页、xml、Json等)

   A.从网络获取一张图片,然后显示在手机上

   B.从网络获取网页的html代码,然后显示在手机上

   C.案例:酷6网的视频客户端有一个功能:"在手机上显示最新的视频资讯",视频资讯是从服务器获取的,数据以xml格式返回给Android客户端,然后列表显示在手机上

   >>最新资讯

     喜羊羊与灰太狼全集        时长:60

     实拍舰载直升东海救援演习  时长:10

     喀麦隆VS荷兰              时长:40

   D.以Json格式返回数据给Android客户端

2> 如何把数据通过HTTP协议提交到网络上的Web应用(get  / post  )  数据大于2k的时候

   A.通过Get方式提交参数给Web应用

   B.通过Post方式提交参数给Web应用

<form method="post" action="....">
         <input name="name" value="xxx"/>
   </form>

   C.使用HttpClient开源项目提交参数给服务器

3> 网络--通过HTTP协议实现上传文件数据

<FORM METHOD=POST ACTION="http://192.168.1.10:8080/video/manage.do" enctype="multipart/form-data">
         <INPUT TYPE="text" NAME="name">
         <input type="file" name="imagefile"/>
   </FORM>

4> 网络--通过HTTP协议发送XML数据,并调用webservice (soap)

   A.发送xml数据给服务器 ,并非以请求参数方式发送:http://192.168.1.10:8080/video/manage.do?xml=<xml>....</xml>

   B.发送SOAP数据给服务器调用webservice,实现手机号归属地查询

第五天:

1> 网络--通过HTTP协议实现多线程断点续传下载

2> 网络--通过TCP/IP(SOCKET)协议实现断点续传上传(实现多用户并发访问)

3> 为应用添加新的Activity与参数传递

4> 意图

5> Activity的生命周期

第六天:

1> 广播接收者--BroadcastReceiver(实现短信窃听器)

2> 服务与语音刻录(实现电话监听)

  1>无界面,不容易被用户发现 Service

  2>对电话的来电状态进行监听,并且对用户的通话进行录音(MMI)

  3>上传录音到服务器

3> 音乐播放器

4> 视频播放器

5> 拍照

第七天:

1> 视频录制

2> 手势识别

3> 国际化(文字、图片)、屏幕适配、样式与主题

4> 编码实现软件界面

5> 采用HTML设计软件界面, html --WebVIEW

file:///android_asset/

6> 传感器和拖拉功能实现

  传感器类型:方向、加速度(重力)、光线、磁场、距离(临近性)、温度等。

         方向:   Sensor.TYPE_ORIENTATION

         加速度: Sensor.TYPE_ACCELEROMETER

         光线:    Sensor.TYPE_LIGHT

         磁场:   Sensor.TYPE_MAGNETIC_FIELD

         临近性: Sensor.TYPE_PROXIMITY

         温度:   Sensor.TYPE_TEMPERATURE

  采样率:最快、游戏、普通、用户界面。当应用程序请求特定的采样率时,其实只是对传感器子系统的一个建议,不保证特定的采样率可用

7> 软件打包与发布,生成私钥签名你的软件