拉票了,拉票了~~

《魔方助手》是哈尔滨工业大学入围Google Android挑战赛应用开发组的项目。闲言少叙,请大家观看视频,如果您认为我们的应用很有趣,请在下面的投票地址上投我们一票,谢谢大家!

投票地址:

http://www.google.com/intl/zh-CN/daxue/android/vote_apps.html#d=d1-55

在线视频演示:

《身边》是入围本次Google Android挑战赛创意文档组的项目。目前基于位置的移动应用中多以签到、旅游、游戏为主,而《身边》是截止到目前为止唯一一款基于位置的慈善应用,详细信息请看我们的在线文档演示,希望大家支持我们!
投票地址:
在线文档演示:
http://www.slideshare.net/Keepwatcher/around-you-5906458

自由软件日(哈工大站)

今天是自由软件日哈工大站的活动,为了这个活动,特地给朱涛设计了一个QR-Code的二维码。可惜Geek太少,几乎没有人理睬。;(

p_large_xw0z_7d810000b1bc2d11

[HowTo] 制作一件带名片的Tshirt

参加会议、聚会难免会交换各自的联系方法。交换纸质的名片有点太out了,完全不像Geek。秀出手机上的二维码倒还比较符合身份,但是对于Geek来讲,当然不在乎更Cool一点啦。将二维码的名片信息印制在Tshirt上,做一件个性化的T恤绝对是个好主意。

材料:

  • 一件Tshirt(白色的最好),感谢百度T恤的设计者的国画思维,除了胸口有一个小小的logo之外,其余是大片的留白,给了我可以发挥的空间。:)
  • 可打印的白色贴纸一张 ,感谢Lookou,是他在组织HLUG时留下的

制作过程和将大象塞到冰箱一样,也是分三步

  • 先制作自己的二维码名片:用CM的android用户好像可以直接生成联系信息的二维码。对于其他用户,推荐使用zxing的二维码在线生成器,可以很方便的定制生成个人的联系信息。

zxing

  • 将二维码打印到贴纸上

print_qrcode

  • 将贴纸贴到TShirt上就大功告成了

tshirt_with_card

哈哈,Tshirt制作完毕,用条码扫描器扫描一下没有问题,就可以穿出去秀了~~

试用 Google App Inventor

关于Google App Inventor,不再赘述,仅讨论我个人的使用体验。

App Inventor的架构:

App Inventor主要由两部分组成:Designer 和 Block Editor 。Designer是一个基于Web的界面设计工具,开发者可以在Designer中设计应用程序的UI。如下图所示,Designer的左侧为各种界面控件,中间为设计区域,右侧为控件的属性区域。开发者可以将控件拖拽到中间的涉及区域,然后在右侧设置控件的各种属性。

Designer

Block Editor是基于JNLP的客户端程序,主要用来完成程序逻辑的设计。之所以采用基于JNLP的客户端技术,主要是因为要将App Inventor中的设计完成的软件包传输到手机中。Block Editor是App Inventor的亮点所在,这种基于Open Blocks Java Library完成的可视话的块编程技术,降低了应用开发的门槛,让普通用户可以使用类似于拼图的方式完成逻辑的设计和程序的开发。之前在Lab View为LEGO开发的系统中以及见识过类似的Visual Blocks编程技术,小学生都可以通过拖拽Blocks并设定属性来完成对于LEGO机器人的控制。下图即为Block Editor的编辑界面,在该图的左侧就是我们之前在Designer中添加的各种界面控件,点击相应的界面控件,则显示该控件所对应的方法。将需要响应的方法(事件)拖拽到设计区域,则可以对该方法进行设置,进而完成程序逻辑的设定。在整个程序逻辑设定结束后,点击工具栏上的”Connect to Phone” 按钮,则可以将设计好的代码上传到手机上,并直接运行。

BlockEditor

由于App Inventor尚处于开发阶段,目前仅是挑选一些人进行试用,难免存在各种各样的问题,根据我近两天的使用,总结如下:

  • 设备支持问题:如果想顺利使用App Inventor,需要在PC端安装App Inventor Extra Software。目前该软件对于一些机型支持的不是很好,需要手动安装驱动。(在这里暗爽一下,当初选择Nexus One是无比的正确呀 )
  • 无法生成源代码:使用App Inventor设计的程序,无法获取程序的源代码。Android UI设计工具一直为开发人员所诟病,界面几乎都要手写XML完成,直接影响开发效率。App Inventor的Designer本来可以成为一个很好的补充,但是由于无法下载源码,无法从源码级别上对于设计的应用做进一步的修正。对于很多开发者来讲,只能将App Inventor做为一个原型设计或者概念验证的工具。对于普通用户来讲,也只能做一些Toy级别的小应用玩玩。
  • App Inventor开发的应用无法提交到Android Market:目前来讲,这倒不能算是一个坏消息。因为App Inventor发布之后,很多人都开始担心一旦App Inventor开发的应用可以提交到Market将导致应用程序质量的下降,目前的限制倒是可以让大家对此放心。
  • 不支持多人协作开发:App Inventor目前仅支持个人独立开发,尚不支持多人协同的开发。鉴于Designer是Web应用,那么对于基于Web的协同开发应该是很自然的期待。如果App Inventor不想仅仅做为一个Toy Language,那么对于协同开发的支持是必然要完成的。
  • 不支持安装扩展组件:App Inventor所支持的全部功能仅限于Designer中列出的组件。虽然能够完成大多数的普通功能,但是对于高级功能和用户自定义功能的支持还远远不够。这就导致目前无法使用App Inventor开发出更复杂、丰富的应用。但是值得庆幸的是,目前App Inventor的开发团队正在考虑开发一套sdk,让开发人员可以将自己开发的组件集成到App Inventor中。一旦支持了第三方的扩展,并有第三方开发人员提供扩展,我想App Inventor将会焕然一新。

虽然App Inventor目前还有种种的问题,无论其未来的成败,从中还是让我们看到了很多有趣的东西。最起码从该项目派生一套基于Web的UI设计套件,对于广大的开发人员总是一个福音吧 :)

不高那么多,只高一点点—IPhone 4G与Nexus One电池续航能力比较

昨天WWDC 2010上,IPhone 4G高调发布,自然今天的各大IT媒体和技术博客上都是IPhone 4G的消息。爱范儿上今天有一篇讨论IPhone 4G电池续航力的帖子,也被很多朋友转载。评论前,先看一下Nexus OneIPhone 4G各自的规格说明中所标称的续航时间。

N1VSIP4Battery以上的图片摘自Nexus One 和 Apple的官方网站,我们将数据整理成表格,来对比一下两个设备在续航能力上的指标

NexusOneVSIPhone4从以上的对照图来看,除了在3G通话时间方面两个设备持平外,IPhone 4G在官方的续航能力上都是超过Nexus One的。单从待机时间角度来看,二者的差距不是很大,我们可以估计设备的电池容量不会有很大差距。那么在这个前提下,以我个人使用Nexus One的经验,官方宣称的这些续航能力的指标都是无法达到的。Nexus One电量最大的消耗来自于显示屏,在不运行应用程序的情况,屏幕耗电在80-90%左右,如果始终保持屏幕开启,并在高亮的设置下,大概4-5个小时,电量就所剩无几了。显然,对于IPhone 4G来讲,显示屏应该同样是续航能力的关键。据称IPhone 4G仍然采用LCD显示屏,而Nexus One采用AMOLED显示屏,那么整体的耗电问题应该是LCD与AMOLED显示屏功耗的较量。一般观点认为LCD的功耗要略低于AMOLED,那么IPhone 4G从续航能力上强于Nexus One倒也是正常的。

以上观点仅供参考,到底IPhone 4G能否达到规格说明中的标称指标,还是像Nexus One一样夸大指标,还要看真机上市后的评测。

Android Fragmatation

每个人都承认Android足够火爆,自推出以来,除了多家手机厂商对Android进行支持之外,也在机顶盒、平板电脑、车载设备上得到了应用。

每个人都承认Google 的持续创新能力,尽管Android 1.0推出时并不完美,但是随着1.5、1.6、2.1、2.2的推出,我们看到了Android的持续改进。

然而,在这些光环之下的角落中,仍然有一个无法否认的事实— Android的分裂。www.androidfragmentation.com 是一个面向android的分裂问题而设立的网站,旨在为开发人员进行android开发提供帮助。该网站开发了一个应用程序Android Analyzer ,其目的在于收集各种运行Android的设备的信息,并形成数据库,供开发人员参考。目前Android Analyzer尚未提供下载,有兴趣的朋友可以关注网站上的最新消息。

以下的Slide是Android Fragmenttation的Joachim Ritter关于Android分裂问题的一些讨论,其中罗列了很多有趣的数据,应该对开发人员有一定的帮助。

AndroidFragmentation.com – an open community project

《Linux System Programming》 中文版 Revision 83

Linux System Programming 中文版 Revision 83发布,感谢邱国钦等朋友意见和建议。有需要的朋友请给我发邮件。

《Linux 101 Hacks》中文版勘误

p14: 原文“例如,将系统日期设置为 2008年01月31日,下午10:19:53” ,应修改为 “设例如,将系统日期设置为 2009年01月31日,下午10:19:53”  。感谢 lonelycastle

《Linux 101 Hacks》中文版发布

好事多磨!去年已经翻译完毕的《Linux 101 Hacks》因为种种原因,直到今天才正式发布。恰逢作者又对原书做了更新,我们又在三月初对更新的章节和内容进行了翻译,目前与英文版本的内容一致。

中文版本中如果有任何问题,请直接与我联系,您可以在blog留言,也可以直接给我发送邮件。

点击下载《Linux 101 Hacks》中文版

[预告]:《Linux 101 Hacks》中文版即将发布

在暑期的哈工大 IBM技术俱乐部新手训练营中,我们将《Linux 101 Hacks》做为新人学习Linux基本系统管理知识的参考文献,以供大家学习。由于IBM俱乐部的全部桌面环境为Linux,《Linux 101 Hacks》中的很多技巧对于初学者提高系统管理的工作效率很有帮助。同时考虑到很多初学者因为个人程度或者习惯的原因,更喜欢中文版的文档,因此我们在开学后,组织IBM俱乐部的所有新人对《Linux 101 Hacks》进行了翻译,预计将于本月末完成全部的翻译和审校工作。敬请期待!