http://radar.oreilly.com/2011/02/2010-book-market-2.html
Mike Hendrickson
2011-2-14

在这一部分,我们按照技术门类来分析一下计算机图书的销售情况。

在上一部分,我们把数据分成六大“门类”:系统与程序设计、Web设计与开发、商业应用、数字媒体应用、消费者操作系统与设备、IT人文(Computer Topics)。

这六大门类下面,是一级分类、二级分类、三级分类、四级分类,一共5层。比如说,系统与程序设计门类下面的一级分类有编程语言、数据库、软件工程、通用程序设计、安全,等等。

本部分将对比2010年与2009年的第四季度,也会将2010年与2009年的情况进行对比。

为了方便起见,下面给出了上一部分中展示过的Treemap,其中包含各个门类与一级门类2010年与2009年第四季度的对比。

这张图中的红、绿、黑色方块基本上反映了市场的波动情况。其中,代表高度增长领域的浅绿色方块非常少。但不要忘了这是2010年第四季度与2009年第四季度的对比。两个最大、最亮的绿色区域是“Android编程”和“Android消费者应用”,这两类图书从2008年微不足道的小方块成长为2010年相当可观的大市场。
查看全文 »

Eclipse 3.4 (Ganymede) Eclipse 3.5 (Galileo)
  1. 启动 Eclipse,然后选择 Help > Software Updates…。在出现的对话框中,单击 Available Software 选项卡。
  2. 单击 Add Site…
  3. 在 Add Site 对话框的 Location 字段中输入下面的 URL:https://dl-ssl.google.com/android/eclipse/ 注意:如果访问该插件时遇到问题,可以将 URL 中的 https 改成 http(使用https会更安全一些)。单击 OK
  4. 回到 Available Software 界面,应该可以看到 URL 中包含的插件列表,其中有 Developer Tools 一项。选择 Developer Tools 旁边的复选框,单击 Install…。
  5. 在接来下出现的安装窗口中,应该会出现被选中的 Android DDMS 和 Android Development Tools。单击 Next
  6. 阅读并接受许可协议,然后单击 Finish
  7. 重新启动 Eclipse。
  1. 启动 Eclipse,然后选择 Help > Install New Software
  2. 在 Available Software 对话框中,单击 Add…
  3. 在 Add Site 对话框的 Name 字段中,输入远程站点的名称(例如“Android Plugin”)。在 Location 字段中,输入下面的 URL:https://dl-ssl.google.com/android/eclipse/注意:如果访 问该插件时遇到问题,可以将 URL 中的 https 改成 http(使用https会更安全一些)。单击 OK
  4. 回到 Available Software 界面,应该可以看到列表中的 Developer Tools 选项。选择 Developer Tools 旁边的复选框,会同时选中 Android DDMS 和 Android Development Tools。单击 Next
  5. 在最后的 Install Details 对话框中,会列出 Android DDMS 和 Android Development Tools 等特性。单击 Next 阅读并接受许可协议,同时安装所有依赖组件,然后单击 Finish
  6. 重新启动 Eclipse。

* 译自http://developer.android.com/sdk/eclipse-adt.html

眼下,我正在翻译Beginning Android 2(Apress,March 2010)这本书。之所以翻译这本书,一来是因为这本书比较急,而全书又有接近400页的内容需要翻译,如果找其他译者,少说得3个月;而我打算在1个月左右搞定。二来也是为了学习一下Android开发,以后审稿子也可以做到“胸有成竹”。

之所以想到公开征寻技术审稿人,一是上一本书的样章吸引了120多位朋友的热情参与(“经典名著,精选样章”),几位热心的朋友在出版前也为我指出了一些问题,而这些问题在出版前都得到了妥善解决,保证了最终出书的质量;二是在今天这个开放的环境下,如果还延续那种一个人关起门来翻译的模式,不仅会显得译者自己缺乏公开的勇气,更会拖延译稿中问题的解决(译者无法解决书中全部问题很正常),影响出书进度。况且,样章早晚都是要放出来给潜在读者先睹为快的,后放不如早放,这样也有利于潜在读者提前了解这本书的价值所在和翻译质量——“先尝后买”嘛。

当然,征寻技术审稿人的主要目的,还是为了请领域专家来给译稿把关,尽最大努力来消除翻译中存在的错误或问题,确保最终出书的质量。下面就说一说对技术审稿人的要求:

1、对Android开发有浓厚的兴趣和一定的开发经验;
2、愿意花时间“先睹为快”并有能力指出错误和问题;
3、有一定的中文文字表达能力,能够看懂英文原文。

有意参与这本书技术审校的朋友,请给我发邮件(lsf.email[at]gmail.com)吧,邮件标题请填“Beginning Android 2审校”(以便过滤归类)。

声明一下:对所有参与审校的朋友,我会在译者序中具名致谢。对参与审校而且指出问题较多的朋友,届时将赠送样书(样书可以是本书中文版,或者我翻译过的其他图书,或者图灵公司出版的其他图书——届时我们可以再商量)

另外,对于只是想“先睹为快”的朋友,也可以给我发邮件,邮件标题请填“Beginning Android 2试读”,我会给大家共享部分样章。

期待Android开发专家、高手、大牛、爱好者,伸出援手、不吝赐教!让我们共同携手,为Android开发社区和爱好者又快又好地奉献一本优秀的引进版图书。

Beginning Android 2

Beginning Android 2

配置完Android开发环境后,遇到两个问题,一个属于非技术问题,另一个属于技术问题。

先说非技术问题。

很简单,启动Android模拟器(需要先创建AVD)时,先看到的是一个文本界面,我一开始以为自己的配置出了什么问题。迷惑了大半天,晚上从外面吃饭回来,突然想起来《Android基础教程》(人民邮电出版社,2009年11月)中有一段提示:“启动模拟器需要花较长时间。可以这样想象一下——首次开机时,手机也需要启动,就像任何计算机系统一样。关闭模拟器就像是关闭手机或取出手机电池一样。”会不会是我太着急了?应该有点耐心才好。于是,我重新启动模拟器,耐心等待……大约3分钟后,终于看到Android的图形用户界面,OK。

正好《Beginning Android 2》这本书中也有一段相关的话:NOTE: The first time you use an AVD with the emulator, it will take substantially longer to start than it will subsequent times.(注意:第一次使用AVD来启动模拟器的时间会比较长,后续的启动速度会有所提升。)

再说技术问题。

前面只是解决了启动模拟器的问题,接下来就是要在模拟器中实际地加载新应用程序并进行测试。但是,我新创建了FirstApp应用程序,在通过Eclipse运行该项目时(也可以在命令行中使用ant构建项目,然后运行android命令,再启动模拟器;不过,这需要再下载其他软件包),提示出错,错误信息如下:

1. Project “FirstApp” is missing required source folder: ‘gen’
2. The project could not be built until buid path errors are resolved.

在网上搜索到几个解决方案(列在下面,供朋友们参考)。但奇怪的是,在刚搜索到第一个方案时,还没等到采取任何措施,Eclipse中的错误居然自动消失了(FirstApp项目下方的红叉也不见了),再Run as Android Application,一切正常了。我想,也许正如第三个方案中某人所说的,Eclipse并不能实时检测到OS文件系统的变化(编译项目时,会生成新文件),这也许就是导致这个技术问题的原因——至于是不是这个原因,还有待于进一步求证。

一、右击项目,选择preferences->builder,在右边的configure一栏中将Android Packege Builder一项提到Java Builer之前
出处:http://www.androidin.net/bbs/thread-708-11-1.html

二、将Eclipse自动生成的R.java删掉,刷新项目,R.java便会重新生成
出处:http://www.blogjava.net/crazycoding/archive/2010/03/27/316701.html

三、在项目文件夹中新创建一个Java类或者直接修改自动生成的类文件
出处:http://www.coderanch.com/t/466092/Android/Mobile/android-eclipse

以下是几个人的回复,感觉这种讨论的技术氛围很不错。今天太晚了,明天天亮还要去平谷,回来再翻译。

James Dixon的回复
Hi Divya
I’ve had the same problem as well. I think the issue is that the project creation does not initiate a build when it finishes, so you need to make a change, and save for it to generate the gen folder.
For me creating a new java class seemed to do the trick, but I’d imagine just making a change to a file and saving should work too.

Robert F. Howard的回复
I just ran into this, too. I am following the example in Hello Android, which I assume is what the others in this thread were doing. James’s solution (editing the source file) worked for me, so thank you for that.
So your solution is good, but I don’t think I totally believe the diagnosis. The thing is, the directory actually did exist before I edited the file and rebuilt. This is my first time using Eclipse, and it’s very disappointing. The error message should specify the full path of the directory it wants, and then it should be possible to create the directory and re-build, but it doesn’t work until the source file is edited. It makes me wonder what is really going on inside Eclipse.

Tim Holloway的回复
This seems to be a small glitch courtesy of Eclipse’s distancing itself from the OS filesystem (which is why Eclipse has an explicit Refresh command).
The gen folder and the “R.java” file are built by one of the Android utilities. The Eclipse Android plugin invokes this app, but it doesn’t always know when it needs to. I have similar problems when I want to define a new resource ID. Since I can’t seem to get the GUI resource ID definer to enable itself, I just create new IDs in the resource files themselves. But unless I trigger the android resource generator, they don’t get inserted into “R.java”.
And you don’t want to manually insert into “R.java”, because when the resource compiler does fire off, your code mods will be overwritten.
One way to force the issue is to select the Project/Clean menu command. If you have the automatic build switched off, you’ll then have to initiate a build. Otherwise the clean will fire off the auto-build process.

在本文写作时,Android SDK的最新版本是2.1。现在,我们来看一看如何在Windows平台下构建Android 2.1开发环境。

先期需要下载的软件包如下:

1、JDK 1.6+
2、Android SDK 1.6
3、Android SDK Setup
4、Eclipse IDE for Java Developers

看到这些,可能心急的朋友会禁不住问:“不是要构建Android 2.1开发环境吗?怎么还要下载Android SDK 1.6而不是2.1呢?”

没错,是要讲怎么构建Android 2.1开发环境。但是,经过几次尝试,我发现直接下载安装Android SDK 2.0和2.1有问题。什么问题?简单地说,就是这两个最新版本的SDK包中都不包含adb.exe文件,无法在Eclipse中指定Android SDK的位置(也就意味着没法使用Eclipse来开发)。因此,这才走了一条曲线救国的道路;也许,正如我自己的尝试所证实的:Android SDK 2.0和2.1实际上都是升级包,而不是完整的开发包。我比较了一下,Android SDK 2.0和2.1的大小分别是76.6MB和77.3MB,而Android SDK 1.6的大小则是248MB,相差还是很悬殊的,这一点似乎也佐证了我的判断。但是,不管怎样,先下载Android SDK 1.6,然后再通过ADT(Android Developer Tools,Android开发人员工具)和Android SDK Setup程序来下载和更新Android SDK 2.0和2.1,是成功了。

闲话少说,言归正传。

首先,访问http://java.sun.com/javase/downloads/widget/jdk6.jsp
下载Java SE Development Kit 6u20(jdk-6u20-windows-i586.exe)
文件大小76.67 MB。

其次,访问http://dl.google.com/android/archives/android-sdk-windows-1.6_r1.zip
下载Android SDK 1.6(android-sdk-windows-1.6_r1.zip)
文件大小248M。

然后,访问http://dl.google.com/android/android-sdk_r04-windows.zip
下载Android SDK Setup(android-sdk_r04-windows.zip)
文件大小22MB。

最后,访问http://www.eclipse.org/downloads/
下载Eclipse IDE for Java Developers(eclipse-java-galileo-SR2-win32.zip)
文件大小92.7MB。

下载完成后,开始安装和配置。

第一步,安装和配置JDK。

下载后,双击运行jdk-6u20-windows-i586.exe,假设选择安装到C:\Java\jdk1.6.0_20目录下(当然,安装到默认路径下也没有问题)。安装完毕后,就是配置环境变量。步骤如下:

(1)设置JAVA路径

在“我的电脑”上点右键,选“属性”,打开“系统属性”对话框,点“高级”选项卡,再点“环境变量”按钮,在打开的对话框中的“系统变量”下方,点“新建”,然后在对话框中的“变量名”中填JAVA_HOME,在“变量值”中填C:\Java\jdk1.6.0_20,点“确定”。

(2)设置CLASS路径

再“新建”一个系统变量,在“变量名”中填CLASSPATH,在“变量值”中填.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。
说明:最开始的.;中的.(点)表示当前路径,;(分号)是路径分隔符。接下来的%JAVA_HOME%引用的是前面刚创建的JAVA安装路径。

(3)设置PATH路径

PATH变量一般都有了,因此选中点“编辑”,然后在“变量值”后面加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,注意前面的分号。

这样,JDK就安装好。“开始->运行”,输入cmd,然后在命令行提示符中输入:java -version,应该能够看到java version “1.6.0_20″信息;JDK安装成功。

第二步,解压和配置Android SDK 1.6

将下载到的android-sdk-windows-1.6_r1.zip解压缩到C:\android-sdk-windows-1.6_r1目录中(解压到哪个目录都没有问题)。然后,配置环境变量。步骤如下:

(1)设置Android路径

重复第一步的(1),新建一个“系统变量”,在“变量名”中填Android_Home(大小写没有问题),在“变量值”加填C:\android-sdk-windows-1.6_r1。

(2)设置PATH路径

“编辑”PATH变量,在“变量值”后面加上;%Android_Home%\tools,注意前面的分号。

这样,Android SDK 1.6就安装好了。“开始->运行”,输入cmd,然后在命令行提示符中输入:android -help,应该能够看到帮助信息;Android SDK 1.6安装成功。

第三步,解压Eclipse,关联Android SDK,安装ADT

将下载到的eclipse-java-galileo-SR2-win32.zip解压缩到C:\eclipse,然后进入这个文件夹,双击eclipse.exe,启动Eclipse。

安装ADT:菜单“Help -> Install New Software…”,打开Install对话框,点击Add…按钮,添加站点(Add Site),在Name中填ADT,在Location中填https://dl-ssl.google.com/android/eclipse/。然后,下载安装ADT。

关联Adnroid SDK:菜单“Windows->Preferences”,打开Preferences对话框,点击Android,在右侧的Android Reference中,点SDK Location文本框右侧的Browse…按钮,找到C:\android-sdk-windows-1.6_r1,“确定”。

第四步,解压Android SDK Setup,下载更新Android SDK 2.0和2.1

将下载到的android-sdk_r04-windows.zip解压缩到C:\android-sdk-windows,然后进入这个文件夹,双击SDK Setup.exe,启动Android SDK and AVD Manager,选中左侧Settings项,然后在右侧面板选中Force https://… sources to be fetched using http://,然后选择Save & Apply。然后,参见这里的图解:

如何使用Android SDK Setup? http://www.android123.com.cn/zhongwensdk/366.html

我选择了所有需要更新的内容,包括:

  • Android SDK Tools, revision 5
  • Documentation for Android SDK, API 7, revision 1
  • SDK Platform Android 2.1, API 7 revision 1
  • Sapmles for SDK API 7, revision 1
  • SDK Platform Android 2.0.1, API 6, revision 1

耐心等待吧——注意,如果更新过程有提示,可能是因为你正在使用C:\android-sdk-windows-1.6_r1目录,或者杀毒软件不允许改写其中的文件,此时需要退出所有程序或暂时关闭杀毒软件。

一切顺利的话,到此Android 2.1开发环境(或者说,Android 1.6、2.0和2.1的开发环境)就构建好了。

附录:

Android开发包及相关软件下载地址
http://www.android123.com.cn/android_kit.html

鸣谢:http://www.android123.com.cn/

Google最近发布了集成Android OS的LiveCD,操作系统目前版本为0.2。对于没有Google手机的用户而言,现在也可以通过PC,或者虚拟机来体验这款“千呼万唤始出来”的移动操作系统了。

所谓LiveCD,就是一张位于光盘上的完整的操作系统。Google提供的LiveAndroid是一个ISO文件,下载以后可以将其虚拟到一个光驱中,然后在虚拟计算机里选择该光驱为启动盘,就可以启动Google Android OS了;或者,如果有刻录机,也不嫌麻烦,当然也可以将这个ISO文件刻录成光盘,放在光驱里,然后重新启动计算机,选择从该光驱启动,也可以进入Google Android OS。很简单——这就是LiveCD!

我使用的是前几天下载的VirtualBox 3.0.2(http://www.virtualbox.org/wiki/Downloads),这是一款开源的虚拟机软件,只有67.8MB。安装、设置、启动,都非常简单,不用说了。我为Android新建的“电脑”配置为内存256MB,硬盘2.0G,呵呵,对于一款手机操作系统而言,这算不算奢侈啊?

然后,从LiveAndroid的站点(http://code.google.com/p/live-android/)下载torrent文件(BT种子)。使用迅雷下载这个liveandroidv0.2.iso,文件大小为174MB,我家是1M的ADSL,用时大约40分钟——这段时间里,我安装VirtualBox并新建了虚拟电脑,而且还在Google Translator Toolkit中简单翻译了一下LiveAndroid的README(自述文件——附后)。好了,上截图吧。
第一张,启动VirtualBox后

android_virtualbox

第二张,启动虚拟电脑
android_virtualbox_startup
查看全文 »