zoukankan      html  css  js  c++  java
  • 《Android/OPhone 开发完全讲义》已出版,现提供源代码下载

    《Android/OPhone 开发完全讲义》已出版。

    购买:互动网(China-pub)

    样章下载

    现将本书源代码完全公开
    Android-OPhone-src.zip



    目录
    前言
    第1章 Android入门 1
    1.1 Android的基本概念 1
    1.1.1 Android简介 1
    1.1.2 Android的系统构架 3
    1.2 Android开发环境的搭建 4
    1.2.1 开发Android程序需要些什么 4
    1.2.2 安装Android SDK 4
    1.2.3 安装Eclipse插件ADT 5
    1.2.4 测试ADT是否安装成功 5
    1.3 Android SDK中的常用命令行工具 7
    1.3.1 启动和关闭ADB服务(adb start-server和adb kill-server) 7
    1.3.2 查询当前模拟器/设备的实例(adb devices) 7
    1.3.3 安装、卸载和运行程序(adb install、adb uninstall和am) 7
    1.3.4 PC与模拟器或真机交换文件(adb pull和adb push) 8
    1.3.5 Shell命令 8
    1.3.6 创建、删除和浏览AVD设备(android) 9
    1.3.7 创建SD卡 9
    1.4 PC上的Android 9
    1.4.1 Android LiveCD 10
    .1.4.2 AndroidX86 10
    1.5 Android的学习资源 11
    1.6 应用程序商店 11
    1.6.1 Android Market 11
    1.6.2 Mobile Market(MM) 11
    1.6.3 其他应用程序商店 12
    1.7 本章小结 12
    第2章 第一个Android程序 13
    2.1 编写用于显示当前日期和时间的程序 13
    2.1.1 新建一个Android工程 13
    2.2.2 界面组件的布局 14
    2.2.3 编写实际代码 14
    2.2 调试程序 17
    2.3 签名和发布应用程序 17
    2.3.1 使用命令行方式进行签名 18
    2.3.2 使用ADT插件方式进行签名 18
    2.4 DDMS透视图 19
    2.5 本章小结 20
    第3章 Android应用程序架构 21
    3.1 Android应用程序中的资源 21
    3.1.1 资源存放在哪里 21
    3.1.2 资源的种类 21
    3.1.3 资源的基本使用方法 22
    3.2 Android的应用程序组件 23
    3.2.1 活动(Activity)组件 23
    3.2.2 服务(Service)组件 23
    3.2.3 广播接收者(Broadcast receivers)组件 24
    3.2.4 内容提供者(Content providers)组件 24
    3.3 AndroidManifest.xml文件的结构 24
    3.5 本章小结 25
    第4章 建立用户接口 26
    4.1 建立、配置和使用Activity 26
    4.1.1 建立和配置Activity 26
    4.1.2 Activity的生命周期 28
    实例1:演示Activity的生命周期 29
    4.2 视图(View) 31
    4.2.1 视图简介 32
    4.2.2 使用XML布局文件控制视图 32
    4.2.3 在代码中控制视图 33
    实例2:混合使用XML布局文件和代码来控制视图 35
    4.2.4 定制组件(Widget)的三种方式 37
    实例3:定制组件——带图像的TextView 37
    实例4:定制组件——带文本标签的EditText 40
    实例5:定制组件——可更换表盘的指针时钟 42
    4.3 使用AlertDialog类创建对话框 47
    4.3.1 AlertDialog类简介 47
    4.3.2 【确认/取消】对话框 47
    实例6:创建询问是否删除文件的
    【确认/取消】对话框 48
    4.3.3 带3个按钮的对话框 49
    实例7:创建【覆盖/忽略/取消】对话框 49
    4.3.4 简单列表对话框 50
    4.3.5 单选列表对话框 51
    4.3.6 多选列表对话框 51
    实例8:创建3种选择省份的列表对话框 52
    4.3.7 水平进度对话框和圆形进度对话框 56
    实例9:水平进度对话框和圆形进度对话框演示 56
    4.3.8 自定义对话框 59
    实例10:创建登录对话框 59
    实例11:使用Activity托管对话框 61
    实例12:创建悬浮对话框和触摸任何位置 都可以关闭的对话框 62
    4.4 Toast和Notification 65
    4.4.1 用Toast显示提示信息框 65
    4.4.2 Notification与状态栏信息 66
    4.5 菜单 68
    4.5.1 创建选项菜单 68
    4.5.2 设置与菜单项关联的图像和Activity 69
    4.5.3 响应选项菜单项单击事件的3种方式 69
    4.5.4 动态添加、修改和删除选项菜单 70
    4.5.5 创建带复选框和选项按钮的子菜单 71
    4.5.6 创建上下文菜单 72
    4.5.7 菜单事件 73
    实例13:Activity菜单、子菜单、上下
    文菜单演示 73
    4.6 布局 74
    4.6.1 框架布局(FrameLayout) 74
    实例14:霓虹灯效果的TextView 75
    4.6.2 线性布局(LinearLayout) 76
    实例15:利用LinearLayout将按钮放在屏幕的四角和中心位置 78
    4.6.3 相对布局(RelativeLayout) 79
    实例16:利用RelativeLayout实现梅花效果的布局 79
    4.6.4 表格布局(TableLayout) 80
    实例17:计算器按钮的布局 80
    4.6.5 绝对布局(AbsoluteLayout) 81
    4.7 本章小结 81
    第5章 组件详解 82
    5.1 显示和编辑文本的组件 82
    5.1.1 显示文本的组件:TextView 83
    实例18:在TextView中显示URL及不同字体大小、不同颜色的文本 84
    实例19:带边框的TextView 86
    5.1.2 输入文本的组件:EditText 87
    实例20:在EditText中输入特定的字符 88
    实例21:按回车键显示EditText 89
    5.1.3 自动完成输入内容的组件:AutoCompleteTextView 90
    5.2 按钮与复选框组件 91
    5.2.1 普通按钮组件:Button 91
    实例22:异形(圆形、五角星、螺旋形 和箭头)按钮 92
    5.2.2 图像按钮组件:ImageButton 93
    实例23:同时显示图像和文字的按钮 94
    5.2.3 选项按钮组件:RadioButton 94
    5.2.4 开关状态按钮组件:ToggleButton 95
    5.2.5 复选框组件:CheckBox 95
    实例24:利用XML布局文件动态创建CheckBox 96
    5.3 日期与时间组件 98
    5.3.1 输入日期的组件:DatePicker 98
    5.3.2 输入时间的组件:TimePicker 98
    实例25:DatePicker、TimePicker与TextView
    同步显示日期和时间 98
    5.3.3 显示时钟的组件:AnalogClock和DigitalClock 99
    5.4 进度条组件 100
    5.4.1 进度条组件:ProgressBar 100
    5.4.2 拖动条组件:SeekBar 101
    实例26:改变ProgressBar和SeekBar
    的颜色 102
    5.4.3 评分组件:RatingBar 103
    5.5 其他重要组件 104
    5.5.1 显示图像的组件:ImageView 104
    实例27:可显示图像指定区域的ImageView组件 105
    实例28:动态缩放和旋转图像 106
    5.5.2 列表组件:ListView 107
    实例29:可以单选和多选的ListView 109
    实例30:动态添加、删除ListView
    列表项 110
    实例31:改变ListView列表项选中状态的背景颜色 113
    5.5.3 封装ListView的Activity:ListActivity 114
    实例32:使用SimpleAdapter建立复杂的列表项 114
    实例33:给应用程序评分 115
    5.5.4 可展开的列表组件:ExpandableListView 118
    5.5.5 下拉列表组件:Spinner 119
    5.5.6 垂直滚动视图组件:ScrollView 121
    5.5.7 水平滚动视图组件:Horizontal-ScrollView 121
    实例34:可垂直和水平滚动的视图 122
    5.5.8 网格视图组件:GridView 122
    5.5.9 可循环显示和切换图像的组件:Gallery和ImageSwitcher 123
    5.5.10 标签组件:TabHost 125
    5.6 本章小结 126
    第6章 移动存储解决方案 127
    6.1 最简单的数据存储方式:SharedPreferences 127
    6.1.1 使用SharedPreferences存取数据 127
    6.1.2 数据的存储位置和格式 129
    实例35:存取复杂类型的数据 129
    6.1.3 设置数据文件的访问权限 131
    6.1.4 可以保存设置的Activity——PreferenceActivity 132
    6.2 文件的存储 135
    6.2.1 openFileOutput和openFileInput方法 135
    实例36:SD卡文件浏览器 136
    实例37:存取SD卡中的图像 140
    6.2.2 SAX引擎读取XML文件的原理 141
    实例38:将XML数据转换成Java对象 142
    6.4 SQLite数据库 145
    6.4.1 SQLite数据库管理工具 145
    6.4.2 创建数据库和表 146
    6.4.3 模糊查询 147
    6.4.4 分页显示记录 147
    6.4.5 事务 147
    6.5 在Android中使用SQLite数据库 147
    6.5.1 SQLiteOpenHelper类与自动升级数据库 148
    6.5.2 SimpleCursorAdapter类与数据绑定 148
    实例39:带照片的联系人管理系统 151
    6.5.3 将数据库与应用程序一起发布 154
    实例40:英文词典 154
    6.6 抽象的标准——内容提供者(ContentProvider) 157
    6.6.1 获得系统数据 157
    实例41:将联系人管理和英文字典集成到自己的应用中 158
    6.7 本章小结 163
    第7章 应用程序之间的通讯 164
    7.1 Intent与Activity 164
    7.1.1 用Intent启动Activity,并在Activity
    之间传递数据 164
    7.1.2 调用其他应用程序中的Activity(拨打电话、浏览网页、发Email等) 167
    7.1.3 定制自己的Activity Action 170
    实例42:将电子词典的查询功能共享成一个Activity Action 172
    7.2 接收和发送广播 173
    7.2.1 接收系统广播 173
    实例43:开机可自动运行的程序 174
    实例44:收到短信了,该做点什么 174
    实例45:显示手机电池的当前电量 176
    7.2.2 在自己的应用程序中发送广播 177
    实例46:接收联系人系统中发送的添加联系人广播 178
    7.3 本章小结 179
    第8章 Android服务 180
    8.1 Service起步 180
    8.1.1 Service的生命周期 180
    8.1.2 绑定Activity和Service 183
    8.1.3 在BroadcastReceiver中启动Service 185
    8.2 系统服务 186
    8.2.1 获得系统服务 186
    实例47:监听手机来电 187
    实例48:来电黑名单 188
    8.2.2 在模拟器上模拟重力感应 189
    实例49:手机翻转静音 190
    8.3 时间服务 192
    8.3.1 计时器:Chronometer 192
    8.3.2 预约时间Handler 194
    8.3.3 定时器Timer 195
    8.3.4 在线程中更新GUI组件 196
    8.3.5 全局定时器AlarmManager 198
    实例50:定时更换壁纸 199
    实例51:多次定时提醒 201
    8.4 跨进程访问(AIDL服务) 203
    8.4.1 什么是AIDL服务 204
    8.4.2 建立AIDL服务的步骤 204
    实例52:建立AIDL服务 204
    实例53:传递复杂数据的AIDL服务 207
    8.5 本章小结 211
    第9章 网络 212
    9.1 可装载网络数据的组件 212
    实例54:将网络图像装载到ListView组件中 213
    实例55:Google图像画廊(Gallery) 215
    9.2 WebView组件 219
    9.2.1 用WebView组件浏览网页 219
    实例56:手机浏览器 219
    9.2.2 用WebView组件装载HTML代码 220
    实例57:将英文词典整合到Web页中(JavaScript调用Java方法) 222
    9.3 访问HTTP资源 223
    9.3.1 提交HTTP GET和HTTP POST
    请求 223
    9.3.2 HttpURLConnection类 225
    实例58:上传文件 226
    实例59:远程Apk安装器 229
    9.3.3 调用WebService 230
    实例60:通过WebService查询产品信息 231
    9.4 本章小结 234
    第10章 多媒体 235
    10.1 图形 235
    10.1.1 图形绘制基础 235
    实例61:绘制基本的图形和文本 237
    10.1.2 绘制位图 241
    实例62:用两种方式绘制位图 241
    10.1.3 设置颜色的透明度 242
    实例63:可任意改变透明度的位图 243
    10.1.4 旋转图像 244
    实例64:旋转动画 244
    10.1.5 扭曲图像 245
    实例65:按圆形轨迹扭曲图像 246
    10.1.6 拉伸图像 249
    实例66:拉伸图像演示 249
    10.1.7 路径 251
    实例67:沿着路径绘制文本 254
    实例68:可在图像上绘制图形的画板 256
    10.2 音频和视频 260
    10.2.1 使用MediaPlayer播放MP3文件 260
    10.2.2 使用MediaRecorder录音 261
    10.2.3 使用VideoView播放视频 262
    10.2.4 使用SurfaceView播放视频 262
    10.3 本章小结 263
    第11章 2D动画 264
    11.1 帧(Frame)动画 264
    AnimationDrawable与帧动画 264
    实例69:通过帧动画方式播放Gif动画 266
    实例70:播放帧动画的子集 268
    11.2 补间(Tween)动画 270
    11.2.1 移动补间动画 270
    实例71:循环向右移动的EditText与上下弹跳的球 272
    11.2.2 缩放补间动画 274
    实例72:跳动的心 274
    11.2.3 旋转补间动画 276
    实例73:旋转的星系 276
    11.2.4 透明度补间动画 277
    实例74:投掷炸弹 278
    11.2.5 振动效果 280
    11.2.6 自定义动画渲染器(Interceptor) 281
    11.2.7 以动画方式切换View的组件ViewFlipper 282
    11.3 本章小结 284
    第12章 OpenGL ES编程 285
    12.1 OpenGL简介 285
    12.2 构建OpenGL ES的基本开发框架 286
    12.3 2D图形绘制 287
    12.3.1 多边形 287
    12.3.2 颜色 289
    12.3.3 旋转 290
    12.4 3D图形绘制 291
    12.4.1 旋转立方体 291
    12.4.2 在立方体上显示纹理 292
    12.4.3 光照下的立方体 293
    12.4.4 透明的立方体 295
    12.5 本章小结 295
    第13章 资源、国际化与自适应 296
    13.1 Android中的资源 296
    13.1.1 Android怎么存储资源 297
    13.1.2 资源的种类 297
    13.1.3 资源文件的命名 298
    13.2 定义和使用资源 298
    13.2.1 使用系统资源 298
    13.2.2 字符串(String)资源 299
    13.2.3 数组(Array)资源 300
    13.2.4 颜色(Color)资源 302
    13.2.5 尺寸(Dimension)资源 303
    13.2.6 类型(Style)资源 304
    13.2.7 主题(Theme)资源 305
    13.2.8 绘画(Drawable)资源 306
    13.2.9 动画(Animation)资源 307
    13.2.10 菜单(Menu)资源 307
    13.2.11 布局(Layout)资源 310
    13.2.12 属性(Attribute)资源 310
    实例75:改进可显示图标的IconTextView组件 312
    13.2.13 XML资源 313
    13.2.14 RAW资源 314
    13.2.15 ASSETS资源 314
    13.3 国际化和资源自适应 315
    13.3.1 对资源进行国际化 315
    13.3.2 Locale与国际化 317
    13.3.3 常用的资源配置 317
    13.4 本章小结 318
    第14章 访问Android手机的硬件 319
    14.1 在手机上测试硬件 319
    14.1.1 安装Android USB驱动 319
    14.1.2 在手机上测试程序 321
    14.1.3 在手机上调试程序 321
    14.2 录音 322
    14.3 控制手机摄像头(拍照) 323
    14.3.1 调用系统的拍照功能 323
    14.3.2 实现自己的拍照Activity 325
    14.4 传感器在手机中的应用 329
    实例76:电子罗盘 330
    实例77:计步器 331
    14.5 GPS与地图定位 332
    14.5.1 Google地图 333
    14.5.2 用GPS定位到当前位置 336
    14.6 WIFI 337
    14.7 本章小结 339
    第15章 放在桌面上的小玩意 340
    15.1 窗口小部件(App Widget) 340
    15.1.1 在Android桌面上添加App Widget 340
    15.1.2 开发App Widget的步骤 341
    实例78:数字时钟 343
    15.1.3 AppWidgetProvider类 345
    15.1.4 向App Widget添加配置Activity 346
    实例79:可以选择风格的数字时钟 346
    15.2 快捷方式 350
    15.2.1 向快捷方式列表中添加快捷方式 350
    15.2.2 直接将快捷方式放到桌面上 351
    15.3 实时文件夹(LiveFolder) 351
    15.4 本章小结 353
    第16章 NDK编程 354
    16.1 Android NDK简介 354
    16.2 安装、配置和测试NDK开发环境 355
    16.2.1 系统和软件要求 355
    16.2.2 下载和安装Android NDK 355
    16.2.3 下载和安装Cygwin 356
    16.2.4 配置Android NDK的开发环境 358
    16.2.5 编译和运行NDK自带的例子 359
    16.3 Android NDK开发 361
    16.3.1 JNI接口设计 361
    16.3.2 编写Android NDK程序的步骤 362
    实例80:将文件中的小写字母转换成大写字母(NDK版本) 362
    16.3.3 配置Android.mk文件 364
    16.3.4 Android NDK定义的变量 365
    16.3.5 Android NDK定义的函数 366
    16.3.6 描述模块的变量 366
    16.3.7 配置Application.mk文件 367
    16.4 本章小结 368
    第17章 整合Android与脚本语言 369
    17.1 Android脚本环境简介 369
    17.2 Android脚本环境安装 370
    17.3 编写和运行Android脚本 371
    17.4 本章小结 373
    第18章 Android平台的新特性展示 374
    18.1 Android平台的新特性 374
    18.1.1 Android 1.6的新特性 374
    18.1.2 Android 2.0的新特性 376
    18.2 Android Framework API演变 376
    18.2.1 Android 1.6 Framework API的变化 376
    18.2.2 Android 2.x Framework API的变化 377
    18.3 实时壁纸(Live Wallpapers,Android 2.1) 377
    18.4 补间动画渲染器(Android 1.6) 384
    18.4.1 Anticipate渲染器 385
    18.4.2 Overshoot渲染器 385
    18.4.3 Anticipate/Overshoot渲染器 385
    18.4.4 Bounce渲染器 385
    18.5 本章小结 386
    第19章 另类的输入输出(Android 1.6) 387
    19.1 手势(Gesture) 387
    19.1.1 创建手势文件 387
    19.1.2 通过手势输入字符串 388
    19.1.3 通过手势调用程序 390
    19.1.4 编写自己的手势创建器 391
    19.2 让手机说话(TTS) 392
    19.3 本章小结 393
    第20章 蓝牙(Android 2.0) 394
    20.1 蓝牙简介 394
    20.2 打开和关闭蓝牙设备 395
    20.3 搜索蓝牙设备 395
    20.4 蓝牙Socket 397
    20.5 OBEX服务器 399
    20.6 本章小结 400
    第21章 OPhone入门 401
    21.1 OPhone平台概述 401
    21.1.1 OPhone的系统架构 401
    21.1.2 JIL Widget的运行环境 402
    21.1.3 OPhone应用程序展示 402
    21.2 OPhone开发环境搭建 403
    21.2.1 安装ODT和WDT 403
    21.2.2 测试一下ODT是否安装成功 403
    21.2.3 测试一下WDT是否安装成功 403
    21.3 本章小结 404
    第22章 OPhone的API扩展 405
    22.1 视频电话 405
    22.1.1 拨打视频电话 405
    22.1.2 挂断视频电话 405
    实例81:可拨打视频电话的程序 406
    22.2 搜索API 407
    22.3 本章小结 408
    第23章 JIL Widget开发详解 409
    23.1 编写第一个JIL Widget程序 409
    23.2 多媒体 411
    23.2.1 播放音频 411
    23.2.2 播放视频 412
    23.3 操作文件 412
    23.3.1 获得与文件相关的信息 413
    23.3.2 操作文件 413
    23.3.3 操作文件夹 415
    23.4 获得系统信息 416
    23.4.1 获得电池信息 416
    23.4.2 获得手机信号信息 417
    23.4.3 获得设备信息 418
    23.4.4 获得设备状态信息 418
    23.5 控制硬件 419
    23.5.1 拍照和摄像 420
    23.5.2 打电话 420
    23.5.3 手机振动 420
    23.6 本章小结 421
    第24章 万年历 422
    24.1 主界面设计与实现 422
    24.1.1 万年历的核心类:Calendar 422
    24.1.2 日历内容元素的基类:CalendarParent 424
    24.1.3 绘制万年历边框:Border类 424
    24.1.4 绘制周名称:Week类 425
    24.2.5 绘制日期和网格:Grid类 426
    24.2.6 日历视图:CalendarView类 433
    24.2.7 生成万年历的主界面 435
    24.2 选项菜单功能 436
    24.2.1 切换到今天的日期 436
    24.2.2 指定日期 436
    24.3 可以写日记和提醒的万年历 437
    24.3.1 显示所有的记录信息:AllRecord类 437
    24.3.2 添加和修改记录:Record类 439
    24.3.3 设置提醒时间 440
    24.3.4 启动服务 441
    24.3.5 在广播接收器中显示提醒界面 442
    24.3.6 访问数据库:DBService 443
    24.4 本章小结 447
    第25章 知道当前位置的Google GTalk机器人 448
    25.1 GTalk的通讯协议和技术 448
    25.1.1 Jabber和XMPP 448
    25.1.2 XMPP客户端库:Smack和Asmack 449
    25.2 登录GTalk:Login类 449
    25.3 联系人信息 451
    25.3.1 显示联系人列表 451
    25.3.2 监听联系人是否上线 453
    25.4 联系人之间的通讯 454
    25.4.1 发送聊天信息 455
    25.4.2 接收聊天信息 455
    25.4.3 自动回复当前的位置(GPS定位) 458
    25.5 本章小结 459
  • 相关阅读:
    【原创】tyvj1038 忠诚 & 计蒜客 管家的忠诚 & 线段树(单点更新,区间查询)
    [转载]线段树模板
    并查集相当6的一篇文章~~~
    觉得一篇讲SPFA还不错的文章
    【原创】POJ 3259 Wormholes(Bellman-Ford) && 简介Bellman-Ford算法
    【原创】谈谈数据结构课后作业......尴尬不已...《图》 后面的迷宫问题
    MyBatis源码分析(七):动态代理(Mybatis核心机制)
    1026: [SCOI2009]windy数
    Spring Boot 官方文档学习(一)入门及使用
    Spring Hibernate JPA 联表查询 复杂查询
  • 原文地址:https://www.cnblogs.com/nokiaguy/p/1769079.html
Copyright © 2011-2022 走看看