论坛首页 移动开发技术论坛

垃圾书:杨丰盛的《Android应用开发揭秘》

浏览 119202 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-03-30   最后修改:2011-03-30
这书刚出没多久就买了,草草翻了一遍,感觉一般,送人了……
还是自己翻翻文档 + Google 实在

============================
为什么每次有人要开炮,总有人要一副 老好人状 呢?!!!
0 请登录后投票
   发表时间:2011-03-30  
旗帜鲜明的支持楼主,敢写书,还敢出版,还赚钱了,不见得不让人家评论了吧。
0 请登录后投票
   发表时间:2011-03-30  
我觉得适可而止吧,不用纠住不放了。

写本书是很不容易。也有编辑约我写书,也曾想下手,最后想想要顾及的地方太多,所有的例子都要亲自验证,还要尽可能挑最正确的写法。劳神耗时,而版费一年下来正常销量的话也就小几万。想想还是放弃了。

楼主贴的那个循环代码确实没啥用处,但也不会造成什么问题就是,属画蛇添足。所以论严重性的话,正如楼上所说,只能算Minor Bug。因为只看产品功能不看代码的话,测试会让它通过的。只是代码写法不是太好。

从作者角度讲,被人纠住个有点低级的代码错误,确实有点尴尬。我们自己写代码其实也是啊,所以善意提醒一下即可。
0 请登录后投票
   发表时间:2011-03-30  
关键是国内的“作者”就喜欢CTRL+C CTRL+V
0 请登录后投票
   发表时间:2011-03-30   最后修改:2011-03-30
google "_discoveryFinished" 过来的, 我牛吧

另外希望楼主推荐本android的书。
0 请登录后投票
   发表时间:2011-03-30  
书中的代码只是为了演示功能的。一般并不会太健壮。任何作者都不会像做项目一样做例子的,否则代码会很多。国外的书的代码也是一样。只是为了演示一下功能而已。容错性并不好。如果要求太完美,恐怕会很失望的。如果楼主水平很高的话。不需要再买书了。直接看官方文档更好。
0 请登录后投票
   发表时间:2011-03-30  
I just downloaded this bluetooth discovery source code, here is how to start the thread:
		/* 显示一个对话框,正在搜索蓝牙设备 */
                SamplesUtils.indeterminate(DiscoveryActivity.this, _handler, "Scanning...",
                    _discoveryWorkder, new OnDismissListener() {
			public void onDismiss(DialogInterface dialog)
			{

				for (; _bluetooth.isDiscovering();)
				{

					_bluetooth.cancelDiscovery();
				}

				_discoveryFinished = true;
			}
		}, true);


it seems we need to keep bluetooth discovery thread alive during discovering. if there is no that loop, the message "scanning" will not be shown or be shown in very short time.

Is there other person interested in testing this case in your android phone? first test the code with loop, then comment out that loop and try again.

0 请登录后投票
   发表时间:2011-03-31  
我不知道何种原因,cloixio兄现在不出来回帖了!
因为cloixio兄始终对这个问题纠结着,我30日找到以前的代码运行测试了N次,结果和kangfu兄说的情况一样。
鉴于此次cloixio兄的“炮轰”,对作者及出版社影响甚大,在我得测试结果之后,我并没有上来回帖,而是联系了出版社的编辑,希望编辑能先私下联系cloixio兄本人,同时(编辑也另外又找了几个Android方面比较有经验的朋友进行了测试,结果都是不能按照cloixio兄的做法来去掉那个所谓的“多余的循环”),再上来解决此问题,但是到目前为止未果。
我一直关注着此贴的最新消息,现在是在忍受不了了,加上kangfu兄也再次验证了正确无误的结果,所以我得上来回复了,希望cloixio兄能够出现回答此问题,否则会误导其他读者。
另外,正如编辑所说的,本书并不一定是完美的,但也不至于完全没有任何价值,也不是cloixio兄所谓的,javaeye上大部分都是人云亦云的“鹦鹉”,我一直知道javaeye上有着很多国内外知名的大师。
最后感谢kangfu兄以及所有为正确结果而讨论验证的师兄弟,包括对技术非常认真严肃的cloixio兄。
0 请登录后投票
   发表时间:2011-03-31  
再次证明,实践是检验真理的唯一标准,理是越辩越明的。
0 请登录后投票
   发表时间:2011-03-31  
cloixio 写道
kangfu 写道
I think there is no problem in book's example code.

I guess the author wants wait all bluetooth devices are discovered, then show every  thing in one time. this is very common way to convert asynchronous function to synchronous function. and this is very good for beginner to understand startDiscovery().

for expert, of cause, loop is not needed, expert might handle call back function to show the bluetooth device one by one. but it is different story.

we should support IT books which made in China, even we know Chinese IT book writer need improve themselves, we should support and encourage them, and don't say "Chinese translator are always bad...."

sorry I cannot input chinese


拜托请你参与讨论时,多看看回复。

for expert, of cause, loop is not needed, expert might handle call back function to show the bluetooth device one by one. but it is different story.
——这根本不需要什么expert ! 因为这个程序其实已经提高了BroadcastReceiver来处理显示搜索到的蓝牙设备!前面已经有人提出过这点,我也早已就这个问题做过说明。

至于国内IT作者需要鼓励,这个观点我认同。

再次重申,当初我发这个帖子,主要并不是针对作者!因为作者写一本书、只是想传达他的一些经验,虽然书中很多这样的垃圾的、经不起检验的代码,但至少对Android入门的人还是能提供小小的帮助的。

我发这个帖子,从某种程度是表达对javaeye上一群人云亦云的鹦鹉的不满——因为我也是看到很多人吹捧它,才去买这本书。但事实证明这本书的质量绝对是较差的一种!
不仅如此,这本书质量糟糕的图书,居然说什么“五大社区联袂推荐”之类的吹捧,这不也反应了国内IT群这种“党同伐异”的坏习气吗?

we should support IT books which made in China,
对于这句话,我觉得我做到是实实在在的support,难道你所谓的support就是无条件地大唱赞歌?
请原谅我,我做不到这样!
我是一个程序员!技术该怎样就是怎样!
事实上,我给他的是实实的support:一方面我购买了他的书,这本身就是最大的支持!另一方面,我看到他书中大量的错误,并愿意与他已经公开讨论,“道理越辩越明”,这对他自身的能力提高不是也很有帮助吗?

希望作者能力理解、接受我的帮助。


这书我也买过,看中的是介绍说的 c++部分的内容..
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics