开发跨UI体系的Symbian应用

一直以来,Symbian都是基于OS + UI体系分离的设计,这种分离又不同于Android,后者的不同UI只是视觉呈现的差异,对应用而言,是完全兼容的。但Symbian的不同UI体系,如S60、S80、UIQ、QT等,彼此间连UI的API都不兼容,对应用开发者来说,这真是一个噩梦。虽然也可以通过将UI API的使用限定于Uikon UI(S60、S80、UIQ等当代UI体系共同的继承源),从而实现最大程度的兼容,但这样做是以牺牲广泛的可用UI元素为代价的,对稍复杂的应用而言都不太现实。况且即将取代现有各种UI体系的QT,又是一次颠覆性的变革,不用指望任何的兼容可能了。

那么,在这样一个变革到来之前的暗夜,如何开发一款可跨UI体系的Symbian应用呢?这并非没有可能,但有着诸多的限制。如果你的应用能满足这些限制的话,那么完全可以成为真正意义上的跨UI体系的Symbian应用。

继续阅读开发跨UI体系的Symbian应用

为WordPress中不同页面搭配独特的Widgets

有些Widget,如Related Posts,一般来说只应出现在单帖的页面中,而通常首页里大家会习惯堆砌比较多的Widgets,如Twitter、Del.icio.us之类的。WordPress默认并没有给予用户这种便利,而且搜索了一下Plug-in Category似乎也没有找到这样功能的插件,只好自己动手来改造一下。

根据Google到的一些线索发现,其实Widgets机制本身是支持多个Sidebar的,不过大部分的Theme并没有很好的利用这项功能,即使有用到的情况也大多是并排多个Sidebar的用法。于是顺手牵羊,将它略加改造,用于在不同的页面显示不同的Sidebar。分享改造方法如下:

1. 修改Theme下的functions.php,将

if ( function_exists('register_sidebars') )
  register_sidebar();

修改为:

if ( function_exists('register_sidebars') )
{
  register_sidebar(array('name'=>'Sidebar Home',));
  register_sidebar(array('name'=>'Sidebar Single',));
  register_sidebar(array('name'=>'Sidebar Archive',));
}

2. 修改Theme下的sidebar.php,将

get_sidebar();

改为:

if ( function_exists('dynamic_sidebar')
{
  if (is_home() && dynamic_sidebar('Sidebar Home'));
  elseif (is_single() && dynamic_sidebar('Sidebar Single'));
  elseif ((is_archive() || is_search()) && dynamic_sidebar('Sidebar Archive'));
  else dynamic_sidebar();
}

3. 然后回到你的首页后,再打开Widgets管理页面,就可以看到3个不同的Sidebar了。现在就来随心所欲的调整Blog在不同页面下的Widgets组合吧!

Tip:未设置的Sidebar将继承Sidebar Home。

用del.icio.us分享“我的网摘”

  常常在网上碰到一些有趣的文章、有用的信息,希望与朋友们分享。由于最近开始喜欢上了del.icio.us,所以打算利用它在Blog上实现“网摘分享”功能。

  del.icio.us提供了一个“Daily Blog Post”的服务,但我个人不太喜欢在blog里转贴,因为这样一方面容易招致原文作者的反感(纵然加入了转载链接),另一方面也容易淹没自己Blog中的原创文章。为了保持个人Blog的原汁原味,我采用了另一种分享的方式——“del.icio.us Widget”。

  这应该是Widgets插件自带的一个模块吧,以前都弃之未用,今天才把它翻了出来。配置很简单,这里就不多说了,不过有一个小小的提示:del.icio.us本身是有“私有收藏”功能的,只不过默认没有开启(“Settings – Bookmarks – Private Saving”)。对于不想在Blog上分享的个人收藏,在添加至del.icio.us时只要选上“do not share”即可。

  具体的效果请看右边栏 >>