当前位置:首页 » 安卓系统 » android权威编程指南

android权威编程指南

发布时间: 2022-08-22 20:23:47

① android编程问题 QuizActivity.java文件中使用truefalse方法

android权威编程指南的第一个app么……我也是正在学……

② android应用工程师要看哪些书籍好

Android开发推荐书单

《Android编程权威指南》

Bill Philips和Brian Hardy为锻炼Android开发能力提供了一些建议。书中从最初开发应用的步骤开始切入,采用对话的形式循序渐进进行讲述。这种风格让人感觉更像是一对一的教学。初学者可以通过每章最后的测试题来测试自己的开发能力。

《Android应用UI设计模式》

Greg Nudelma在用户体验上提供了许多非常惊艳的建议,帮助我们成为移动应用开发专家。本书比较适合已经具备较高能力的开发者。书中包含了很多移动应用界面的开发练习。本书可以帮助你了解哪些是在开发中需要避免的东西,还介绍了如何高效地适配多种不同的设备。

《Android用户界面设计》

本书的作者Ian G. Clifton解释了优秀的用户界面设计的重要性。优秀的用户界面可以让你的应用在众多产品中脱颖而出。本书适合初学者和高阶研发人员学习。它介绍了许多其他书籍没有涉及内容,像是如何编写一个带有复杂界面的应用。书中的示例代码可以帮助你高效地学习这些概念。

《Android攻略》

这是广为流传的Android开发图书之一,书中的每一个概念都配合了绝妙的代码范例。本书可以让你详细了解Android架构和不同Android-API的细节,非常有助于高级开发人员掌握高效开发方法,譬如对外部函数库的使用,对(提高应用性能的)Android NDK利用等。同时也向不同层次的应用开发者提供了各个方面的开发建议。

《Android基础教程》

任何一个Android初学者都需要去理解Google Android的开发流程。本书从一些简单Android应用开发入手,一步步地慢慢推进,直到开发出一个复杂应用程序。本书会让读者保持一个高速的学习节奏,可以在几天内快速编写己的小应用。它还会指导你配置开发环境,通过示例解释每一个需要了解的概念。

《Android 游戏开发入门》

对那些喜欢Android游戏的开发者,本书将是最好的入门。Mario Zechner在书中描述了Android游戏开发的前景。本书从游戏开发的最基本概念开始,比如接收用户输入、获取设备资源、播放音乐以及把游戏屏幕上展示。还涉及了通过OpenGL渲染游戏中的图像数据相关知识。同样,你还可以从书中获得每一个例子可运行的完整代码。

《Android程序设计》

本书是学习Android开发核心的最好、最权威的书籍之一。书中会教授Android开发的基本模块,以及如何去使用那些复杂的API。本书对Java代码使用非常巧妙,以至于即使完全不懂Java也可以使用本书。书中还介绍了数据库连接的解决方案,以及如何设计好数据库。简而言之,你可以从书中学会任何一种应用必须的开发技能,并且开发出超棒的用户界面。

这些书可以帮助开发者高效学习Android开发技能。其中大部分是针对如何从初学者成长为一个高阶开发者。如果你刚刚开始学习Android开发,这些书可以帮助你更快地获取必须的技能,并且很好的掌握Android开发技巧。学好Android开发的关键就在于,理解每一个基本的概念以及书中的那些应用范例。

③ android编程权威指南 第二版 16章挑战练习 优化照片显示和优化缩略图显示

Android编程权威指南挑战练习参考答案(修订版) 2015-04-07上传大小:711KB Android 为《Android编程权威指南》所做的答案,其中包含个人以及论坛上提供

④ 《Android编程权威指南(第3版)》pdf下载在线阅读,求百度网盘云资源

《Android编程权威指南(第3版)》(比尔·菲利普斯 (Bill Phillips))电子书网盘下载免费在线阅读

资源链接:

链接:https://pan..com/s/1fRrWFkv2DMXxDxO2X_C7-A

密码:a9fu

书名:Android编程权威指南(第3版)

作者:比尔·菲利普斯 (Bill Phillips)

译者:王明发

豆瓣评分:8.6

出版社:人民邮电出版社

出版年份:2017-6

页数:576

内容简介:

Big Nerd Ranch 是美国一家专业的移动开发技术培训机构。本书主要以其Android 训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android 编程权威指南。全书共36 章,详细介绍了8 个Android 应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。

第3 版较之前版本增加了对数据绑定等新工具的介绍,同时新增了针对单元测试、辅助功能和MVVM 架构等主题的章节。如果你熟悉Java 语言,或者了解面向对象编程,那就立刻开始Android 编程之旅吧!

作者简介:

作者简介:

Bill Phillips

Big Nerd Ranch资深讲师。他与人合作开发了广受好评的Android训练营培训课程,并为之编写教材(包括本书的第1版和第2版)。Bill一直坚持撰写博客、阅读各类文学作品、作曲奏乐以及着书。

Chris Stewart

Big Nerd Ranch的Android团队主管、Android训练营资深讲师。他致力于不断取得进步和精进技能。工作之余,Chris喜欢远足和旅行。

Kristin Marsicano

Big Nerd Ranch资深讲师、Android开发者。她喜欢分享知识,对学习、软件开发以及二者的交集充满热情。在授课和开发应用之余,Kristin会为家人烹调美食、练习瑜伽或学习新知识。

译者简介:

王明发

毕业于华东理工大学。软件开发及项目管理者,拥有近十年的软件开发及项目管理经验;除了翻译本书前两版之外,另译有《写给大家看的项目管理书(第3版)》。

⑤ 如何自学 Android 编程

我现在也正在自学android,有一本叫android权威编程指南的书感觉不错

⑥ 读《android编程权威指南》这本书需要先学什么语言

原书名:Android programming: the big nerd ranch guide
原出版社: Big Nerd Ranch Guides
作者: (美)Bill Phillips Brian Hardy
译者: 王明发
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115346438
上架时间:2014-3-18
出版日期:2014 年4月
开本:16开
页码:523
版次:1-1
所属分类:
计算机 > 软件与程序设计 > 移动开发 > Android

编辑推荐

Amazon榜首畅销书
全面覆盖Android开发知识点
全真示例、循循善诱、轻松上手
内容简介
书籍
计算机书籍
Big Nerd Ranch 是美国一家专业的移动开发技术培训机构,《Android编程权威指南》主要以训练营的5 天教学课程为基础,融合了两位作者多年的心得体会,是一本完全面向实战的Android 编程权威指南。全书共37 章,详细介绍了GeoQuiz、HelloMoon、DragAndDraw 等8 个Android 应用。这些应用的难易程度不一,最复杂的CriminalIntent 应用占用了13 章的篇幅。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得最前沿的开发经验。
如果你熟悉Java 语言,或者了解对面向对象编程,那就立刻开始Android 编程之旅吧!

作译者
Bill Phillips
Big Nerd Ranch资深Android讲师、高级软件工程师。他与Brian Hardy合作,为Big Nerd Ranch开发了广受好评的5天Android训练营培训课程。Bill擅长透彻地理解事物的本质,并帮助其他人做到这一点。闲暇时间,Bill喜欢阅读和弹钢琴。
Brian Hardy
Big Nerd Ranch首席软件工程师、资深讲师。Big Nerd Ranch的Android、iOS和Ruby培训课程均由Brian设计开发。闲暇时间,Brian喜欢骑自行车和听音乐。

目录
《Android编程权威指南》
第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

↓展开全部内容
译者序
2007年,苹果公司发布了革命性的iPhone,自此开启了智能手机的新时代。随后,2008年,谷歌公司和开放手机联盟共同开发并推出了Android智能手机。时至今日,移动智能设备不仅深刻影响了智能手机行业,也改变了整个科技产业以及人们生活的方方面面,在全球掀起巨大的移动浪潮。
迎着这股浪潮,国际巨头、创业公司、独立开发者各展身手,奋力搏击,抢登浪潮之巅。苹果一度成了全球市值最高的公司,三星则是卖出了数亿部Android手机。2013年,网络以19亿美元的价格收购了91无线。2014年开春,Facebook更是以190亿美元的天价收购了开发WhatsApp应用仅有50名员工的公司,直接把这股移动浪潮推到了巅峰。
豪不夸张地说,所有这一切都离不开移动软件的开发。目前主流的开发平台是苹果的iOS系统和谷歌的Android系统。凭借精美绝伦的UI、流畅顺滑的交互体验,iOS开发在早期抢占了先机。但如今,谷歌在Android系统UI设计及优化方面的前进步伐已赶超苹果在创新方面的进步。越来越多的软件人开始投身Android应用开发阵营。对于业余爱好者来说,Android还是iOS,喜欢谁就选谁。而对于专业开发人员,果粉也好,Android迷也罢,从职业发展及商业利益角度来说,掌握双平台开发是必须的。
作为荣获2012 Jolt 生产力大奖的iOS编程教程的姊妹篇,Big Nerd Ranch公司再接再厉,推出了这本《Android编程权威指南》。英文版甫一上架立即赢得了Amazon读者的广泛赞誉。本书基于Big Nerd Ranch公司的Bootcamp教程编写而成。Big Nerd Ranch创办于2001年,是美国一家知名IT培训公司,每年为微软、谷歌、Faceboook等行业巨头培养众多专业人才。而BootCamp在英文中原意为美国海军陆战队新兵训练营,应用于IT培训行业中,意指通过全真IT项目实战,培训出像美国海军陆战队员那样优秀的IT人才。
本书适合有一定Java编程经验(至少熟悉Java)并对Android开发感兴趣的读者阅读。本书最大的特点是,从Android应用的基本概念及组成开始介绍直至完成一个复杂实用的谷歌地图应用,作者巧妙地把Android开发所需的庞杂知识、行业实践、编程规范等融入本书,并以一种润物无声的导学方式引领读者轻松完成全书的开发学习。第26章在讲解后台任务和线程时,作者寓教于乐,还精心安排了在鞋店工作的闪电侠案例,既能帮助读者形象地理解复杂抽象概念,又让人印象深刻,难以忘却。类似这样的案例、幽默全书俯拾皆是,还是等读者自己去发掘吧。另外,几乎每章都配有深入学习及难度逐步升级的挑战练习版块。深入学习意在让读者进一步掌握本章关键知识点并指明学习更高级主题的方向;挑战练习能够让读者立即获得练手的机会,通过练习巩固运用所学知识。学完本书,在实际开发中,读者自然而然就会知道该做什么,如何去做以及为什么这样做。
最后,感谢图灵各位编辑老师的辛勤工作,尤其感谢李静老师的细心指导,本书及本人都获益良多。更要感谢的是我的clover和千寻,没有他们的宽容、理解与支持,本书译稿不可能完成。
虽然我已尽力传达原作本意并保证译稿的较高质量,但有时拼写错误、因版本升级而导致某些内容不再适用,甚至是囿于个人水平而犯错的情况再所难免。如果你发现了问题或有好的建议,请批评指正并不吝电邮提交至[email protected]或反馈至图灵社区。
2014年2月28日于上海

⑦ 如何更新及替换ViewPager中的Fragment

ListView的工作原理

在了解ViewPager的工作原理之前,先回顾ListView的工作原理:

ListView只有在需要显示某些列表项时,它才会去申请可用的视图对象;如果为所有的列表项数据创建视图对象,会浪费内存;
ListView找谁去申请视图对象呢? 答案是adapter。adapter是一个控制器对象,负责从模型层获取数据,创建并填充必要的视图对象,将准备好的视图对象返回给ListView;
首先,通过调用adapter的getCount()方法,ListView询问数组列表中包含多少个对象(为避免出现数组越界的错误);紧接着ListView就调用adapter的getView(int, View, ViewGroup)方法。

ViewPager某种程度上类似于ListView,区别在于:ListView通过ArrayAdapter.getView(int position, View convertView, ViewGroup parent)填充视图;ViewPager通过FragmentPagerAdapter.getItem(int position)生成指定位置的fragment.

而我们需要关注的是:

ViewPager和它的adapter是如何配合工作的?

声明:本文内容针对android.support.v4.app.*
ViewPager有两个adapter:FragmentPagerAdapter和FragmentStatePagerAdapter:

android.support.v4.app.FragmentPagerAdapter

继承自android.support.v4.view.PagerAdapter,每页都是一个Fragment,并且所有的Fragment实例一直保存在Fragment
manager中。所以它适用于少量固定的fragment,比如一组用于分页显示的标签。除了当Fragment不可见时,它的视图层(view
hierarchy)有可能被销毁外,每页的Fragment都会被保存在内存中。(翻译自代码文件的注释部分)

android.support.v4.app.FragmentStatePagerAdapter

继承自android.support.v4.view.PagerAdapter,每页都是一个Fragment,当Fragment不被需要时(比如不可见),整个Fragment都会被销毁,除了saved
state被保存外(保存下来的bundle用于恢复Fragment实例)。所以它适用于很多页的情况。(翻译自代码文件的注释部分)

它俩的子类,需要实现getItem(int) 和 android.support.v4.view.PagerAdapter.getCount().

先通过一段代码了解ViewPager和FragmentPagerAdapter的典型用法

稍后做详细分析:
// Set a PagerAdapter to supply views for this pager.
ViewPager viewPager = (ViewPager) findViewById(R.id.my_viewpager_id);
viewPager.setAdapter(mMyFragmentPagerAdapter);

private FragmentPagerAdapter mMyFragmentPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return 2; // Return the number of views available.
}

@Override
public Fragment getItem(int position) {
return new MyFragment(); // Return the Fragment associated with a specified position.
}

// Called when the host view is attempting to determine if an item's position has changed.
@Override
public int getItemPosition(Object object) {
if (object instanceof MyFragment) {
((MyFragment)object).updateView();
}
return super.getItemPosition(object);
}
};

private class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// do something such as init data
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
// init view in the fragment
return view;
}

public void updateView() {
// do something to update the fragment
}
}

FragmentPagerAdapter和FragmentStatePagerAdapter对Fragment的管理略有不同,在详细考察二者区别之前,我们通过两种较为直观的方式先感受下:

通过两张图片直观的对比FragmentPagerAdapter和FragmentStatePagerAdapter的区别

说明:这两张图片来自于《Android权威编程指南》,原图有3个Fragment,我增加了1个Fragment,以及被调到的方法。
FragmentPagerAdapter的Fragment管理:

FragmentStatePageAdapter的Fragment管理:

详细分析 adapter method和fragment lifecycle method 的调用情况

好啦,感受完毕,我们需要探究其详情,梳理adapter创建、销毁Fragment的过程,过程中adapter method和fragment lifecycle method哪些被调到,有哪些一样,有哪些不一样。

最开始处于第0页时,adapter不仅为第0页创建Fragment实例,还为相邻的第1页创建了Fragment实例:
// 刚开始处在page0
D/Adapter (25946): getItem(0)
D/Fragment0(25946): newInstance(2015-09-10) // 注释:newInstance()调用了Fragment的构造器方法,下同。
D/Adapter (25946): getItem(1)
D/Fragment1(25946): newInstance(Hello World, I'm li2.)
D/Fragment0(25946): onAttach()
D/Fragment0(25946): onCreate()
D/Fragment0(25946): onCreateView()
D/Fragment1(25946): onAttach()
D/Fragment1(25946): onCreate()
D/Fragment1(25946): onCreateView()

第1次从第0页滑到第1页,adapter同样会为相邻的第2页创建Fragment实例;
// 第1次滑到page1
D/Adapter (25946): onPageSelected(1)
D/Adapter (25946): getItem(2)
D/Fragment2(25946): newInstance(true)
D/Fragment2(25946): onAttach()
D/Fragment2(25946): onCreate()
D/Fragment2(25946): onCreateView()

FragmentPagerAdapter和FragmentStatePagerAdapter齐声说:呐,请主公贰放心,属下定会为您准备好相邻的下一页视图哒!么么哒!

它俩对待下一页的态度是相同的,但对于上上页,它俩做出了不一样的事情:

FragmentPagerAdapter说:上上页的实例还保留着,只是销毁了它的视图:
// 第N次(N不等于1)向右滑动选中page2
D/Adapter (25946): onPageSelected(2)
D/Adapter (25946): destroyItem(0) // 销毁page0的视图
D/Fragment0(25946): onDestroyView()
D/Fragment3(25946): onCreateView() // page3的Fragment实例仍保存在FragmentManager中,所以只需创建它的视图

FragmentStatePagerAdapter说:上上页的实例和视图都被俺销毁啦:
// 第N次(N不等于1)向右滑选中page2
D/Adapter (27880): onPageSelected(2)
D/Adapter (27880): destroyItem(0) // 销毁page0的实例和视图
D/Adapter (27880): getItem(3) // 创建page3的Fragment
D/Fragment3(27880): newInstance()
D/Fragment0(27880): onDestroyView()
D/Fragment0(27880): onDestroy()
D/Fragment0(27880): onDetach()
D/Fragment3(27880): onAttach()
D/Fragment3(27880): onCreate()
D/Fragment3(27880): onCreateView()

⑧ 《Android编程权威指南》这本书翻译的怎么样

原书名:Androidprogramming:thebignerdranchguide原出版社:BigNerdRanchGuides作者:(美)BillPhillipsBrianHardy译者:王明发丛书名:图灵程序设计丛书出版社:人民邮电出版社ISBN:9787115346438上架时间:2014-3-18出版日期:2014年4月开本:16开页码:523版次:1-1所属分类:计算机>软件与程序设计>移动开发>Android编辑推荐Amazon榜首畅销书全面覆盖Android开发知识点全真示例、循循善诱、轻松上手内容简介书籍计算机书籍BigNerdRanch是美国一家专业的移动开发技术培训机构,《Android编程权威指南》主要以训练营的5天教学课程为基础,融合了两位作者多年的心得体会,是一本完全面向实战的Android编程权威指南。全书共37章,详细介绍了GeoQuiz、HelloMoon、DragAndDraw等8个Android应用。这些应用的难易程度不一,最复杂的CriminalIntent应用占用了13章的篇幅。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得最前沿的开发经验。如果你熟悉Java语言,或者了解对面向对象编程,那就立刻开始Android编程之旅吧!作译者BillPhillipsBigNerdRanch资深Android讲师、高级软件工程师。他与BrianHardy合作,为BigNerdRanch开发了广受好评的5天Android训练营培训课程。Bill擅长透彻地理解事物的本质,并帮助其他人做到这一点。闲暇时间,Bill喜欢阅读和弹钢琴。BrianHardyBigNerdRanch首席软件工程师、资深讲师。BigNerdRanch的Android、iOS和Ruby培训课程均由Brian设计开发。闲暇时间,Brian喜欢骑自行车和听音乐。目录《Android编程权威指南》第1章Android应用初体验11.1应用基础21.2创建Android项目21.3Eclipse工作区导航51.4用户界面设计61.4.1视图层级结构91.4.2组件属性101.4.3创建字符串资源111.4.4预览界面布局121.5从布局XML到视图对象131.6组件的实际应用151.6.1类包组织导入161.6.2引用组件161.6.3设置监听器171.7使用模拟器运行应用211.8Android编译过程22第2章Android与MVC设计模式262.1创建新类262.2Android与MVC设计模式30↓全部内容译者序2007年,苹果公司发布了革命性的iPhone,自此开启了智能手机的新时代。随后,2008年,谷歌公司和开放手机联盟共同开发并推出了Android智能手机。时至今日,移动智能设备不仅深刻影响了智能手机行业,也改变了整个科技产业以及人们生活的方方面面,在全球掀起巨大的移动浪潮。迎着这股浪潮,国际巨头、创业公司、独立开发者各展身手,奋力搏击,抢登浪潮之巅。苹果一度成了全球市值最高的公司,三星则是卖出了数亿部Android手机。2013年,网络以19亿美元的价格收购了91无线。2014年开春,Facebook更是以190亿美元的天价收购了开发WhatsApp应用仅有50名员工的公司,直接把这股移动浪潮推到了巅峰。豪不夸张地说,所有这一切都离不开移动软件的开发。目前主流的开发平台是苹果的iOS系统和谷歌的Android系统。凭借精美绝伦的UI、流畅顺滑的交互体验,iOS开发在早期抢占了先机。但如今,谷歌在Android系统UI设计及优化方面的前进步伐已赶超苹果在创新方面的进步。越来越多的软件人开始投身Android应用开发阵营。对于业余爱好者来说,Android还是iOS,喜欢谁就选谁。而对于专业开发人员,果粉也好,Android迷也罢,从职业发展及商业利益角度来说,掌握双平台开发是必须的。作为荣获2012Jolt生产力大奖的iOS编程教程的姊妹篇,BigNerdRanch公司再接再厉,推出了这本《Android编程权威指南》。英文版甫一上架立即赢得了Amazon读者的广泛赞誉。本书基于BigNerdRanch公司的Bootcamp教程编写而成。BigNerdRanch创于2001年,是美国一家知名IT培训公司,每年为微软、谷歌、Faceboook等行业巨头培养众多专业人才。而BootCamp在英文中原意为美国海军陆战队新兵训练营,应用于IT培训行业中,意指通过全真IT项目实战,培训出像美国海军陆战队员那样优秀的IT人才。本书适合有一定Java编程经验(至少熟悉Java)并对Android开发感兴趣的读者阅读。本书最大的特点是,从Android应用的基本概念及组成开始介绍直至完成一个复杂实用的谷歌地图应用,作者巧妙地把Android开发所需的庞杂知识、行业实践、编程规范等融入本书,并以一种润物无声的导学方式引领读者轻松完成全书的开发学习。第26章在讲解后台任务和线程时,作者寓教于乐,还精心安排了在鞋店工作的闪电侠案例,既能帮助读者形象地理解复杂抽象概念,又让人印象深刻,难以忘却。类似这样的案例、幽默全书俯拾皆是,还是等读者自己去发掘吧。另外,几乎每章都配有深入学习及难度逐步升级的挑战练习版块。深入学习意在让读者进一步掌握本章关键知识点并指明学习更高级主题的方向;挑战练习能够让读者立即获得练手的机会,通过练习巩固运用所学知识。学完本书,在实际开发中,读者自然而然就会知道该做什么,如何去做以及为什么这样做。最后,感谢图灵各位编辑老师的辛勤工作,尤其感谢李静老师的细心指导,本书及本人都获益良多。更要感谢的是我的clover和千寻,没有他们的宽容、理解与支持,本书译稿不可能完成。虽然我已尽力传达原作本意并保证译稿的较高质量,但有时拼写错误、因版本升级而导致某些内容不再适用,甚至是囿于个人水平而犯错的情况再所难免。如果你发现了问题或有好的建议,请批评指正并不吝电邮提交至[email protected]或反馈至图灵社区。2014年2月28日于上海

⑨ Android编程权威指南的目录

第1章Android应用初体验11.1 应用基础21.2 创建Android项目21.3 Eclipse工作区导航51.4 用户界面设计61.4.1 视图层级结构91.4.2 组件属性101.4.3 创建字符串资源111.4.4 预览界面布局121.5 从布局XML到视图对象131.6 组件的实际应用151.6.1 类包组织导入161.6.2 引用组件161.6.3 设置监听器171.7 使用模拟器运行应用211.8 Android编译过程22第2章Android与MVC设计模式262.1 创建新类262.2 Android与MVC设计模式302.3 更新视图层312.4 更新控制层332.5 在设备上运行应用372.5.1 连接设备372.5.2 配置设备用于应用开发382.6 添加图标资源382.6.1 向项目中添加资源392.6.2 在XML文件中引用资源402.7 关于挑战练习412.8 挑战练习一:为TextView添加监听器412.9 挑战练习二:添加后退按钮422.10 挑战练习三:从按钮到图标按钮42第3章Activity的生命周期453.1 日志跟踪理解Activity生命周期463.1.1 输出日志信息463.1.2 使用 LogCat483.2 设备旋转与Activity生命周期523.3 设备旋转前保存数据563.4 再探Activity生命周期573.5 深入学习:测试onSaveInstanceState-(Bundle)方法593.6 深入学习:日志记录的级别与方法60第4章Android应用的调试624.1 DDMS应用调试透视图634.2 异常与栈跟踪644.2.1 诊断应用异常654.2.2 记录栈跟踪日志664.2.3 设置断点684.2.4 使用异常断点714.3 文件浏览器724.4 Android特有的调试工具734.4.1 使用Android Lint734.4.2 R类的问题74第5章第二个activity755.1 创建第二个activity765.1.1 创建新布局775.1.2 创建新的activity子类805.1.3 在manifest配置文件中声明activity815.1.4 为QuizActivity添加cheat按钮825.2 启动activity835.3 activity间的数据传递855.3.1 使用intent extra865.3.2 从子activity获取返回结果885.4 activity的使用与管理925.5 挑战练习95第6章Android SDK版本与兼容966.1 Android SDK版本966.2 Android编程与兼容性问题976.2.1 全新的系统版本——Honeycomb976.2.2 SDK最低版本996.2.3 SDK目标版本996.2.4 SDK编译版本996.2.5 安全添加新版本API中的代码1006.3 使用Android开发者文档1036.4 挑战练习:报告编译版本105第7章UI fragment与fragment 管理器1067.1 UI设计的灵活性需求1077.2 fragment的引入1077.3 着手开发CriminalIntent1087.3.1 创建新项目1107.3.2 fragment与支持库1127.3.3 创建Crime类1137.4 托管UI fragment1157.4.1 fragment的生命周期1157.4.2 托管的两种方式1167.4.3 定义容器视图1167.5 创建UI fragment1177.5.1 定义CrimeFragment的布局1187.5.2 创建CrimeFragment类1197.6 添加UI fragment到FragmentManager1227.6.1 fragment事务1237.6.2 FragmentManager与fragment生命周期1257.7 activity使用fragment的理由1277.8 深入学习:Honeycomb、ICS、Jelly Bean以及更高版本系统上的应用开发127第8章使用布局与组件创建用户界面1288.1 升级Crime类1288.2 更新布局1298.3 生成并使用组件1318.4 深入探讨XML布局属性1328.4.1 样式、主题及主题属性1328.4.2 dp、sp以及屏幕像素密度1338.4.3 Android开发设计原则1348.4.4 布局参数1358.4.5 边距与内边距1358.5 使用图形布局工具1368.5.1 添加新组件1388.5.2 属性视图中编辑组件属性1388.5.3 在框架视图中重新组织组件1398.5.4 更新子组件的布局参数1408.5.5android:layout_weight属性的工作原理1418.5.6 图形布局工具使用总结1428.5.7 组件ID与多种布局1428.6 挑战练习:日期格式化143第9章使用ListFragment显示列表1449.1 更新CriminalIntent应用的模型层1459.2 创建ListFragment1479.3 使用抽象activity托管fragment1499.3.1 通用的fragment托管布局1499.3.2 抽象activity类1509.4 ListFragment、ListView及ArrayAdapter1549.4.1 创建ArrayAdapter<T>类实例1579.4.2 响应列表项的点击事件1599.5 定制列表项1609.5.1 创建列表项布局1609.5.2 创建adapter子类162第10章使用fragment argument16510.1 从fragment中启动activity16510.1.1 附加extra信息16610.1.2 获取extra信息16710.1.3 使用Crime数据更新CrimeFragment视图16710.1.4 直接获取extra信息方式的缺点16910.2 fragment argument16910.2.1 附加argument给fragment16910.2.2 获取argument17010.3 重新加载显示列表项17110.4 通过fragment获取返回结果172第11章使用ViewPager17411.1 创建CrimePagerActivity17511.1.1 以代码的方式定义并产生布局17611.1.2 ViewPager与Pager-Adapter17711.1.3 整合配置并使用CrimePagerActivity17811.1.4 FragmentStatePager-Adapter与Fragment-PagerAdapter18011.2 深入学习:ViewPager的工作原理182第12章对话框18412.1 创建DialogFragment18612.1.1 显示DialogFragment18712.1.2 设置对话框的显示内容18812.2 fragment间的数据传递19012.2.1 传递数据给DatePicker-Fragment19112.2.2 返回数据给CrimeFragment19312.3 挑战练习:更多对话框198第13章使用MediaPlayer播放音频19913.1 添加资源20013.2 定义HelloMoonFragment布局文件20213.3 创建HelloMoonFragment20313.4 使用布局fragment20413.5 音频播放20513.6 挑战练习:暂停音频播放20813.7 深入学习:播放视频20813.8 挑战练习:在HelloMoon应用中播放视频208第14章fragment的保留20914.1 保留fragment实例20914.2 设备旋转与保留的fragment21014.3 保留的fragment:一切都完美了吗21214.4 设备旋转处理与onSaveInstance-State(Bundle)方法21214.5 深入学习:fragment引入前的设备旋转问题214第15章应用本地化21515.1 本地化资源21515.2 配置修饰符21615.2.1 可用资源优先级排定21715.2.2 多重配置修饰符21815.2.3 寻找最匹配的资源21915.3 更多资源使用原则及控制22015.3.1 资源命名22015.3.2 资源目录结构22015.4 测试备选资源221第16章操作栏22316.1 选项菜单22316.1.1 在XML文件中定义选项菜单22516.1.2 创建选项菜单22716.1.3 响应菜单项选择23016.2 实现层级式导航23216.2.1 启用应用图标的导航功能23216.2.2 响应向上按钮23316.3 可选菜单项23616.3.1 创建可选菜单XML文件23616.3.2 切换菜单项标题23716.3.3 “还有个问题”23816.4 挑战练习:用于列表的空视图239第17章存储与加载本地文件24117.1 CriminalIntent应用的数据存取24117.1.1 保存crime数据到JSON文件24217.1.2 从文件中读取crime数据24617.2 挑战练习:使用外部存储24817.3 深入学习:Android文件系统与Java I/O248第18章上下文菜单与上下文操作模式25018.1 定义上下文菜单资源25118.2 实施浮动上下文菜单25118.2.1 创建上下文菜单25118.2.2 为上下文菜单登记视图25218.2.3 响应菜单项选择25318.3 实施上下文操作模式25418.3.1 实现列表视图的多选操作25518.3.2 列表视图中的操作模式回调方法25618.3.3 改变已激活视图的显示背景25818.3.4 实现其他视图的上下文操作模式25918.4 兼容性问题:回退还是复制26018.5 挑战练习:在CrimeFragment视图中删除crime记录26118.6 深入学习:ActionBarSherlock26118.7 挑战练习:使用ActionBarSherlock26318.7.1 CriminalIntent应用中ABS的基本整合26418.7.2 ABS的深度整合26418.7.3 ABS的完全整合265第19章相机I:取景器26619.1 创建Fragment布局26719.2 创建CrimeCameraFragment26919.3 创建CrimeCameraActivity26919.4 使用相机API27119.4.1 打开并释放相机27119.4.2 SurfaceView、Surface-Holder与Surface27219.4.3 确定预览界面大小27619.4.4 启动CrimeCamera-Activity27719.5 深入学习:以命令行的方式运行activity281第20章相机 II:拍摄并处理照片28320.1 拍摄照片28320.1.1 实现相机回调方法28520.1.2 设置图片尺寸大小28820.2 返回数据给CrimeFragment28820.2.1 以接收返回值的方式启动CrimeCameraActivity28920.2.2 在CrimeCameraFragment中设置返回值29020.2.3 在CrimeFragment中获取照片文件名29020.3 更新模型层29120.3.1 新增Photo类29220.3.2 为Crime添加photo属性29320.3.3 设置photo属性29320.4 更新CrimeFragment的视图29420.4.1 添加ImageView组件29520.4.2 图像处理29620.5 在DialogFragment中显示大图片30020.6 挑战练习:Crime照片的显示方向30320.7 挑战练习:删除照片30320.8 深入学习:Android代码的废弃处理303第21章隐式intent30521.1 添加按钮组件30621.2 添加嫌疑人信息至模型层30721.3 使用格式化字符串30821.4 使用隐式intent30921.4.1 典型隐式intent的组成31021.4.2 发送陋习报告31121.4.3 获取联系人信息31321.4.4 检查可以响应的activity31621.5 挑战练习:又一个隐式intent317第22章Master-Detail用户界面31822.1 增加布局灵活性31922.1.1 修改SingleFragment-Activity32022.1.2 创建包含两个fragment容器的布局32022.1.3 使用别名资源32222.2 Activity:fragment的托管者32322.3 深入学习:设备屏幕尺寸的确定331第23章深入学习intent和任务33323.1 创建NerdLauncher项目33323.2 解析隐式intent33423.3 在运行时创建显式intent33723.4 任务与后退栈33823.5 使用NerdLauncher应用作为设备主屏幕34123.6 挑战练习:应用图标与任务重排34123.7 进程与任务341第24章样式与include标签的使用34324.1 创建RemoteControl项目34424.1.1 编码实现RemoteControl-Activity34424.1.2 创建RemoteControl-Fragment34524.2 使用样式消除重复代码34824.3 完善布局定义35024.4 深入学习:使用include与merge标签35324.5 挑战练习:样式的继承354第25章XML Drawable与9-Patches35525.1 XML drawable35625.2 state list drawable35825.3 layer list与inset drawable36025.4 使用9-patch图像362第26章HTTP与后台任务36826.1 创建PhotoGallery应用36926.2 网络连接基本37226.3 使用AsyncTask在后台线程上运行代码37326.4 线程与主线程37526.5 获取Flickr XML数据37726.6 从AsyncTask回到主线程38226.7 深入学习:再探AsyncTask38526.8 挑战练习:分页386第27章Looper、Handler与HandlerThread38727.1 设置GridView以显示图片38727.2 批量下载缩略图39027.3 与主线程通信39027.4 创建并启动后台线程39127.5 Message与message Handler39327.5.1 消息的剖析39327.5.2 Handler的剖析39327.5.3 使用handler39527.5.4 传递handler39727.6 深入学习:AsyncTask与Thread40127.7 挑战练习:预加载以及缓存401第28章搜索40228.1 搜索Flickr网站40228.2 搜索对话框40428.2.1 创建搜索界面40428.2.2 可搜索的activity40628.2.3 物理搜索键40828.2.4 搜索的工作原理40928.2.5 启动模式与新的intent8.2.6 使用shared preferences实现轻量级数据存储41228.3 在Android 3.0以后版本的设备上使用SearchView41428.4 挑战练习416第29章后台服务41729.1 创建IntentService41729.2 服务的作用41929.3 查找最新返回结果42129.4 使用AlarmManager延迟运行服务42229.4.1 PendingIntent42429.4.2 使用PendingIntent管理定时器42429.5 控制定时器42529.6 通知信息42829.7 深入学习:服务细节内容42929.7.1 服务的能与不能43029.7.2 服务的生命周期43029.7.3 non-sticky服务43029.7.4 sticky服务43129.7.5 绑定服务431第30章broadcast Intent43330.1 随设备重启而重启的定时器43330.1.1 配置文件中的broadcast receiver43430.1.2 如何使用receiver43530.2 过滤前台通知消息43630.2.1 发送broadcast intent43730.2.2 动态broadcast receiver43730.2.3 使用私有权限44030.2.4 使用ordered broadcast接收结果44230.3 receiver与长时运行任务446第31章网页浏览44731.1 最后一段Flickr数据44731.2 简单方式:使用隐式intent44831.3 较难方式:使用WebView44931.3.1 使用WebChromeClient优化WebView的显示45331.3.2 处理WebView的设备旋转问题45531.4 深入学习:注入JavaScript对象456第32章定制视图与触摸事件45732.1 创建DragAndDraw项目45732.1.1 创建DragAndDraw-Activity45832.1.2 创建DragAndDraw-Fragment45932.2 创建定制视图46032.3 处理触摸事件46232.4 onDraw(...)方法内的图形绘制46532.5 挑战练习:设备旋转问题467第33章跟踪设备的地理位置46833.1 启动RunTracker项目46833.1.1 创建RunActivity46933.1.2 创建RunFragment47033.2 地理位置与LocationManager47233.3 接收定位数据更新broadcast47433.4 使用定位数据刷新UI显示47533.5 快速定位:最近一次地理位置47933.6 在物理和虚拟设备上测试地理位置定位480第34章使用SQLite本地数据库48234.1 在数据库中存储旅程和地理位置信息48234.2 查询数据库中的旅程列表48834.3 使用CursorAdapter显示旅程列表49034.4 创建新旅程49334.5 管理现有旅程49434.6 挑战练习:识别当前跟踪的旅程500第35章使用Loader加载异步数据50135.1 Loader与LoaderManager50135.2 在RunTracker应用中使用Loader50235.3 加载旅程列表50335.4 加载单个旅程50635.5 加载旅程的最近一次地理位置509第36章使用地图51136.1 添加Maps API给RunTracker应用51136.1.1 使用物理设备测试地图51136.1.2 安装使用Google Play services SDK51136.1.3 获取Google Maps API key51236.1.4 更新RunTracker应用的manifest配置文件51236.2 在地图上显示用户的地理位置51336.3 显示旅程路线51636.4 为旅程添加开始和结束地图标注52036.5 挑战练习:实时数据更新521第37章编后语52237.1 终极挑战52237.2 关于我们52337.3 致谢523

热点内容
加密文件编号 发布:2025-01-15 21:56:56 浏览:436
sql语句的或者 发布:2025-01-15 21:51:20 浏览:870
安卓版的车工计算是哪里出版的 发布:2025-01-15 21:47:29 浏览:406
我的世界电脑版进pe服务器 发布:2025-01-15 21:33:57 浏览:295
网页游戏吃什么配置 发布:2025-01-15 21:27:58 浏览:66
安卓怎么转移数据华为 发布:2025-01-15 21:03:02 浏览:141
软件打印反馈单脚本错误 发布:2025-01-15 21:01:24 浏览:179
如何进cs里的练枪服务器 发布:2025-01-15 21:00:07 浏览:980
苹果手机存储芯片 发布:2025-01-15 20:52:02 浏览:163
盲人读屏软件安卓哪个好 发布:2025-01-15 20:47:13 浏览:729