Android编程权威指南的目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android编程权威指南的目录相关的知识,希望对你有一定的参考价值。

参考技术A

第1章 android应用初体验 1  1.1  应用基础 2  1.2  创建Android项目 2  1.3  Eclipse工作区导航 5  1.4  用户界面设计 6  1.4.1  视图层级结构 9  1.4.2  组件属性 10  1.4.3  创建字符串资源 11  1.4.4  预览界面布局 12  1.5  从布局XML到视图对象 13  1.6  组件的实际应用 15  1.6.1  类包组织导入 16  1.6.2  引用组件 16  1.6.3  设置监听器 17  1.7  使用模拟器运行应用 21  1.8  Android编译过程 22  第2章 Android与MVC设计模式 26  2.1  创建新类 26  2.2  Android与MVC设计模式 30  2.3  更新视图层 31  2.4  更新控制层 33  2.5  在设备上运行应用 37  2.5.1  连接设备 37  2.5.2  配置设备用于应用开发 38  2.6  添加图标资源 38  2.6.1  向项目中添加资源 39  2.6.2  在XML文件中引用资源 40  2.7  关于挑战练习 41  2.8  挑战练习一:为TextView添加监听器 41  2.9  挑战练习二:添加后退按钮 42  2.10  挑战练习三:从按钮到图标按钮 42  第3章 Activity的生命周期 45  3.1  日志跟踪理解Activity生命周期 46  3.1.1  输出日志信息 46  3.1.2  使用 LogCat 48  3.2  设备旋转与Activity生命周期 52  3.3  设备旋转前保存数据 56  3.4  再探Activity生命周期 57  3.5  深入学习:测试onSaveInstanceState-(Bundle)方法 59  3.6  深入学习:日志记录的级别与方法 60  第4章 Android应用的调试 62  4.1  DDMS应用调试透视图 63  4.2  异常与栈跟踪 64  4.2.1  诊断应用异常 65  4.2.2  记录栈跟踪日志 66  4.2.3  设置断点 68  4.2.4  使用异常断点 71  4.3  文件浏览器 72  4.4  Android特有的调试工具 73  4.4.1  使用Android Lint 73  4.4.2  R类的问题 74  第5章 第二个activity 75  5.1  创建第二个activity 76  5.1.1  创建新布局 77  5.1.2  创建新的activity子类 80  5.1.3  在manifest配置文件中声明activity 81  5.1.4  为QuizActivity添加cheat按钮 82  5.2  启动activity 83  5.3  activity间的数据传递 85  5.3.1  使用intent extra 86  5.3.2  从子activity获取返回结果 88  5.4  activity的使用与管理 92  5.5  挑战练习 95  第6章 Android SDK版本与兼容 96  6.1  Android SDK版本 96  6.2  Android编程与兼容性问题 97  6.2.1  全新的系统版本——Honeycomb 97  6.2.2  SDK最低版本 99  6.2.3  SDK目标版本 99  6.2.4  SDK编译版本 99  6.2.5  安全添加新版本API中的代码 100  6.3  使用Android开发者文档 103  6.4  挑战练习:报告编译版本 105  第7章 UI fragment与fragment 管理器 106  7.1  UI设计的灵活性需求 107  7.2  fragment的引入 107  7.3  着手开发CriminalIntent 108  7.3.1  创建新项目 110  7.3.2  fragment与支持库 112  7.3.3  创建Crime类 113  7.4  托管UI fragment 115  7.4.1  fragment的生命周期 115  7.4.2  托管的两种方式 116  7.4.3  定义容器视图 116  7.5  创建UI fragment 117  7.5.1  定义CrimeFragment的布局 118  7.5.2  创建CrimeFragment类 119  7.6  添加UI fragment到FragmentManager 122  7.6.1  fragment事务 123  7.6.2  FragmentManager与fragment生命周期 125  7.7  activity使用fragment的理由 127  7.8  深入学习:Honeycomb、ICS、Jelly Bean以及更高版本系统上的应用开发 127  第8章 使用布局与组件创建用户界面 128  8.1  升级Crime类 128  8.2  更新布局 129  8.3  生成并使用组件 131  8.4  深入探讨XML布局属性 132  8.4.1  样式、主题及主题属性 132  8.4.2  dp、sp以及屏幕像素密度 133  8.4.3  Android开发设计原则 134  8.4.4  布局参数 135  8.4.5  边距与内边距 135  8.5  使用图形布局工具 136  8.5.1  添加新组件 138  8.5.2  属性视图中编辑组件属性 138  8.5.3  在框架视图中重新组织组件 139  8.5.4  更新子组件的布局参数 140  8.5.5 android:layout_weight属性的工作原理 141  8.5.6  图形布局工具使用总结 142  8.5.7  组件ID与多种布局 142  8.6  挑战练习:日期格式化 143  第9章 使用ListFragment显示列表 144  9.1  更新CriminalIntent应用的模型层 145  9.2  创建ListFragment 147  9.3  使用抽象activity托管fragment 149  9.3.1  通用的fragment托管布局 149  9.3.2  抽象activity类 150  9.4  ListFragment、ListView及ArrayAdapter 154  9.4.1  创建ArrayAdapter<T>类实例 157  9.4.2  响应列表项的点击事件 159  9.5  定制列表项 160  9.5.1  创建列表项布局 160  9.5.2  创建adapter子类 162  第10章 使用fragment argument 165  10.1  从fragment中启动activity 165  10.1.1  附加extra信息 166  10.1.2  获取extra信息 167  10.1.3  使用Crime数据更新CrimeFragment视图 167  10.1.4  直接获取extra信息方式的缺点 169  10.2  fragment argument 169  10.2.1  附加argument给fragment 169  10.2.2  获取argument 170  10.3  重新加载显示列表项 171  10.4  通过fragment获取返回结果 172  第11章 使用ViewPager 174  11.1  创建CrimePagerActivity 175  11.1.1  以代码的方式定义并产生布局 176  11.1.2  ViewPager与Pager-Adapter 177  11.1.3  整合配置并使用CrimePagerActivity 178  11.1.4  FragmentStatePager-Adapter与Fragment-PagerAdapter 180  11.2  深入学习:ViewPager的工作原理 182  第12章 对话框 184  12.1  创建DialogFragment 186  12.1.1  显示DialogFragment 187  12.1.2  设置对话框的显示内容 188  12.2  fragment间的数据传递 190  12.2.1  传递数据给DatePicker-Fragment 191  12.2.2  返回数据给CrimeFragment 193  12.3  挑战练习:更多对话框 198  第13章 使用MediaPlayer播放音频 199  13.1  添加资源 200  13.2  定义HelloMoonFragment布局文件 202  13.3  创建HelloMoonFragment 203  13.4  使用布局fragment 204  13.5  音频播放 205  13.6  挑战练习:暂停音频播放 208  13.7  深入学习:播放视频 208  13.8  挑战练习:在HelloMoon应用中播放视频 208  第14章 fragment的保留 209  14.1  保留fragment实例 209  14.2  设备旋转与保留的fragment 210  14.3  保留的fragment:一切都完美了吗 212  14.4  设备旋转处理与onSaveInstance-State(Bundle)方法 212  14.5  深入学习:fragment引入前的设备旋转问题 214  第15章 应用本地化 215  15.1  本地化资源 215  15.2  配置修饰符 216  15.2.1  可用资源优先级排定 217  15.2.2  多重配置修饰符 218  15.2.3  寻找最匹配的资源 219  15.3  更多资源使用原则及控制 220  15.3.1  资源命名 220  15.3.2  资源目录结构 220  15.4  测试备选资源 221  第16章 操作栏 223  16.1  选项菜单 223  16.1.1  在XML文件中定义选项菜单 225  16.1.2  创建选项菜单 227  16.1.3  响应菜单项选择 230  16.2  实现层级式导航 232  16.2.1  启用应用图标的导航功能 232  16.2.2  响应向上按钮 233  16.3  可选菜单项 236  16.3.1  创建可选菜单XML文件 236  16.3.2  切换菜单项标题 237  16.3.3  “还有个问题” 238  16.4  挑战练习:用于列表的空视图 239  第17章 存储与加载本地文件 241  17.1  CriminalIntent应用的数据存取 241  17.1.1  保存crime数据到JSON文件 242  17.1.2  从文件中读取crime数据 246  17.2  挑战练习:使用外部存储 248  17.3  深入学习:Android文件系统与Java I/O 248  第18章 上下文菜单与上下文操作模式 250  18.1  定义上下文菜单资源 251  18.2  实施浮动上下文菜单 251  18.2.1  创建上下文菜单 251  18.2.2  为上下文菜单登记视图 252  18.2.3  响应菜单项选择 253  18.3  实施上下文操作模式 254  18.3.1  实现列表视图的多选操作 255  18.3.2  列表视图中的操作模式回调方法 256  18.3.3  改变已激活视图的显示背景 258  18.3.4  实现其他视图的上下文操作模式 259  18.4  兼容性问题:回退还是复制 260  18.5  挑战练习:在CrimeFragment视图中删除crime记录 261  18.6  深入学习:ActionBarSherlock 261  18.7  挑战练习:使用ActionBarSherlock 263  18.7.1  CriminalIntent应用中ABS的基本整合 264  18.7.2  ABS的深度整合 264  18.7.3  ABS的完全整合 265  第19章 相机I:取景器 266  19.1  创建Fragment布局 267  19.2  创建CrimeCameraFragment 269  19.3  创建CrimeCameraActivity 269  19.4  使用相机API 271  19.4.1  打开并释放相机 271  19.4.2  SurfaceView、Surface-Holder与Surface 272  19.4.3  确定预览界面大小 276  19.4.4  启动CrimeCamera-Activity 277  19.5  深入学习:以命令行的方式运行activity 281  第20章 相机 II:拍摄并处理照片 283  20.1  拍摄照片 283  20.1.1  实现相机回调方法 285  20.1.2  设置图片尺寸大小 288  20.2  返回数据给CrimeFragment 288  20.2.1  以接收返回值的方式启动CrimeCameraActivity 289  20.2.2  在CrimeCameraFragment中设置返回值 290  20.2.3  在CrimeFragment中获取照片文件名 290  20.3  更新模型层 291  20.3.1  新增Photo类 292  20.3.2  为Crime添加photo属性 293  20.3.3  设置photo属性 293  20.4  更新CrimeFragment的视图 294  20.4.1  添加ImageView组件 295  20.4.2  图像处理 296  20.5  在DialogFragment中显示大图片 300  20.6  挑战练习:Crime照片的显示方向 303  20.7  挑战练习:删除照片 303  20.8  深入学习:Android代码的废弃处理 303  第21章 隐式intent 305  21.1  添加按钮组件 306  21.2  添加嫌疑人信息至模型层 307  21.3  使用格式化字符串 308  21.4  使用隐式intent 309  21.4.1  典型隐式intent的组成 310  21.4.2  发送陋习报告 311  21.4.3  获取联系人信息 313  21.4.4  检查可以响应的activity 316  21.5  挑战练习:又一个隐式intent 317  第22章 Master-Detail用户界面 318  22.1  增加布局灵活性 319  22.1.1  修改SingleFragment-Activity 320  22.1.2  创建包含两个fragment容器的布局 320  22.1.3  使用别名资源 322  22.2  Activity:fragment的托管者 323  22.3  深入学习:设备屏幕尺寸的确定 331  第23章 深入学习intent和任务 333  23.1  创建NerdLauncher项目 333  23.2  解析隐式intent 334  23.3  在运行时创建显式intent 337  23.4  任务与后退栈 338  23.5  使用NerdLauncher应用作为设备主屏幕 341  23.6  挑战练习:应用图标与任务重排 341  23.7  进程与任务 341  第24章 样式与include标签的使用 343  24.1  创建RemoteControl项目 344  24.1.1  编码实现RemoteControl-Activity 344  24.1.2  创建RemoteControl-Fragment 345  24.2  使用样式消除重复代码 348  24.3  完善布局定义 350  24.4  深入学习:使用include与merge标签 353  24.5  挑战练习:样式的继承 354  第25章 XML Drawable与9-Patches 355  25.1  XML drawable 356  25.2  state list drawable 358  25.3  layer list与inset drawable 360  25.4  使用9-patch图像 362  第26章 HTTP与后台任务 368  26.1  创建PhotoGallery应用 369  26.2  网络连接基本 372  26.3  使用AsyncTask在后台线程上运行代码 373  26.4  线程与主线程 375  26.5  获取Flickr XML数据 377  26.6  从AsyncTask回到主线程 382  26.7  深入学习:再探AsyncTask 385  26.8  挑战练习:分页 386  第27章 Looper、Handler与HandlerThread 387  27.1  设置GridView以显示图片 387  27.2  批量下载缩略图 390  27.3  与主线程通信 390  27.4  创建并启动后台线程 391  27.5  Message与message Handler 393  27.5.1  消息的剖析 393  27.5.2  Handler的剖析 393  27.5.3  使用handler 395  27.5.4  传递handler 397  27.6  深入学习:AsyncTask与Thread 401  27.7  挑战练习:预加载以及缓存 401  第28章 搜索 402  28.1  搜索Flickr网站 402  28.2  搜索对话框 404  28.2.1  创建搜索界面 404  28.2.2  可搜索的activity 406  28.2.3  物理搜索键 408  28.2.4  搜索的工作原理 409  28.2.5  启动模式与新的intent 410  28.2.6  使用shared preferences实现轻量级数据存储 412  28.3  在Android 3.0以后版本的设备上使用SearchView 414  28.4  挑战练习 416  第29章 后台服务 417  29.1  创建IntentService 417  29.2  服务的作用 419  29.3  查找最新返回结果 421  29.4  使用AlarmManager延迟运行服务 422  29.4.1  PendingIntent 424  29.4.2  使用PendingIntent管理定时器 424  29.5  控制定时器 425  29.6  通知信息 428  29.7  深入学习:服务细节内容 429  29.7.1  服务的能与不能 430  29.7.2  服务的生命周期 430  29.7.3  non-sticky服务 430  29.7.4  sticky服务 431  29.7.5  绑定服务 431  第30章 broadcast Intent 433  30.1  随设备重启而重启的定时器 433  30.1.1  配置文件中的broadcast receiver 434  30.1.2  如何使用receiver 435  30.2  过滤前台通知消息 436  30.2.1  发送broadcast intent 437  30.2.2  动态broadcast receiver 437  30.2.3  使用私有权限 440  30.2.4  使用ordered broadcast接收结果 442  30.3  receiver与长时运行任务 446  第31章 网页浏览 447  31.1  最后一段Flickr数据 447  31.2  简单方式:使用隐式intent 448  31.3  较难方式:使用WebView 449  31.3.1  使用WebChromeClient优化WebView的显示 453  31.3.2  处理WebView的设备旋转问题 455  31.4  深入学习:注入javascript对象 456  第32章 定制视图与触摸事件 457  32.1  创建DragAndDraw项目 457  32.1.1  创建DragAndDraw-Activity 458  32.1.2  创建DragAndDraw-Fragment 459  32.2  创建定制视图 460  32.3  处理触摸事件 462  32.4  onDraw(...)方法内的图形绘制 465  32.5  挑战练习:设备旋转问题 467  第33章 跟踪设备的地理位置 468  33.1  启动RunTracker项目 468  33.1.1  创建RunActivity 469  33.1.2  创建RunFragment 470  33.2  地理位置与LocationManager 472  33.3  接收定位数据更新broadcast 474  33.4  使用定位数据刷新UI显示 475  33.5  快速定位:最近一次地理位置 479  33.6  在物理和虚拟设备上测试地理位置定位 480  第34章 使用SQLite本地数据库 482  34.1  在数据库中存储旅程和地理位置信息 482  34.2  查询数据库中的旅程列表 488  34.3  使用CursorAdapter显示旅程列表 490  34.4  创建新旅程 493  34.5  管理现有旅程 494  34.6  挑战练习:识别当前跟踪的旅程 500  第35章 使用Loader加载异步数据 501  35.1  Loader与LoaderManager 501  35.2  在RunTracker应用中使用Loader 502  35.3  加载旅程列表 503  35.4  加载单个旅程 506  35.5  加载旅程的最近一次地理位置 509  第36章 使用地图 511  36.1  添加Maps API给RunTracker应用 511  36.1.1  使用物理设备测试地图 511  36.1.2  安装使用Google Play services SDK 511  36.1.3  获取Google Maps API key 512  36.1.4  更新RunTracker应用的manifest配置文件 512  36.2  在地图上显示用户的地理位置 513  36.3  显示旅程路线 516  36.4  为旅程添加开始和结束地图标注 520  36.5  挑战练习:实时数据更新 521  第37章 编后语 522  37.1  终极挑战 522  37.2  关于我们 523  37.3  致谢 523

android 权威编程指南 笔记 2018-09-01

1.android Button上面的英文字符串自动大写的问题解决

<Button
    android:id="@+id/true_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_true"
    android:textAllCaps="false"/>

 android:textAllCaps="false"属性即可,该属性是用来设置是否使用大写字母来呈现文本。

2.

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

解决Android Studio 3.0时出现出现Failed to load Appcompat Actionbar with unknown error, APPCompat 活动栏不能显示安卓布局页面   可能是buildToolsVersion版本和compileSdkVersion版本不一致

 

3.动画

int cx = mTrue_button.getWidth() / 2;
int cy = mTrue_button.getHeight() / 2;
float radius = mTrue_button.getWidth();

Animator circularReveal = ViewAnimationUtils.createCircularReveal(mTrue_button, cx, cy, radius, 0);
circularReveal.addListener(new AnimatorListenerAdapter() 
    @Override
    public void onAnimationEnd(Animator animation) 
        super.onAnimationEnd(animation);
        mTrue_button.setVisibility(View.INVISIBLE);
    
);
circularReveal.start();

4.MVC

model   模型  模型对象存储数据和业务逻辑 

view    视图   视图层 xml 屏幕上看得见的对象

controller  控制器   逻辑单元 模型 视图的纽带 数据流动 activity

5. 数组循环 index % 数组.length

6.onSaveInstanceState(Bundle) 保存数据 bundle中  在onCreate中重新获取

7.activity 跳转 在第二个 activity 中编写intent  

以上是关于Android编程权威指南的目录的主要内容,如果未能解决你的问题,请参考以下文章

看 《android权威编程指南》 的笔记

Android编程权威指南.第3版.pdf PDF下载

android编程权威指南 第三版 pdf

《Android编程权威指南》CriminalIntent项目梳理

电子书 Android编程权威指南 第2版.pdf

读书笔记--Android编程权威指南