在开始学习Android开发之前,让我们先来了解一个有趣的Android小知识:Android一词最早出现于法国作家利尔亚当在1886年发表的科幻小说《未来夏娃》中,书中将外表像人的机器起名为Android(不知道是不是和Angel同
在本章中,我们实际上讨论了几个前期问题:为什么要学习Android移动互联网应用开发?为什么要使用Android和PHP的架构来进行开发?如何学习?相信现在大家都已经找到自己的答案了,那么在以下的章节中我们就要开始
也许在以前,同时学习Android系统和PHP语言是一件很不可思议的事情,但是,在有了本书之后,同时学好这两种主流的技术不再只是一个梦想。当然,我们更不用怀疑,能同时学好Android和PHP两种技术绝对是一件一举两
可能很多人会认为PHP学起来比较简单,事实也确实如此,但是这并不意味着我们可以很轻易地掌握使用PHP进行服务端开发的技巧。由于服务端编程涉及的知识面比较广,除了编程语言本身,还需要和很多的服务端组件打交
由于Android学习是本书最核心的内容,因此我们先来分析。由于Android应用框架是基于Java语言的,所以在学习Android之前,最理想的状态是您已经具有一定的Java语言编程基础,对Java语言的常用语法和常用类包(pac
前面我们已经讨论过为何学的问题,大家应该对Android加PHP这套应用开发解决方案有了大致的了解。接下来介绍如何学的问题,由于本书的内容比较广泛,既涉及客户端开发的技术也包含很多服务端开发的内容,所以在正
稳定性:毫无疑问,PHP已经是目前互联网服务端使用最广泛的编程语言之一,目前PHP在互联网应用领域的占有率位居全球第一。试问,如果本身不够成熟和稳定,如何能占有如此大的市场呢?易用性:简单实用,学习成
开放性:毫无疑问,Android平台的开放性就是它在短时间内能占领市场的最强武器之一。Google希望通过Android平台打通运营商、设备制造商、开发商以及其他各个层面,建立起标准化、开放式的移动平台生态系统。完
我们为何要选择Android和PHP这套解决方案呢?原因已经不言而喻。时至今日,Android和PHP已经发展成为移动领域和互联网领域最领先的技术方案之一。我们还关注到一个很有意思的数据,那就是这两种技术的市场占有率
早在2011年,Android操作系统就已经占领了全球智能手机市场份额的半壁江山,到了2014年,更是占领了全球80%以上的市场份额(如图1-1所示),其霸主地位彰显无遗。在中国,随着各大手机厂商的更新换代,在Android
在学习任何知识之前,做好准备工作是非常有必要的。在本章,我们先来了解一下目前正如火如荼的移动互联网时代的大背景,然后我们会讲清楚我们为何要学习Android和PHP这套组合方案,以及学习Android和PHP开发的大
前言第一篇 准 备 篇第1章 学前必读 11 1 移动互联网时代的来临 11 2 为何选择Android和PHP 21 2 1 Android平台的优势 21 2 2 PHP语言的优势 21 3 如何学习Android和PHP 31
2015年,移动互联网革命已经到了白热化的阶段,一个充满机遇的巨大市场已经开启,全球无数的行业精英都已投身其中,书写出不少令人瞩目的传奇事迹;对于我们普通的开发者来说,则更需要做好准备,迎接随时可能到
本书是国内第一本同时讲述Android客户端和PHP服务端开发的经典著作。本书以一个完整的微博应用项目实例为主线,由浅入深地讲解了Android客户端开发和PHP服务端开发的思路和技巧。从前期的产品设计、架构设计,到
这一章介绍了AudioService的几个重要的功能,相信大家通过这章对Audio系统在 Java Famework 层面所做的事情有了一个比较深入的了解。由于AudioService的功能太过繁杂,本章只能将几个有代表意义并且实际接触比
这一章已经介绍了音量控制、外设管理及AudioFocus几个常用重要功能的实现。然而,AudioService仍然有很多其他相互独立的功能。限于篇幅,这里没有办法一一详细说明。在这里简单介绍一下,以便读者自行研究。(1)
这一节学习了AudioFocus机制的工作原理。AudioFocus机制有三部分内容:申请、释放与回调通知,这些内容都是围绕一个名为mFocusStack的栈完成的。在对代码的分析过程中,可以看到AudioFocus基本上是自成一个小的系
先看AudioManager的anbandonAudioFocus()函数,从这个函数中可以看出,向Audio-Service申请释放AudioFocus需要提供两个证件:mAudioFocusDispatcher和AudioFocus-ChangeListener的ID。[AudioManager java-->Audi
先看一下AudioFocus的申请过程。[AudioManager java-->AudioManager requestAudioFocus()]public int requestAudioFocus(OnAudioFocusChangeListener l,
看了前面的示例代码,可以推断出,AudioFocus的实现基础应该是一个栈。栈顶的使用者拥有AudioFocus。在申请AudioFocus成功时,申请者被放置在栈顶,同时,通知之前在栈顶的使用者,告诉它新的申请者抢走了AudioF