热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

Android手机程序设计入门、应用到精通

中国水利水电出版社
    【作 者】孙宏明 著 【I S B N 】978-7-5084-9501-9 【责任编辑】陈洁 【适用读者群】本专通用 【出版时间】2012-03-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】480 【千字数】675 【印 张】30 【定 价】58 【丛 书】 【备注信息】赠1DVD
图书详情

    本书把Android的功能按照特性进行分类,根据由浅入深的原则,以教学单元搭配步骤讲解,并穿插搭配了许多包含精心设计和讲解的应用程序开发案例,如“婚姻建议程序”、“电脑猜拳游戏”、“影像画廊等。为了在内容的广度和讲解的详细程度上达到最佳的平衡,本书打破惯例,通过单元编排的方式,让读者的学习更有效率,同时也能享受到学习程序设计的乐趣。

    本书适合于Android平台的应用开发人员自学及参考用书,也非常适合作为大学相关软件专业教材或专业培训教材。

    本书为经台湾碁峰资讯股份有限公司独家授权发行的中文简体版。本书中文简体字版在中国大陆之专有出版权属中国水利水电出版社所有。在没有得到本书原版出版者和本书出版者书面许可时,任何单位和个人不得擅自摘抄、复制本书的一部分或全部以任何方式包括(资料和出版物)进行传播。本书原版版权属碁峰资讯股份有限公司。版权所有,侵权必究。

    北京市版权局著作权合同登记号:图字01-2011-5269号

    本书把Android的功能按照特性进行分类,根据由浅入深的原则,以教学单元搭配步骤讲解,其中穿插搭配了许多包含精心设计和讲解的应用程序开发案例,如“婚姻建议程序”、“电脑猜拳游戏”、“影像画廊等。为了在内容的广度和讲解的详细程度上达到最佳的平衡,本书打破惯例,通过单元编排的方式,让读者的学习更有效率,同时也能享受到学习程序设计的乐趣。

    •丰富的Eclipse开发环境的操作技巧,帮助初学者快速学会Eclipse的强大功能

    •20种界面控件的使用教学,4种界面布局精讲,5种对话框的使用详解,帮助您设计出好看又漂亮的应用程序

    •详细讲解Intent的使用,包括建立Tab标签页、发送和返回数据……,让您完整学会Intent的用法

    •4大类Android程序完全详解,包括Activity、Service、Content provider和Broadcast receiver以及App Widget程序

    •2D和3D绘图程序架构与范例,让您学会开发Location-based services(LBS 基于位置的服务)

    •所有的教学单元都采用步骤式的讲解,让您的学习无障碍

    •精心编排的单元内容,方便查询相关主题

    Android!?信息科技的绿芽

    相信很多人原来都不曾听过Android这个词,但是突然有一天从电视上或是从网络上,或是在手机商店突然看到这个陌生的词(通常还伴随着一个绿色可爱的小机器人)。而后Android这个字开始越来越频繁地出现在我们周围的环境,甚至在信息科技类的书架上,我们才开始惊觉它已经悄悄地把触角延伸到我们的日常生活中。这不是笔者随意捏造的故事,而是已经发生或是正在发生在许多人身上的实际情况,甚至未来还会有更多人有同样的经历,这就好像是春天的绿芽,总是在不经意的时候冒出头来,然后静静地成长茁壮,直到有一天我们才发现它们已经改变了我们的景观。

    Android是一个由Google主导开发的智能手机操作系统,它原来只是一个名不见经传的小产品,但是Google总是有慧眼识英雄的本领,从网络搜索引擎到地图服务,现在再加上智能手机的领域,Google在信息科技界总是能够掀起一阵又一阵的旋风,由于Google的技术支持与推广,不仅让Android从麻雀变凤凰,也让Google扶摇直上成为2011年全球最有价值的商业品牌。

    Android对于程序开发人员的致命吸引力

    开发Android应用程序需要Eclipse、Android SDK和ADT等工具软件,听起来好像有点繁杂,但是在Google的技术支持下,这些工具软件已经完全整合在一起,使用上非常方便。而且相对于其他程序开发工具,这些软件可说是非常“环保”(对于用户的计算机来说),因为只需要将它们复制到计算机的文件夹中,再设置好文件夹路径就可以使用。日后如果不想用,只要删除相应的文件夹即可。另外还有一个最大的好处是“完全免费”,而且提供每天24小时服务,随时连上因特网就可以下载安装和更新。Android操作系统提供的功能甚至超越了一般的计算机操作系统,像是Google地图服务、定位功能、语音识别、动作和环境感测等,因此只要加上您的创意就可以发展出比一般计算机程序更生活化的应用。而且Google还针对全世界Android应用程序开发人员架设一个Android Market网站,让他们可以在上面卖或是提供免费下载自己的作品。由于以上这些吸引人的条件,让世界各地加入开发Android应用程序的人员快速地增加。如果过去我们已经错过计算机程序研发的先机,现在岂能再错失成为手机程序开发领头羊的大好机会!

    谁适合阅读这本书

    开发Android应用程序大致上需要三个条件。第一是必须具备程序语法的基础,也就是说必须知道程序语言(Java、C/C++、Visual Basic皆可)的变量、数组、表达式、循环等基本语法。第二是了解面向对象的概念和用法,因为Android程序是使用Java语言编写,它采用面向对象的架构。但其实面向对象的基本概念并不难,当然进阶的用法就需要比较多的经验和技术,但是以本书的程序范例而言,是针对入门学习者所设计,因此只要依照书上循序渐进的内容安排来阅读就可以了解。如果读者可以配合书上所列举的操作步骤动手实现,学习效果更能倍增。最后Android程序中使用了事件处理程序和系统callback函数的机制,这种机制并不是Android程序的专属特性,任何图形操作接口的操作系统像是Windows也都是采用这种方式,基本上这也是一个概念的问题,只要读者了解它的运行原理就知道如何使用,本书的学习章节会在适当的时候加以说明,因此只要读者了解程序语言的基本语法,就可以根据本书的说明和范例开始学习Android程序设计。

    如何使用这本书

    Android程序设计是一个新兴的领域,虽然目前市面上已经出现一些入门学习或是进阶应用的书籍,但是在内容的讲解和丰富性还欠缺良好的平衡,进阶应用书籍中的内容并不适合初学者,而入门书籍所涵盖的范围又稍嫌不足,因此编写这本书的目的就是希望在内容的广度和内容的细节上取得更好的平衡。为了达到这个目的,我们将Android操作系统的功能按照特性加以分类,然后根据由浅入深的原则进行编排,再加上许多精心设计的范例程序贯穿相关的学习章节,让读者在学习单一主题的时候也同时了解相关的功能。本书所使用的章节编排方式也是希望将每一次的学习时间做适当的切割,让读者对于新学习的知识有消化反刍的时间,这样才能够达到更好的学习成效,同时也能够享受学习程序设计的乐趣。

    本书的第一部分是介绍Android的发展史、系统架构和Google推广Android的方式。第二部分是介绍安装Android程序开发工具的步骤并示范第一个Android程序项目以及程序调试的方法、Eclipse的操作技巧和查询Android SDK联机帮助文件的方法。这个部分是后续学习的重要基础,如果读者是Android程序设计的初学者,请务必仔细研读,最好能配合动手实现,学习程序设计的秘诀的唯一方法就是多动手,然后想一想、改一改、试一试自然就能理解。完成第二部分的学习之后读者便可根据自己的兴趣或需要学习特定的章节,但由于本书的内容编排是由浅入深,而且有些程序范例具有前后连贯的关系,因此如果读者在学习上遇到障碍,可以先回到前面相关的章节阅读之后,再依关连性往后续章节继续学习,依照这种方式就能够让本书的内容对于读者学习Android程序设计发挥最大的帮助。看完以上的介绍,读者是不是也被Android平台的魅力所吸引?那么就从现在开始,让我们一起踏上Android程序设计的学习之旅吧!

    参与本书繁转简工作的有李宁、赵华振、李斌锋、邓斌、皮文星、闫芳、王玉芹、杨振珂、邓福金、刘素云、代锡恒、刘晓键、李新生、欧阳会、李礼华、石杰、何少亮、欧阳观、陆正武,在此表示感谢。

    最后感谢我最亲爱的家人Maysue、小D和小M在本书编写期间的容忍和体谅,虽然因为我的忙碌而疏忽了你们,但是有你们的陪伴,让一切的付出和努力更有意义!

    孙宏明

    于 故园

    推荐序
    前言
    PART 1 拥抱Android
    UNIT 1 从Android的诞生说起 2
    1-1 由Google主导开发的Android手机开放平台 2
    1-2 大话Android的发展史 3
    UNIT 2 探索Android的功能和应用 6
    2-1 Android平台上究竟可以变出什么魔法 7
    UNIT 3 通过编写Android程序挣钱 8
    PART 2 开始我们的Android程序设计之旅
    UNIT 4 安装Android程序开发工具 11
    4-1 不同操作系统的开发工具版本 11
    4-2 安装Android程序开发工具的步骤 12
    4-3 Android程序开发工具的维护和更新 19
    UNIT 5 使用Eclipse建立第一个Android应用程序 22
    5-1 建立一个新的Android应用程序项目 22
    UNIT 6 了解Android程序项目的架构和执行流程 27
    UNIT 7 使用TextView、EditText和Button接口组件 30
    7-1 TextView接口组件 31
    7-2 EditText接口组件 32
    7-3 Button接口组件 33
    7-4 链接接口组件和程序代码 34
    7-5 设置Button组件的click事件listener 34
    7-6 取得edtSex和edtAge接口组件中的字符串 36
    7-7 将结果显示在txtResult接口组件 37
    UNIT 8 程序的错误类型和除错方法 39
    8-1 程序的语法错误和除错的方法 39
    8-2 程序的逻辑错误和除错的方法 40
    8-3 执行时期错误和除错的方法 42
    UNIT 9 Eclipse进阶程序项目管理技巧 46
    9-1 根据已经写好的程序原始文件来建立项目 46
    9-2 根据Android SDK中的程序范例来建立项目 48
    9-3 把建立好的Android程序项目加载Eclipse 49
    9-4 程序项目的管理和维护 50
    UNIT 10 让程序有美好的未来——良好的程序架构 53
    UNIT 11 查询Android SDK的官方文档 58
    11-1 使用页面的Reference查询类说明文档 59
    11-2 使用Dev Guide查询程序设计说明文件 61
    PART 3 学习使用基本接口组件
    UNIT 12 更多变化的TextView、EditText和Button接口组件 63
    12-1 fill_parent和wrap_content的差别 65
    12-2 android:inputType范例 66
    12-3 控制文字大小、颜色、底色 67
    12-4 控制组件四周的间隔距离以及组件内部的文字和边的距离 68
    UNIT 13 Spinner下拉式列表组件 70
    13-1 建立Spinner下拉式列表的第一种方法 71
    13-2 建立Spinner下拉式列表的第二种方法 75
    UNIT 14 使用RadioGroup和RadioButton组件建立单选列表 78
    14-1 将“婚姻建议”程序改成使用Radio Group菜单 79
    UNIT 15 CheckBox多选列表和ScrollView滚动条 85
    UNIT 16 ListView选项列表 92
    UNIT 17 ExpandableListView可展开选项列表 97
    UNIT 18 AutoCompleteTextView自动完成文字输入 103
    PART 4 布局
    UNIT 19 LinearLayout布局 109
    UNIT 20 TableLayout布局 115
    UNIT 21 RelativeLayout布局 121
    UNIT 22 FrameLayout布局 126
    UNIT 23 布局的应用实例 129
    PART 5 图像相关的接口组件
    UNIT 24 ImageButton和ImageView组件 137
    UNIT 25 ImageSwitcher和Gallery组件 143
    25-1 Gallery组件的使用方法 144
    25-2 ImageSwitcher组件的使用方法 147
    25-3 完成“图像画廊”程序 148
    UNIT 26 使用动画效果 152
    26-1 建立动画资源文件 153
    26-2 建立各种类型的动画 155
    26-3 使用随机动画的“图像画廊”程序 158
    26-4 在程序代码中建立动画效果 160
    26-5 应该使用动画资源文件还是在程序代码中建立动画对象 162
    UNIT 27 GridView接口组件 163
    UNIT 28 为ListView加上小图标 168
    28-1 自定义项目的显示布局 169
    28-2 从程序项目的资源类读入项目数据并设置布局 169
    PART 6 其他特殊用途的接口组件
    UNIT 29 时间和日期接口组件 174
    29-1 DatePicker日期接口组件 174
    29-2 TimePicker时间接口组件 175
    29-3 范例程序 176
    UNIT 30 ProgressBar和Multi-Thread程序 179
    30-1 Multi-Thread程序 181
    30-2 使用Handler对象完成Thread之间的信息沟通 181
    30-3 第一版的Multi-Thread ProgressBar范例程序 182
    30-4 第二版的Multi-Thread ProgressBar范例程序 187
    UNIT 31 SeekBar和RatingBar界面组件 189
    UNIT 32 Tab标签页接口 194
    PART 7 使用对话框
    UNIT 33 DatePickerDialog和TimePickerDialog对话框 200
    33-1 DatePickerDialog对话框 201
    33-2 TimePickerDialog对话框 202
    33-3 范例程序 204
    UNIT 34 AlertDialog对话框 208
    34-1 使用AlertDialog.Builder类建立AlertDialog对话框 208
    34-2 使用AlertDialog类建立AlertDialog对话框 210
    34-3 范例程序 212
    UNIT 35 ProgressDialog对话框和Multi-Thread程序 216
    UNIT 36 自定义Dialog对话框 221
    UNIT 37 Toast信息框 227
    PART 8 让Intent帮你的程序完成愿望
    UNIT 38 AndroidManifest.xml程序功能描述文件 231
    UNIT 39 Intent粉墨登场 237
    39-1 Eclipse的DDMS功能以及手机的Linux命令行模式 241
    UNIT 40 Tab标签页接口——使用Intent对象 244
    UNIT 41 用Intent对象传递数据 249
    41-1 传送数据的Activity需要完成的工作 249
    41-2 从Intent对象中取出数据 251
    41-3 范例程序 251
    UNIT 42 要求被调用的Activity返回数据 257
    PART 9 Intent的高级用法
    UNIT 43 Intent Filter让程序也能帮助别人 263
    43-1 设定AndroidManifest.xml文件中的Intent Filter 264
    43-2 Android系统比对Intent和Intent Filter的规则 266
    43-3 接收到Intent对象的Activity的工作 267
    43-4 范例程序 267
    UNIT 44 Broadcast Intent和Broadcast Receiver 274
    44-1 程序广播Intent对象的方法 274
    44-2 建立Broadcast Receiver监听广播消息 275
    44-3 范例程序 277
    UNIT 45 Service是幕后英雄 282
    45-1 Service的运行方式和生命周期 282
    45-2 在程序项目中建立Service类 283
    45-3 启动Service的第一种方法 286
    45-4 启动Service的第二种方法 287
    45-5 范例程序 288
    UNIT 46 App Widget常驻程序 292
    46-1 基本的App Widget程序 293
    46-2 强化版的App Widget程序 299
    46-3 取得并更新App Widget程序的view 302
    UNIT 47 App Widget常驻程序的其他两种执行模式 305
    47-1 预定运行时间的App Widget程序 305
    47-2 用按钮启动App Widget程序 306
    PART 10 Activity的生命周期与高级功能
    UNIT 48 Activity的生命周期 309
    UNIT 49 帮Activity加上选单 313
    49-1 onCreateOptionsMenu()方法中的工作 314
    49-2 onOptionsItemSelected ()方法中的工作 315
    49-3 范例程序 316
    UNIT 50 使用Context Menu 320
    50-1 Context Menu的用法和限制 320
    50-2 范例程序 321
    UNIT 51 在屏幕上方的状态栏显示信息 324
    PART 11 储存程序数据
    UNIT 52 使用SharedPreferences储存数据 330
    52-1 储存数据的步骤 330
    52-2 读取数据的步骤 331
    52-3 删除数据的步骤 331
    52-4 清空数据的步骤 332
    UNIT 53 使用SQLite数据库储存数据 336
    53-1 进入手机模拟器的Linux命令行模式操作SQLite数据库 336
    53-2 SQLiteOpenHelper类 338
    53-3 SQLiteDatabase类 339
    53-4 范例程序 340
    UNIT 54 使用Content Provider跨程序存取数据 348
    54-1 Activity和Content Provider之间的运行机制 349
    54-2 范例程序 351
    UNIT 55 使用文件储存数据 358
    55-1 将数据写入文件的方法 358
    55-2 从文件读取数据的方法 359
    55-3 范例程序 360
    PART 12 程序项目的准备工作和发布
    UNIT 56 支持多语系和屏幕模式 366
    56-1 让程序支持多语系的方法 367
    56-2 让程序支持多种手机屏幕模式 368
    56-3 范例程序 369
    UNIT 57 设定手机模拟器的程序 开发相关功能 372
    UNIT 58 将程序安装到实体手机或在网络上发布 376
    58-1 利用Export Wizard帮程序加上数字签名和完成zipalign 377
    58-2 将程序上传到Google的Android Market网站 379
    PART 13 2D和3D绘图
    UNIT 59 使用Drawable对象 382
    59-1 从res/drawable文件夹的图像文件建立Drawable对象 382
    59-2 在res/drawable文件夹中建立xml文件格式的Drawable对象定义文件 383
    59-3 在程序中建立Drawable类型的对象 384
    59-4 范例程序 385
    UNIT 60 使用Canvas绘图 388
    UNIT 61 使用View在Canvas上绘制动画 392
    61-1 程序绘制动画的原理 392
    61-2 范例程序 393
    UNIT 62 使用SurfaceView进行高速绘图 397
    62-1 使用SurfaceView的步骤 397
    62-2 范例程序 398
    UNIT 63 绘制3D图形 403
    63-1 3D绘图的基本观念 403
    63-2 3D绘图程序 405
    PART 14 Google地图程序
    UNIT 64 使用Google地图 412
    64-1 开发Google地图应用程序的准备工作 412
    64-2 建立Google地图应用程序的步骤 416
    64-3 范例程序 418
    UNIT 65 Google地图的进阶用法 422
    65-1 地图的缩放和拖曳功能 422
    65-2 加上键盘控制功能 424
    65-3 切换地图显示模式 425
    UNIT 66 帮地图加上标注 430
    66-1 地图程序使用Overlay的步骤 430
    66-2 范例程序 435
    UNIT 67 加上定位让地图活起来 437
    67-1 手机定位的方法 437
    67-2 第一种定位方法——使用MyLocationOverlay对象 438
    67-3 第二种定位方法——使用LocationManager 442
    PART 15 Android 4.x支持的新技术
    UNIT 68 Android 4.x的10大特性 448
    UNIT 69 子窗口:Fragments 450
    69-1 Fragments的设计原理 451
    69-2 创建Fragment 451
    69-3 建立一个用户界面 453
    69-4 将Fragment添加到Activity中 453
    69-5 处理Fragment事务 455
    69-6 与Activity通信 456
    UNIT 70 动作栏:Action Bar 458
    70-1 添加Action Bar 458
    70-2 移除Action Bar 459
    70-3 添加Action Item 459
    70-4 将应用图标用作菜单项目 460
    附录 本书光盘内容与使用说明 462
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册