Android应用开发攻略

Android应用开发攻略
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2013-04
版次: 1
ISBN: 9787111414117
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 630页
9人买过
  •   《Android应用开发攻略》第1章带你建立Android开发环境,并构建由BrianKernighan创建的“Hello,World”类型的几个简单应用程序。第2章介绍一些来自桌面和企业软件开发环境的开发人员在移动计算中所碰到的不同问题,并且讨论移动设计(尤其是Android设计)与其他环境的不同点。
      测试是一些开发人员开发后才考虑的问题,所以在第3章介绍“测试”显得有点早。但是你不应该跳过它,而应该仔细阅读和注意测试的问题。我们讨论了单独组件的单元测试,以及用严格控制的方法进行的完整应用程序测试。
      Android提供应用程序内部以及不同应用之间的通信机制。第4章讨论意图和广播接收器、服务、异步任务(AsyncTask)和处理程序(handler)。
      另一种通信机制与通常在SQL数据库中数据的受控访问相关。第5章展示如何通过(在Android中)简单而普遍的手段(如URL)在一个应用程序中使用另一个应用程序。 达尔文(Darwin,IF.),在计算机行业已经工作了30年。他编写了用于Linux和BSD的免费软件file(1),是《CheckingCProgramswithLint》、《JavaCookbook》的作者并撰写了一百多篇有关C、UNIX、Java及Android的文章和教程。除了编程和顾问工作之外,Ian还为世界最大的技术培训公司——LearningTreeInternational服务,讲授UNIX、Java和Android技术。 前言
    第1章入门
    1.1导言:入门
    1.2学习Java语言
    1.3从命令行创建“Hello,World”应用程序
    1.4在Eclipse中创建“Hello,World”应用程序
    1.5在Windows上安装用于Android开发的IDE
    1.6理解Android生命周期
    1.7通过ADB在模拟器上安装.apk文件
    1.8通过SlideME将应用程序安装到模拟器上
    1.9共享来自其他Eclipse项目的Java类
    1.10引用程序库实现外部功能
    1.11使用SDK样例避免棘手的情况
    1.12保持AndroidSDK更新
    1.13从模拟器/Android设备获得屏幕截图
    1.14程序:简单的CountDownTimer示例
    1.15程序:AndroidOS下的小费计算器Tipster

    第2章设计成功的应用程序
    2.1导言:设计成功的Android应用程序
    2.2异常处理
    2.3作为“单例”访问Android应用程序对象
    2.4在用户旋转设备时保存数据
    2.5监控Android设备的电量
    2.6在Android中创建闪屏
    2.7设计会议/网络研讨/编程马拉松/机构用的应用程序
    2.8在Android应用中使用GoogleAnalytics
    2.9简单的手电筒应用程序
    2.10将Android手机应用程序改编为平板电脑应用程序
    2.11设置首次运行的首选项
    2.12为显示格式化时间和日期
    2.13用KeyListener控制输入
    2.14备份Android应用程序数据
    2.15用提示代替工具提示

    第3章测试
    3.1导言:测试
    3.2在Android中进行TDD
    3.3为应用测试设置Android虚拟设备(AVD)
    3.4用基于云的测试在多种设备上进行测试
    3.5测试项目的创建和使用
    3.6应用程序崩溃排错
    3.7用Log.d和LogCat进行调试
    3.8用BugSense自动从用户那里得到缺陷报告
    3.9使用本地运行时应用程序日志分析现场错误情况
    3.10为测试重现活动生命周期场景
    3.11用StrictMode保持应用程序敏捷性
    3.12运行Monkey程序
    3.13发送文本消息以及AVD之间的通话

    第4章进程间/内通信
    4.1导言:进程间/内通信
    4.2用意图打开网页、电话号码或者其他内容
    4.3从视图中发送文本邮件
    4.4发送带有附件的电子邮件
    4.5用Intent.putExtra()推送字符串值
    4.6从子活动中获取数据到主活动中
    4.7保持服务运行同时显示其他应用
    4.8发送/接收广播消息
    4.9在设备重启之后启动服务
    4.10用线程创建响应式应用程序
    4.11用AsyncTask进行后台处理
    4.12用活动线程队列和处理器在线程之间发送消息
    4.13创建AndroidEpochHTML/JavaScript日历

    第5章内容提供者
    5.1导言:内容提供者
    5.2从内容提供者获取数据
    5.3编写内容提供者
    5.4编写Android远程服务

    第6章图形
    6.1导言:图形
    6.2使用自定义字体
    6.3用OpenGLES绘制旋转的方块
    6.4添加对OpenGL旋转方块的控制
    6.5徒手绘制平滑曲线
    6.6使用意图拍照
    6.7用android.media.Camera拍照
    6.8用GoogleZXing条码扫描程序扫描条形码或QR代码
    6.9用AndroidPlot显示图表和图形
    6.10使用Inkscape创建Android启动器图标
    6.11从OpenClipArt.org用Paint.NET创建简易启动器图标
    6.12使用NinePatch文件
    6.13用AndroidRGraph创建HTML5图表
    6.14添加简单的光栅动画
    6.15使用捏合缩放

    第7章GUI
    7.1导言:GUI
    7.2理解并遵循用户界面指南
    7.3通过解耦视图和模型处理配置更改
    7.4创建一个按钮及其单击事件监听器
    7.5以5种不同的方式连接事件处理器
    7.6使用CheckBox和RadioButton控件
    7.7用图形按钮改进UI设计
    7.8通过Spinner类提供下拉选择器
    7.9处理长按/长单击事件
    7.10用TextView和EditText显示文本字段
    7.11用属性和TextWatcher接口限制EditText值
    7.12实现AutoCompleteTextView
    7.13用SQLite数据库查询为AutoCompleteTextView提供数据
    7.14将编辑字段转换为密码字段
    7.15将软键盘上的Enter键改成Next键
    7.16在活动中处理按键事件
    7.17让他们看到星标:使用RatingBar
    7.18震动视图
    7.19提供触觉反馈
    7.20在TabView中浏览不同的活动
    7.21创建自定义标题栏
    7.22格式化数字
    7.23格式化正确的复数形式
    7.24从第一个屏幕启动第二个屏幕
    7.25创建出现在两个活动之间的“加载中”屏幕
    7.26使用SlidingDrawer覆盖其他组件
    7.27自定义SlidingDrawer组件,使动画/过渡的方向变为从上向下
    7.28为布局添加圆角边框
    7.29在Android中检测手势
    7.30在Android1.6及更新版本中用Android3.0片段构建UI
    7.31使用Android3.0PhotoGallery
    7.32创建简单的应用程序窗口部件

    第8章GUI警告:菜单、对话框、Toast和通知
    8.1导言:GUI警告
    8.2创建和显示菜单
    8.3处理菜单选择项
    8.4创建子菜单
    8.5创建弹出/警告对话框
    8.6使用Timepicker窗口小部件
    8.7创建类似iPhone的滚轮选择器
    8.8创建标签式对话框
    8.9创建ProgressDialog
    8.10创建带有按钮、图像和文本的自定义对话框
    8.11创建可重用的“关于”对话框类
    8.12自定义Toast显示
    8.13在状态栏中创建通知

    第9章GUI:ListView
    9.1导言:ListView
    9.2用ListView构建基于列表的应用程序
    9.3为ListView创建“无数据”视图
    9.4创建具有图像和文本的高级ListView
    9.5在ListView中使用段标题
    9.6使用户的注意力保持在ListView上
    9.7编写自定义列表适配器
    9.8处理方向变化:从ListView数据值到横向图表

    第10章多媒体
    10.1导言:多媒体
    10.2播放YouTube视频
    10.3使用Gallery和ImageSwitcher视图
    10.4用MediaRecorder捕捉视频
    10.5使用Android的面部检测功能
    10.6播放来自文件的音频
    10.7无交互播放音频
    10.8使用语音识别功能
    10.9使用设备的朗读功能

    第11章数据持久性
    11.1导言:数据持久性
    11.2获得文件信息
    11.3读取应用自带而非文件系统中的文件
    11.4列出目录
    11.5获得关于SD卡的总空间和可用空间的信息
    11.6花费最小的精力提供用户首选项设置活动
    11.7检查默认共享首选项的一致性
    11.8执行高级文本搜索
    11.9在Android应用程序中创建SQLite数据库
    11.10在SQLite数据库中插入数值
    11.11从现有的SQLite数据库加载数值
    11.12在SQLite中使用日期
    11.13用JSONObject解析JSON
    11.14用DOMAPI解析XML文档
    11.15用XmlPullParser解析XML文档
    11.16添加联系人
    11.17读取联系人数据

    第12章电话应用程序
    12.1导言:电话应用程序
    12.2在电话铃响的时候进行某些操作
    12.3处理呼出电话
    12.4电话自动拨号
    12.5发送单部分和多部分SMS消息
    12.6在Android应用程序中接收SMS消息
    12.7使用模拟器控制面板向模拟器发送SMS消息
    12.8使用Android的TelephonyManager获得设备信息

    第13章联网应用程序
    13.1导论:网络
    13.2使用REST风格的Web服务
    13.3用正则表达式从无结构文本中提取信息
    13.4用ROME解析RSS/AtomFeed
    13.5用MD5加密明文
    13.6将文本转换为超链接
    13.7用WebView访问网页
    13.8自定义WebView

    第14章游戏与动画
    14.1导论:游戏与动画
    14.2用flixel-android构建Android游戏
    14.3用AndEngine(Android-Engine)构建Android游戏
    14.4处理定时键盘输入

    第15章社交网络
    15.1导言:社交网络
    15.2用HTTP集成社交网络
    15.3用JSON加载用户的Twitter动态

    第16章位置和地图应用程序
    16.1导言:位置感知应用程序
    16.2获得位置信息
    16.3在应用程序中访问GPS信息
    16.4在设备上模拟GPS坐标
    16.5使用地理解析和反向地理解析
    16.6准备GoogleMaps开发
    16.7将设备当前位置添加到GoogleMaps
    16.8在GoogleMapView上绘制位置标志
    16.9在MapView上绘制多个位置标志
    16.10为GoogleMapView创建图层
    16.11改变GoogleMapView的模式
    16.12在不使用Drawble对象的情况下绘制图层图标
    16.13在GoogleMaps上实现位置搜索
    16.14在一个TabView中放置MapView
    16.15处理MapView的长按动作
    16.16使用OpenStreetMap
    16.17在OpenStreetMap地图上创建图层
    16.18在OpenStreetMap地图上使用比例尺
    16.19处理OpenStreetMap图层上的触摸事件
    16.20用OpenStreetMap地图获得位置的更新

    第17章加速计
    17.1导言:传感器
    17.2检查传感器是否存在
    17.3使用加速计检测设备的摇晃
    17.4用加速计根据屏幕方向检查设备是向上还是向下
    17.5用方向传感器发现Android设备的方向
    17.6读取温度传感器

    第18章蓝牙
    18.1导言:蓝牙
    18.2启用蓝牙并使设备处于可发现状态
    18.3连接启用蓝牙的设备
    18.4监听和接收蓝牙连接请求
    18.5实现蓝牙设备发现

    第19章系统与设备控制
    19.1导言:系统与设备控制
    19.2访问电话网络/连接性信息
    19.3从清单文件获取信息
    19.4将来电通知改为静音、振动或者普通
    19.5复制文本以及从剪贴板获取文本
    19.6使用基于LED的通知
    19.7使设备振动
    19.8从应用程序运行Shell命令
    19.9确定指定应用程序是否运行

    第20章其他编程语言和框架
    20.1导言:其他编程语言
    20.2运行外部/原生UNIX/Linux命令
    20.3在NDK上用JNI运行原生C/C++代码
    20.4从SL4A入手
    20.5用SL4A创建警告
    20.6使用SL4A读取Google文档并在ListView控件中显示
    20.7用QR码共享SL4A脚本
    20.8从WebView中通过JavaScript使用原生手机功能
    20.9用PhoneGap/Cordova创建平台无关的应用程序

    第21章字符串和国际化
    21.1导言:国际化
    21.2国际化应用程序文本
    21.3寻找和翻译字符串
    21.4处理Strings.xml的微妙之处

    第22章打包、部署和分发/销售应用程序
    22.1导言:打包、部署和分发
    22.2创建签名证书
    22.3签署应用程序
    22.4通过AndroidPlay分发应用程序
    22.5将AdMob集成到应用中
    22.6用ProGuard进行代码混淆和优化
    22.7提供GooglePlay市场中发布的其他应用的链接
    ……
  • 内容简介:
      《Android应用开发攻略》第1章带你建立Android开发环境,并构建由BrianKernighan创建的“Hello,World”类型的几个简单应用程序。第2章介绍一些来自桌面和企业软件开发环境的开发人员在移动计算中所碰到的不同问题,并且讨论移动设计(尤其是Android设计)与其他环境的不同点。
      测试是一些开发人员开发后才考虑的问题,所以在第3章介绍“测试”显得有点早。但是你不应该跳过它,而应该仔细阅读和注意测试的问题。我们讨论了单独组件的单元测试,以及用严格控制的方法进行的完整应用程序测试。
      Android提供应用程序内部以及不同应用之间的通信机制。第4章讨论意图和广播接收器、服务、异步任务(AsyncTask)和处理程序(handler)。
      另一种通信机制与通常在SQL数据库中数据的受控访问相关。第5章展示如何通过(在Android中)简单而普遍的手段(如URL)在一个应用程序中使用另一个应用程序。
  • 作者简介:
    达尔文(Darwin,IF.),在计算机行业已经工作了30年。他编写了用于Linux和BSD的免费软件file(1),是《CheckingCProgramswithLint》、《JavaCookbook》的作者并撰写了一百多篇有关C、UNIX、Java及Android的文章和教程。除了编程和顾问工作之外,Ian还为世界最大的技术培训公司——LearningTreeInternational服务,讲授UNIX、Java和Android技术。
  • 目录:
    前言
    第1章入门
    1.1导言:入门
    1.2学习Java语言
    1.3从命令行创建“Hello,World”应用程序
    1.4在Eclipse中创建“Hello,World”应用程序
    1.5在Windows上安装用于Android开发的IDE
    1.6理解Android生命周期
    1.7通过ADB在模拟器上安装.apk文件
    1.8通过SlideME将应用程序安装到模拟器上
    1.9共享来自其他Eclipse项目的Java类
    1.10引用程序库实现外部功能
    1.11使用SDK样例避免棘手的情况
    1.12保持AndroidSDK更新
    1.13从模拟器/Android设备获得屏幕截图
    1.14程序:简单的CountDownTimer示例
    1.15程序:AndroidOS下的小费计算器Tipster

    第2章设计成功的应用程序
    2.1导言:设计成功的Android应用程序
    2.2异常处理
    2.3作为“单例”访问Android应用程序对象
    2.4在用户旋转设备时保存数据
    2.5监控Android设备的电量
    2.6在Android中创建闪屏
    2.7设计会议/网络研讨/编程马拉松/机构用的应用程序
    2.8在Android应用中使用GoogleAnalytics
    2.9简单的手电筒应用程序
    2.10将Android手机应用程序改编为平板电脑应用程序
    2.11设置首次运行的首选项
    2.12为显示格式化时间和日期
    2.13用KeyListener控制输入
    2.14备份Android应用程序数据
    2.15用提示代替工具提示

    第3章测试
    3.1导言:测试
    3.2在Android中进行TDD
    3.3为应用测试设置Android虚拟设备(AVD)
    3.4用基于云的测试在多种设备上进行测试
    3.5测试项目的创建和使用
    3.6应用程序崩溃排错
    3.7用Log.d和LogCat进行调试
    3.8用BugSense自动从用户那里得到缺陷报告
    3.9使用本地运行时应用程序日志分析现场错误情况
    3.10为测试重现活动生命周期场景
    3.11用StrictMode保持应用程序敏捷性
    3.12运行Monkey程序
    3.13发送文本消息以及AVD之间的通话

    第4章进程间/内通信
    4.1导言:进程间/内通信
    4.2用意图打开网页、电话号码或者其他内容
    4.3从视图中发送文本邮件
    4.4发送带有附件的电子邮件
    4.5用Intent.putExtra()推送字符串值
    4.6从子活动中获取数据到主活动中
    4.7保持服务运行同时显示其他应用
    4.8发送/接收广播消息
    4.9在设备重启之后启动服务
    4.10用线程创建响应式应用程序
    4.11用AsyncTask进行后台处理
    4.12用活动线程队列和处理器在线程之间发送消息
    4.13创建AndroidEpochHTML/JavaScript日历

    第5章内容提供者
    5.1导言:内容提供者
    5.2从内容提供者获取数据
    5.3编写内容提供者
    5.4编写Android远程服务

    第6章图形
    6.1导言:图形
    6.2使用自定义字体
    6.3用OpenGLES绘制旋转的方块
    6.4添加对OpenGL旋转方块的控制
    6.5徒手绘制平滑曲线
    6.6使用意图拍照
    6.7用android.media.Camera拍照
    6.8用GoogleZXing条码扫描程序扫描条形码或QR代码
    6.9用AndroidPlot显示图表和图形
    6.10使用Inkscape创建Android启动器图标
    6.11从OpenClipArt.org用Paint.NET创建简易启动器图标
    6.12使用NinePatch文件
    6.13用AndroidRGraph创建HTML5图表
    6.14添加简单的光栅动画
    6.15使用捏合缩放

    第7章GUI
    7.1导言:GUI
    7.2理解并遵循用户界面指南
    7.3通过解耦视图和模型处理配置更改
    7.4创建一个按钮及其单击事件监听器
    7.5以5种不同的方式连接事件处理器
    7.6使用CheckBox和RadioButton控件
    7.7用图形按钮改进UI设计
    7.8通过Spinner类提供下拉选择器
    7.9处理长按/长单击事件
    7.10用TextView和EditText显示文本字段
    7.11用属性和TextWatcher接口限制EditText值
    7.12实现AutoCompleteTextView
    7.13用SQLite数据库查询为AutoCompleteTextView提供数据
    7.14将编辑字段转换为密码字段
    7.15将软键盘上的Enter键改成Next键
    7.16在活动中处理按键事件
    7.17让他们看到星标:使用RatingBar
    7.18震动视图
    7.19提供触觉反馈
    7.20在TabView中浏览不同的活动
    7.21创建自定义标题栏
    7.22格式化数字
    7.23格式化正确的复数形式
    7.24从第一个屏幕启动第二个屏幕
    7.25创建出现在两个活动之间的“加载中”屏幕
    7.26使用SlidingDrawer覆盖其他组件
    7.27自定义SlidingDrawer组件,使动画/过渡的方向变为从上向下
    7.28为布局添加圆角边框
    7.29在Android中检测手势
    7.30在Android1.6及更新版本中用Android3.0片段构建UI
    7.31使用Android3.0PhotoGallery
    7.32创建简单的应用程序窗口部件

    第8章GUI警告:菜单、对话框、Toast和通知
    8.1导言:GUI警告
    8.2创建和显示菜单
    8.3处理菜单选择项
    8.4创建子菜单
    8.5创建弹出/警告对话框
    8.6使用Timepicker窗口小部件
    8.7创建类似iPhone的滚轮选择器
    8.8创建标签式对话框
    8.9创建ProgressDialog
    8.10创建带有按钮、图像和文本的自定义对话框
    8.11创建可重用的“关于”对话框类
    8.12自定义Toast显示
    8.13在状态栏中创建通知

    第9章GUI:ListView
    9.1导言:ListView
    9.2用ListView构建基于列表的应用程序
    9.3为ListView创建“无数据”视图
    9.4创建具有图像和文本的高级ListView
    9.5在ListView中使用段标题
    9.6使用户的注意力保持在ListView上
    9.7编写自定义列表适配器
    9.8处理方向变化:从ListView数据值到横向图表

    第10章多媒体
    10.1导言:多媒体
    10.2播放YouTube视频
    10.3使用Gallery和ImageSwitcher视图
    10.4用MediaRecorder捕捉视频
    10.5使用Android的面部检测功能
    10.6播放来自文件的音频
    10.7无交互播放音频
    10.8使用语音识别功能
    10.9使用设备的朗读功能

    第11章数据持久性
    11.1导言:数据持久性
    11.2获得文件信息
    11.3读取应用自带而非文件系统中的文件
    11.4列出目录
    11.5获得关于SD卡的总空间和可用空间的信息
    11.6花费最小的精力提供用户首选项设置活动
    11.7检查默认共享首选项的一致性
    11.8执行高级文本搜索
    11.9在Android应用程序中创建SQLite数据库
    11.10在SQLite数据库中插入数值
    11.11从现有的SQLite数据库加载数值
    11.12在SQLite中使用日期
    11.13用JSONObject解析JSON
    11.14用DOMAPI解析XML文档
    11.15用XmlPullParser解析XML文档
    11.16添加联系人
    11.17读取联系人数据

    第12章电话应用程序
    12.1导言:电话应用程序
    12.2在电话铃响的时候进行某些操作
    12.3处理呼出电话
    12.4电话自动拨号
    12.5发送单部分和多部分SMS消息
    12.6在Android应用程序中接收SMS消息
    12.7使用模拟器控制面板向模拟器发送SMS消息
    12.8使用Android的TelephonyManager获得设备信息

    第13章联网应用程序
    13.1导论:网络
    13.2使用REST风格的Web服务
    13.3用正则表达式从无结构文本中提取信息
    13.4用ROME解析RSS/AtomFeed
    13.5用MD5加密明文
    13.6将文本转换为超链接
    13.7用WebView访问网页
    13.8自定义WebView

    第14章游戏与动画
    14.1导论:游戏与动画
    14.2用flixel-android构建Android游戏
    14.3用AndEngine(Android-Engine)构建Android游戏
    14.4处理定时键盘输入

    第15章社交网络
    15.1导言:社交网络
    15.2用HTTP集成社交网络
    15.3用JSON加载用户的Twitter动态

    第16章位置和地图应用程序
    16.1导言:位置感知应用程序
    16.2获得位置信息
    16.3在应用程序中访问GPS信息
    16.4在设备上模拟GPS坐标
    16.5使用地理解析和反向地理解析
    16.6准备GoogleMaps开发
    16.7将设备当前位置添加到GoogleMaps
    16.8在GoogleMapView上绘制位置标志
    16.9在MapView上绘制多个位置标志
    16.10为GoogleMapView创建图层
    16.11改变GoogleMapView的模式
    16.12在不使用Drawble对象的情况下绘制图层图标
    16.13在GoogleMaps上实现位置搜索
    16.14在一个TabView中放置MapView
    16.15处理MapView的长按动作
    16.16使用OpenStreetMap
    16.17在OpenStreetMap地图上创建图层
    16.18在OpenStreetMap地图上使用比例尺
    16.19处理OpenStreetMap图层上的触摸事件
    16.20用OpenStreetMap地图获得位置的更新

    第17章加速计
    17.1导言:传感器
    17.2检查传感器是否存在
    17.3使用加速计检测设备的摇晃
    17.4用加速计根据屏幕方向检查设备是向上还是向下
    17.5用方向传感器发现Android设备的方向
    17.6读取温度传感器

    第18章蓝牙
    18.1导言:蓝牙
    18.2启用蓝牙并使设备处于可发现状态
    18.3连接启用蓝牙的设备
    18.4监听和接收蓝牙连接请求
    18.5实现蓝牙设备发现

    第19章系统与设备控制
    19.1导言:系统与设备控制
    19.2访问电话网络/连接性信息
    19.3从清单文件获取信息
    19.4将来电通知改为静音、振动或者普通
    19.5复制文本以及从剪贴板获取文本
    19.6使用基于LED的通知
    19.7使设备振动
    19.8从应用程序运行Shell命令
    19.9确定指定应用程序是否运行

    第20章其他编程语言和框架
    20.1导言:其他编程语言
    20.2运行外部/原生UNIX/Linux命令
    20.3在NDK上用JNI运行原生C/C++代码
    20.4从SL4A入手
    20.5用SL4A创建警告
    20.6使用SL4A读取Google文档并在ListView控件中显示
    20.7用QR码共享SL4A脚本
    20.8从WebView中通过JavaScript使用原生手机功能
    20.9用PhoneGap/Cordova创建平台无关的应用程序

    第21章字符串和国际化
    21.1导言:国际化
    21.2国际化应用程序文本
    21.3寻找和翻译字符串
    21.4处理Strings.xml的微妙之处

    第22章打包、部署和分发/销售应用程序
    22.1导言:打包、部署和分发
    22.2创建签名证书
    22.3签署应用程序
    22.4通过AndroidPlay分发应用程序
    22.5将AdMob集成到应用中
    22.6用ProGuard进行代码混淆和优化
    22.7提供GooglePlay市场中发布的其他应用的链接
    ……
查看详情
12