webOS输入法实现设想

至今还没见过Pre真机呢,唉。前些天和streatsmart聊起,讲到pre上的中文输入法实现。我想当然地说,和android, iphone早期一样,没有输入法框架,也没SDK,估计是不怎么可能作系统级输入法的啦,哪有都像palm os这么多方式好hack的。他说,palmer@ifan提到,用js应该可以实现。虽然没有什么详细内容,我只是觉得或许也可以看下,载了webOS的rom看了下源码。发现几个textField控件的实现都是有源代码的。 Read more

Hero rom初体验

在入G2之前,就看到有Hero for G1的rom了。看过下截图,不是喜欢的配色,所以一直也没有想尝试。今天总算有机会试了一把。网上能找到的,像xda上的,好像都是for Vodfone Magic的,我还是折腾了会儿,才成功刷到我的A6161上,呵呵。比对了下,似乎Vodfone版和这个A6161,主要就两处不同,用的boot.img不同,wifi驱动不同。一直不知道怎么把已有boot.img解开再修改,我只好用G2 rom中的boot.img去替换Hero rom里的。试了几次,好歹还是成功的。
Read more

Haoyu同学,加油!

内容我就先不表了。。嘿嘿

更新Lego遥控车

今天Haoyu同学来我们家玩,他独立完成了这个改造啦。上一个版本中,前轮没有左右自由度啦,所以转弯效果很糟糕。新版本主要是改进了这个啦。不过发现如果后驱,前行时,前轮偏得比较厉害啦。所以现在改成前驱的了。来,马上看看图
Read more

试用四个Android twitter client有感

今天又出了门,去逛了商场,一定要记下来,以作为证据备查。于是想到要推到twitter上去
之前只用过一款,当时在Android market上搜的,叫Twitta,评价还不错。试了下,看着像网页版的,反正UI风格很诡异,和Android本身很不相符,但至少满足基本需求。
今天开始这个程序一登录后,就有异常,直接崩溃。我只好想着另找个试试

首先,我试了直接网页打开twitter,被自动定向到wap版,但是Android浏览器不支持wap/wml页面,显示了源码。
还试了以下三款,
Twitli,这东西至少默认设置下是不支持中文的,菜单项一大堆,反正粗看了一分钟,我还没找到地方设置。这还算了。我竟然都没找到发推文的地方-_- 另外,也没有登出,注销的地方,不知道这东西是不是会自己一直跑后台
Droid Twitter 登录界面还不错,还带个广告条,让我认为应该是某个不错的收费软件的带广告免费版吧。登录一看,只有一个输入框发自己的新推,看不到历史,更别说follow的别人的消息了。还强制横屏。。
还有个就叫twitter的,最终这个还算work,只是,它是个网页版的东西。程序里放了个WebView

所以,如果您要用的话,我建议试试看Twitta,要是你的帐号不死机,那这个还算可以。

结论是,Android Market上的免费软件都是些什么玩意儿啊。。 还没试过收费区的。还不如都出些做得好的收费软件,我再去找破解呢。不打算在这上面浪费时间了

补充:评论区推荐的Twidroid软件也不错,推荐一下

第一个Lego原创

我知道很圡很圡啦,远没有自带的四个教程上做出来的好看。不过这也是我们自己半个钟头搞出来的东西。还试了下蓝牙遥控,还行。只是左转和右转时,因为前轮不灵活,会有跳动的感觉。

Read more

Git-svn实在是有够慢

今天中午11点开始git svn checkout三个android源码副本,本地网络,网速超好,到下午五点,正好结束

objects数分别是135246, 95115, 108101。这还Ok啦,毕竟svn 历史比较多。然后7pm前开始作svn源取下来后的一些操作,git gc, unpack一类的,到现在还有两个才压缩一半,最快的一个开始Writing objects。不知道一个通宵搞不搞得完这些操作。

关于Palm Pre – webOS的开发

这个题目好像起得大了点儿。北京又下雨,闲来无事,找了treo8里提供的webOS开发的英文原版书出来看了下。o’Reilly出品,质量保证,在Palm开发者网站上有免费提供第一章。这书据说是网友自己买来的,我不确定是不是对外都能看到并下载。

书里讲的还是比较入门的,概括来说,只讲了三方面内容 UI控件(3章),数据存储(1章),还有系统服务的调用(2章)。如预想的一样,完完全全的html开发,加上mojo。不能说我完全没做过html的开发,连js/dom我都还算是知道并写过些代码的。不过毕竟不是专长,也不是喜欢的方向,所以像mojo这种框架,我也是知道webOS后才知道的。个人是不太喜欢写html的,我也说不上来原因,总觉得为了页面布局的,总要反反复复调,不如做其它程序的GUI时来得干脆。可行方式又太多,总让你想不停去优化它。不过webOS毕竟是手机用的,总还是有不同的,看了书里一点点示例代码,相比起一些网页程序,总觉得还是清爽许多。毕竟一屏撑死也就放得下十来行按钮而已,又没有网页左左右右,上上下下的拖拉,布局该是容易多的。控件都是用<div />标签来定义的,如<div id=”my-toggle” x-mojo-element=”ToggleButton”></div>这种方式指定控件类型。突然想到,这上面自己的扩展不少,不知道开发环境里的代码补全是否好用。现在的新平台看起来可真雷同。控件这些和Android好像大同小异,连List设置adapter这些都让我觉得大方向上差不多。对List里面的某行,设置模板,就好像android上对ListAdapter.getView时,一般从一个资源里直接创建,就和模板一样嘛。

数据存储可以用cookie,Depot和HTML 5 storage方式,cookie和Depot都是存简单数据的,虽然上面说Depot可以存5M的数据。比较有意思的是,Depot存取数据时是异步的,这个好像我还没见过。文档里面对HTML 5 storage只提了一个openDatabase API,甚至连怎么建表都没提。不过给了个链接(http://dev.w3.org/html5/webstorage/#databases),这东西我也之后再琢磨吧。看起来也是sqlite之类的实现。不知道性能怎么样。数据访问这章还提及了Ajax来和web server交换数据。

系统服务这些比如提了怎么调用phone程序打电话,怎么查看一个联系人,怎么出个联系人选择对话框。本来我也觉得和Android上的Intent方式看起来挺像。不过有意思的是,在调用时,可以设置onSuccess和onFailure的回调函数。至少从结构上来看,方式是不同的。Android上用onActivityResult来处理调用后的结果。这两章还提及了像系统alarm service怎么用一类的。还有”Cloud Service”,很有噱头的名字。里面有个palm service叫palm://com.palm.pubsubservice,看起来和Apple家那个notification center好像是类似的主意吧。我不知道大家是同时都想到了呢,还是抄的呢?

很可惜的是,没有其它更深入的一些资源,比如没提及过native code怎么写。像classic模拟器那种自绘的View怎么做,难道用HTML代码生绘出来的?我可不信。。更加没有提及有没有输入法框架一类的。

期待Palm Pre SDK出来,到时再来给大家提供新情报。

Howto change the startup animation of Android OS

The statup animation means the one you see before the launcher application comes out.
It was a line with a red point goes from left to right again and again before, in Android 1.0. Currently, on cupcake, it’s a text string, “ANDROID”, with shine goes from left to right.
I found someone add an advertisement logo to that animation in a customized rom. So I studied how to remove that, or make a new one by myself.

Finally, I found it out. There are 2 pictures under frameworks/base/core/res/assets/images:
android-logo-mask.png
android-logo-shine.png

The 1st one is the background. Then, you can edit it with picture editor, like add your own name on it.
Well, after edited it, you need to build framework-res out, with command “make framework-res”. Then, you will get a new framework-res.apk. But usually, you can not use this file to replace the one in the rom/firmware for real devices, like G1, G2. Since, some resources are not under the same version.
What I do is pull out the original framework-res.apk from the rom. Unzip both this framework-res.apk and the one I made by myself. Replace the 2 pictures under assests/images with the one I made before. Notice, you can not replace the files with the PNG files you edited, but not compiled.
Then zip out framework-res.apk again, and sign with SignApk tool. Now you can use the new framework-res.apk to replace the original one.

Just created my twitter account

http://twitter.com/evan_jiang

The updates show at the right side of my blog, too.

Next Page »