Category: 编程、软件、技术

  • Thunderbird+Lightning+Google Calendar

    这次重装Vista,我没有装Office 2003/2007。倒不是因为我买不起199元的Office 2007,而是这个版本中不包含Outlook。于是,我选择了安装OOO来代替Word/Excel/PowerPoint系列,安装Thunderbird替代了Outlook中的邮件功能。

    昨天,我又在Thunderbird中安装了一个Lightning插件,这样,我就有了一个基本的日历功能。由于Google Calendar是支持iCal标准的,所以只要在Thunderbird中加入一个iCal日历,我就可以在当地对Google Calendar进行只读操作了。

    (more…)

  • 【jQuery】示例1:动态改变文本样式和内容

    示范例子见:此处

    =========================

    经过一段时间和XAJAX的较劲,我发现了它的一些限制——当然,它还是一个很好的ajax框架:

    (more…)

  • 虚拟机下的一篇测试文章

    在Vista中装好了Ubuntu 8.10,顺便发篇文章测试一下。

    目前,声卡在虚拟机中还没有驱动,update时也出现了一些小问题。

    Pidgin极不稳定。

    有待进一步测试。

  • 收费模式

    最近由于重新装了Vista,所以有些软件要重新装:比如财智家庭理财软件。

    我买过它的产品,并且一直升级到我现在使用的5.x版本。今天去它的网站看了看,有了版本6,本来想升级的,但是发现一个小问题:6之后的版本的序列号不再是“永久”的了,而只能使用一定的时间,比如一年或者两年。

    这就让我很犹豫了:要不要升级呢?说老实话,我是决定不升了。因为目前的版本我也用的很好,还有很多功能我不怎么会用。干嘛要升级呢?

    一个收费模式的改变往往就改变了用户对软件购买(升级)的选择。所以,要慎重啊……

  • Windows系统的一个小插件

    老妖的站点中下载了一个比较好玩的插件:HashTab。安装后,任何文件的属性对话框中都会多出这么一个页面:

    从而可以方便的得到每个文件的各个重要的校验数值(如CRC32,MD5等)。不过,貌似这个插件是“即时”计算的,所以,对于比较大的文件,计算时间会比较长。当然,这类校验值本身也不是属于“日常”使用范畴,在确实需要的时候——例如你下载了一个巨大无比的文件时——测试一下,那么忍受一些计算时间还是可以的。

    下载地址:http://www.rsywx.net/download/HashTab.v2.0.8.ccrun.552191.rar.

  • Google Talk英文版

    GT的英文版中有一个可以共享你在听虾米音乐的功能。以前我一直、一直没有试出来——请8要怀疑我的RP。基本的设置我还是懂的。

    今天再次不死心,装了英文版本的GT,用最标准的WMP播放,结果还是可耻的没有显示我在听虾米音乐。我的郁闷不是一点两点……

    网上搜索了几把也不知所云。最后,卸载GT后用神奇的管理员身份安装,然后……一切就OK了。

    原来,是酱紫的:

    GT要支持这个功能,需要提供一个插件给WMP。只有当你以管理员身份安装时,才能注册这个动态链接库。只要注册了这个动态链接库成为WMP的一个插件,所有的问题都迎刃而解了。

  • Hello, My Android(三)

    界面设计完成后,我要开始为那个Button的单击事件设计响应函数。

    在Android中,事件的设计也很诡异。我们先来看代码:

    (more…)

  • Hello, My Android(二)

    接下来,我们继续看属于LinearLayout的子控件的两个控件:TextView和Button。有关Android界面中可以用到的Widget有哪些我会在以后再描述。

    ===================

    (more…)

  • Hello, My Android!(一)

    我想,部分是受到了山寨机也即将支持Android的鼓舞,最近我下载了一套Eclipse Ganymede+Android SDK,开始看看在这套著名的API下开发Android应用会是怎样的体验。 不是说以前没有尝试过开发手机下的应用。比如,在我04年用Palm的时候,06年用WM的时候,08年用Symbian的时候……不过都可耻滴放弃了:

    • 放弃Palm是因为它的开发理念和我习惯的事件驱动相差实在太远;
    • 放弃WM是因为那时(包括现在)很BSMS;
    • 放弃Symbian是因为我有一个朋友开的公司将Symbian开发做到了极致,我肯定超不过他的水平……

    好吧,让我来看看Android……

    ===================

    当然,如何设置ADT(Android Eclipse Plugin)我就不说了(什么,你不知道怎么玩Eclipse?这个这个……);怎么用Wizard来创建基本的框架我也不多说了。我只说说接下来我做的事情。 首先,我先创建了一个Run的配置,然后就开始运行。Android模拟器顺利的启动了,新创建的项目也顺利执行。然后我开始看整个项目的结构:

    HelloMyAndroid
    ├─assets
    ├─bin
    │  └─com
    │      └─android
    │          └─tr
    │              └─testcase
    ├─res
    │  ├─drawable
    │  ├─layout
    │  └─values
    └─src
        └─com
            └─android
                └─tr
                    └─testcase

    在这个结构中:

    • assets目录目前是空的,我也暂时先不管这个目录派什么用场。不过从英文名可以推测是放置一些“有用的东西”;
    • bin目录下有三个文件:classes.dex, HelloMyAndroid.apk, resources.ap_。根据说明,这个apk文件就是以后安装应用程序到手机上时需要使用的打包文件;
    • bin目录下还有一个很深的目录结构,它其实代表了我创建这个程序时所选择的包:com.android.tr.testcase。在testcase目录下是编译好的class文件。
    • res目录下给出了Android程序中最常用的三种资源:drawable,layout,values。在drawable目录中只有一个icon.png,这个图标会成为我们程序的图标;layout目录中目前只有一个main.xml,在这个xml文件中,描述了程序界面——应该说,用xml描述界面没有什么不对的,但是如果没有一个GUI来辅助用户设计界面是8HD的;values目录中有一个strings.xml文件,这里保存着程序中使用到的字符串(你当然可以选择不用这种方式来保存、使用字符串,但是会失去i18n的灵活性)。
    • src目录下,又是一个对应于我开发这个程序时所选择的包的路径。在testcase目录下,有两个文件:一个是HelloMyAndroid.java,一个是R.java。前者当然是我编写的源文件,而后者是根据res目录中资源的情况自动生成的一个资源-ID对照表。

    =================

    由于我准备在一个很常规的Hello World程序中增加一些新东西,所以我第一步就开始修改界面。为此,我修改了res/layout/main.xml:

    <?xml version=1.0 encoding=utf-8?>
    <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
                        android:orientation=vertical
                        android:layout_width=fill_parent
                        android:layout_height=fill_parent
    >
        <TextView
            android:id=@+id/lblHello
            android:layout_width=fill_parent
            android:layout_height=wrap_content
            android:text=@string/hello
        />
        <Button
            android:id=@+id/btnClickMe
            android:layout_width=fill_parent
            android:layout_height=wrap_content
            android:text=@string/btn_click_me
        />
    </LinearLayout>

    我选择使用LinearLayout来线性安排我的控件(在Android中称为“Widget”),而android:orientation=vertical表示这个布局将是竖直方向的;android:layout_width=fill_parentandroid:layout_height=fill_parent表示这个布局的宽度、高度都将填充整个父控件的空间(这里就是整个屏幕)。 (未完待续)

  • Old Stable vs New Buggy

    最近的电脑很不稳定!很不稳定!!

    每次在我认真的打P聊天BT的时候,蓝屏!蓝屏!!

    =========

    (more…)