第一章 Android 概述------------The Busy Coder's Guide to Android Development

第一部       核心概念

 

第一章   Android概述

 

笼统地讲, Android设备就是手机。有时 Android设备也被用在其他领域,比如车载 PCs,但大多情况,你可以认为 Android 在手机上使用。

对于 Android开发人员来说,认为 Android设备就是手机有好处,也有缺陷。

2008年, Android风格的智能手机( smartphone)很迷人( sexy)。通过移动设备提供 Internet服务可以追溯到 90年代中期的手持设备标记语言( handled device markup language HDML .然而,仅仅在最近几年,手机才有访问 Internet 的能力。现在,由于文本信息的趋势和诸如 Apple’s iPhone这样的产品,手机作为 Internet 访问设备快速的流行。所以,致力于 Android应用程序的开发会给你带来新的技术的体验,这种技术处于快速变化的市场中,非常有趣。

但是,当你开始在这个讨厌的( darn )东西上编程的时候,问题随之而来。

任何人只要有在手机或者 PDAs上编程经验,都会感受到这种痛苦,就是所有东西都很“小”。

¨   屏幕很小(不可能发生这样的事情,“你扣代里面装着一个 24英寸的 LCD 或者”)

¨   键盘很小,如果有键盘的话

¨   触摸设备小,( Pointing device ),如果有人丢了手写笔( stylus ,用手指去点击 LCD屏幕,很不精确

¨   CPU和存储很小,如果和台式机和服务器相比, CPU和存储的使用很紧张

¨   开发语言和框架范围小,你可以使用任何编程语言和框架,但是必须是设备制造商选好的并且已经嵌入在手机的半导体里面

¨   等等

此外,运行在手机上的程序必须面对它们是在手机上运行这个事实。

当手机不能工作,人们会变得非常愤怒,这就是为什么 Verizon Wireless 广告“喂喂,你能听清楚吗?”在过去几年非常流行的原因(原来外国也有这样的广告,北京版的是“喂喂,我操”)。同样,如果我们的程序使人们的手机不能正常工作,他们也会非常生气。

¨   由于耗尽 CPU导致电话不能接听

¨   由于和你的手机 OS工作不协调,导致手机不能正常工作,例如,当有电话打进来或者当前程序需要和其他程序切换时,你的手机应用程序不能安静的转入后台

¨   由于内存泄漏,导致手机 OS 崩溃

因此,开发手机程序和开发桌面应用程序, Web应用程序或者服务器端程序大不相同。当你使用不同的开发工具,不同的框架和使用不习惯的限制开发手机应用程序时,你可能会有点紧张。

Android所要做的就是为你解决这些问题

¨   你可以使用通用的编程语言和通用的库(比如一些 Apache通用 APIs ,使用你所习惯的开发工具( Eclipse

¨   你可以使用一个相当稳定的和非同寻常框架,你的程序运行在这个框架里,会成为一个“好市民”,它不会打扰其他程序或者手机的操作

     如你所料,这本书的大部分涉及这个框架和如何在这个框架的限制内开发程序,利用这个框架的功能。

 

Android 程序的构成

     当你编写一个桌面应用程序,你控制着你的领域,你可以启动你需要的主窗口和子窗口,比如对话框。从你的立场看,你拥有整个世界,使用着操作系统给你功能,但是几乎忽略了同时在电脑上的其他程序。如果你想要和其他程序交互,典型的方法是通过 API,比如使用 JDBC(或者在此之上的框架 ) 去和 MySQL或者其他数据库交互。

     Android有着同样的概念,但是由于结构( packaged )不同,它可以使手机工作更加稳定。

 

Activities

     Activity就是组成用户界面的基本块。你可以把 Android Activity 看作是桌面应用程序的窗口或对话框。

    假如一个 Activity 没有包含一个用户接口,最可能的原因是由于不小心, Activity 的代码被打包进 Content provider 或者 Service 里面。 Content Providers Service 将在下面描述。

 

Content Providers

     Content Provider 为设备上的数据存储提供了一个抽象层,这些存储的数据可能被多个应用程序使用。 Android 开发模型鼓励不同的应用程序可以共享数据, Content provider既可以帮助你做到共享数据,同时也可以帮你完全控制数据的访问方式。

 

Intents

     Intents 是系统消息,他通知应用程序各种事件的发生,例如硬件状态的改变(插入 SD卡)和接收到数据(收到短消息),例如应用程序的事件( Activity从设备的主菜单装载)。你不仅可以响应 Intent,还可以创建你自己的 Intent来装载其他的 Activity或提醒自己一个特殊情况的发生(比如当用户进入某个地区 100米,就发出一个 Intent

 

Services

     Activity, Content provider Intent Receiver 生存周期都很短,可以在任何时间被关闭。而 Service被设计用来长时间运行,如果需要可以不依赖于 Activity独立运行。在没有控制 Activity 运行的情况,你可以用 Service 来检查 RSS feed的更新,或者来播放背景音乐。

 

其他有用的概念

 

存储

对于那些不改变的数据,比如图标和帮助文件,你可以把他们和你的应用程序打包在一起。你也可以在设备上开辟出一小块空间,用数据库或者文件来存储用户输入或需要的数据。如果用户提供大块的存储空间比如 SD卡,你也可以在需要的时候读写它们。

 

网络

总的来说, Android通过各种访问介质,为访问 Internet提供方便。你可以随心所欲的在任何一层访问 Internt, 从原始套接口( raw java sockets)到内置的基于 Webkit 浏览器 widget都可以内嵌到你的应用程序。

 

多媒体

Android 设备有播放和录制音频和视频的能力。当然每台设备的特点不同,你可以先熟悉设备的音频视频能力,然后适当使用,比如用它来播放音乐,用摄像头拍照或者用麦克风来 audio note-taking .

 

GSP

Android 设备将会频繁的访问位置提供设备( location provider )。 比如 GPS,他们可以告诉你的应用程序你在地球上的什么位置。同时,你可以使用地图或者用其他方法是用位置数据,例如,你的手机被偷了,你可以利用位置信息来追踪你的手机。

 

电话服务

当然, Android手机是典型的电话,你可以使用它来接打电话,收发短信或者用它来做其他现代手机可以做的事情。

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
The Busy Coder's Guide to Android Development: Version 8.2 Supports Through Android 7.1 2017 | English | ASIN: B06Y4TCV7F | 756 pages | PDF + EPUB (conv) | 63 Mb Do you want current information about how to develop Android apps? This book covers the latest Android Studio version and the latest version of Android, plus all the information you need to get your apps working on older devices. And, with updates coming every couple of months via the Warescription, you will keep up to date. What’s New in Version 8.2? For those of you who have read previous editions of this book, here are some of the highlights of what is new in the prose in Version 8.2: Added a chapter on the basics of using RxJava Added a chapter on viewing PDFs, including embedding PDF viewers in your app Added a chapter on advanced RecyclerView techniques, starting with using RecyclerView to replace a ViewPager for page-at-a-time user interfaces Removed the appendix focusing on Android 7.0’s changes, with that material being moved into appropriate chapters of the book Various miscellaneous improvements and errata fixes This update also uses two different font sizes for code listings, employing a larger font for listings whose lines are all fairly short, to help improve readabililty. Due to a change in the publication process, links between chapters are showing up with changebars in this version. This should be a one-time issue, not affecting future versions of the book. Also, the APK edition of the book has a new appinar on Android 7.0’s changes to notifications.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值