内流满面阿,终于不用自己搞个长连接了。 2.2释放出来了,在其新特性中,有一点:Cloud to Device Messag(C2DM),这个跟gtalk类似,可以让web程序或者app engine向手机发送消息,不同的是gtalk是系统级别的,一般程序访问不了,这个则是标准的API。 在旧版本android上实现这个功能还是蛮麻烦的,我原来写过。主要的思路就是自己起一个gtalk的客户端,用xmpp协议,然后放在service保证长时间运行。缺点很明显:这个service消耗手机资源,功能跟系统本身服务重复。不过在消息服务没有开放时,自己的app是接收不到xmpp消息的。 google开放出来很直接,因为使用的还是老一套。下面是手机受到消息时的log,可以看出使用的还是smack,当然,协议还是xmpp了。 05-22 09:26:13.356: DEBUG/GTalkService(223): [ChatMgr] processPacket: not logged in! drop org.jivesoftware.smack.packet.DataMessage@43e929e8 05-22 09:26:13.576: INFO/JumpNote_SyncAdapter(298): Beginning full sync for account fkpwolf@gmail.com 05-22 09:26:16.316: INFO/JumpNote_SyncAdapter(298): Sync complete, setting last sync time to 1274491573563 那么web端或者云端如何发送消息呢?我看到代码里面是访问https://android.clients.google.com/c2dm/send,大概用的是rest吧。不过现在google要申请帐号才能访问这个服务。mobile收消息则使用标准的receiver模式。 Google给了个例子:JumpNote,可以看作双向同步功能的写字板。技术用android client + app engine + gwt(web client),使用了android新的sync API,还是一个蛮复杂的例子,因为这不单单是一个mobile app,而是一个完整的云服务实例,值得仔细研究研究。
Posts under ‘Mobile’
More about get rid of toolbar at iPhone Safari
When you visit some web site like Google Reader or Delicious at iPhone Safari, maybe you will notice that after have loaded page, the browser will hide tool bar automatically. This feature can save phone’s valuable screen space. To implement it we can just use javascript: window.scrollTo(0,1). See here, and here. <script type=”application/x-javascript”> if (navigator.userAgent.indexOf(‘iPhone’) [...]
第一个iphone小程序,哈哈
瞎鼓捣出来的程序:豆瓣的客户端。不过这次是iphone的本地程序,还是个雏形。由于server端调用采用的都是json数据格式,所以换个client很容易,真正的MVC模式啊。不过iphone本身好像不带json支持,还得自己下载个,看来还是android扩展好点。 iphone开发感觉还是很怪异的,objective c还要自己管理内存,alloc & release,啥啊。UI用这,server端用ruby,很不和谐啊,反过来还差不多。而且这种语言还不是标准c,加了很多扩展,N多关键字。不过人家UI牛就是没办法,动画效果无处不在(osX积累多年噢),这样才让本地应用比较html有了存在的理由。
终于成为iphone开发者了
android上面苦熬和观望一年后,上个月申请开发者,25$,但是没想到被据了,很是不爽,一气之下投奔iphone(虽然我对object c一窍不通)。 花了99$。注册过程很简单,麻烦的地方就是要传真下,网上有的攻略说要3个星期才能申请下来,N多TIPS云云。其实很简单。2天OK。无语。 资讯发达后,特别是类似“百度知道”这种问答类的网站的出现,确实提供了很多便利。但是也让人屁大的事情都要到网上google一下,结果人云亦云,没有主见,买个硬盘前做很多功课,货比三家,还特别迷信某些blog的评测数据。无聊之级! 说远了。付了99$后就可以下载iphone os 4 beta了,终于看到了传说中的mutil-task(双击home按钮,android上是长按),当然,是在模拟器上的。 五一去买个ipod touch 32g,这东西要切身体会下才会有灵感,对吧,又得花钱了,唉。