2009年5月27日 星期三

Ubuntu下安裝MSN

安裝amsn:
sudo apt-get install amsn
官網:http://www.amsn-project.net/index.php
amsn本身是用tcl/tk設計的,tcl/tk 未支援中文
可以安裝好心人的懶人包 - fixamsn.sh
下載完成後輸入
bash fixamsn.sh

安裝emesene:
sudo apt-get install emesene
emesene是個入門級的msn,很容易就上手,
但不支援視訊,傳檔速度也比較慢一點
而且還有一些還沒中文化

2009年5月26日 星期二

Ubuntu下安裝無蝦米 - gcin

1. 於/etc/apt/sources.lst 加入這行
deb http://www.calno.com unstable main
因為有權限的限制,所以可以用下面的command來開啟
sudo gedit sources.list
2. 安裝gcin
sudo apt-get update;sudo apt-get install gcin
3. 設定下次登入即可使用gcin
sudo im-switch -s gcin
4. 下載無蝦米表格檔
sudo wget http://edt1023.sayya.org/misc/noseeing-6.tar.gz
5. 解壓表格檔
sudo tar zxvf noseeing-6.tar.gz
6. 拷貝表格檔
sudo cp noseeing.gtab /usr/share/gcin/table/
7. 重新開機

2009年5月25日 星期一

Linux下的syslog

Linux下面使用system log的方式比windows簡單多了!
只要三個API就可以了!

void openlog( char *ident, int option, int  facility)  
ident
當前程序的標記名稱
option
用於openlog()的option參數可以是以下幾個的組合:
LOG_CONS : 如果送到system logger時發生問題,直接寫入系統console。
LOG_NDELAY : 立即開啟連接(通常,連接是在第一次寫入訊息時才打開的)。
LOG_PERROR : 將訊息也同時送到stderr
LOG_PID : 將PID含入所有訊息中
facility
facility參數用來指定何種程式在記錄訊息,這可讓設定檔來設定何種訊息如何處理。
LOG_AUTH : 安全/授權訊息(別用這個,請改用LOG_AUTHPRIV)
LOG_AUTHPRIV : 安全/授權訊息
LOG_CRON : 時間守護神專用(cron及at)
LOG_DAEMON : 其它系統守護神
LOG_KERN : 核心訊息
LOG_LOCAL0到LOG_LOCAL7 : 保留
LOG_LPR : line printer次系統
LOG_MAIL : mail次系統
LOG_NEWS : USENET news次系統
LOG_SYSLOG : syslogd內部所產生的訊息
LOG_USER(default) : 一般使用者等級訊息
LOG_UUCP : UUCP次系統

void syslog( int priority, char *format, ...)   
priority
決定訊息的重要性. 以下的等級重要性逐次遞減:
LOG_EMERG : 系統無法使用
LOG_ALERT : 必須要立即採取反應行動
LOG_CRIT : 重要狀況發生
LOG_ERR : 錯誤狀況發生
LOG_WARNING : 警告狀況發生
LOG_NOTICE : 一般狀況,但也是重要狀況
LOG_INFO : 資訊訊息
LOG_DEBUG : 除錯訊息
format
訊息的格式

void closelog( void ) 
關閉syslog

#include <syslog.h>
void main(){
openlog("myLog", LOG_CONS|LOG_PID, LOG_USER);
syslog(LOG_INFO, "My first log test!");
closelog();
}

2009年5月7日 星期四

Android Windows開發環境設置

1. 首先安裝 Eclipse
 http://www.eclipse.org/downloads/
 下載 Eclipse IDE for Java Developers
 然後解壓到 /develop/android/

2. 下載 Android SDK
 http://developer.android.com/sdk/1.5_r1/index.html
 然後解壓到 /develop/android/

3. 安裝 ADT
 有兩個方法可以案裝
 3.1 官方建議 - Eclipse Update 方式
  3.1.1 開啟 Eclipse,選 Help → Software Updates..
  3.1.2 選擇 Available Software 標籤下的 Add Site...
  3.1.3 輸入下列網址:http://dl-ssl.google.com/android/eclipse/
或 https://dl-ssl.google.com/android/eclipse/
  3.1.4 在按下確定後,可以看見剛輸入的網址新增至 Name 欄位,然後勾選它下面的
Developer Tools , 並選擇 Install... 開始安裝
 3.2 直接下載 ADT
  3.2.1 下載 ADT : http://developer.android.com/sdk/adt_download.html
  3.2.2 同步驟 3.1.1
  3.2.3 同步驟 3.1.2
  3.2.4 點選 Archive... ,然後選擇步驟3.2.1下載的ADT
  3.2.5 在按下確定後,可以看見剛選擇的ADT位置新增至 Name 欄位,然後勾選它下面的
Developer Tools , 並選擇 Install... 開始安裝
 安裝完成後,將Eclipse重新啟動

4. 設定 Eclipse 中 Android SDK 位置
 4.1 選擇 Window → Preferences
 4.2 選擇 Android (如果出現錯誤,就先不理它!)
 4.3 在右邊的 SDK Location ,選擇存放 Android SDK 的位置 /develop/android/android-sdk-windows-1.5_r1 , 選擇 OK

還沒結束呢!接下來要先去產生一個Android虛擬機器 AVD
5. 產生 AVD
 5.1 開啟命令提示字元,並到 Android SDK目錄下的 tools 目錄
  5.1.1 開炲 → 執行,輸入cmd
  5.1.2 輸入切換目錄指令,如:
cd develop/android/android-sdk-windows-a.5_r1/tools
 5.2 查詢現有的 AVD targets,並選一個做develop的target
android list targets
 結果:
id: 1
    Name: Android 1.1
    Type: Platform
    API level: 2
    Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 2
    Name: Android 1.5
    Type: Platform
    API level: 3
    Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 3
    Name: Google APIs
    Type: Add-On
    Vendor: Google Inc.
    Description: Android + Google APIs
    Based on Android 1.5 (API level 3)
    Libraries:
     * com.google.android.maps (maps.jar)
       API for Google Maps
    Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P

 5.3 依選定的target,產生一個新的AVD
android create ave --name 自訂名稱 --target 選定的target ID

接下來就真的可以開始在Eclipse上開發了!

下面來個小測試:
 選擇 File → New → Project... ,然後選擇 Android Project,輸入的參數如圖:

 完成後如果出現下面錯誤:
no classfiles specified
Conversion to Dalvik format failed with error 1

點一下 Project -> Clean..., 應該就可以正確執行囉!

2009年5月6日 星期三

Android模擬器adb命令介紹

在SDK的Tools文件夾下包含着Android模擬器操作的重要命令adb,adb的全稱為(Android Debug Bridge就是調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。

adb的工作方式比較特殊採用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。

1.通過adb可以輕鬆的執行Linux Shell命令,進入設備或模擬器的shell:adb shell就可以進入模擬器的shell環境中。也可以執行各種Linux的命令,其命令格式為:
adb shell command
範例:
adb shell dir 就是列舉目錄,在Linux中根目錄為/而不是Windows上的C磁碟、D磁碟
adb shell dmesg 會列印出Linux的debug訊息。
2.安裝apk程序到模擬器則執行adb install android123.apk,這樣名為android123的安裝包就會安裝到Android模擬器中,前提是android123.apk文件需要放到SDK\Tools目錄下。
3.向emulator傳送文件,使用adb push android123.txt /tmp/android123.txt命令可以把SDK\Tools下的android123.txt文件傳輸到模擬器的/tmp/文件夾中,需要注意的是/tmp/文件夾中內容會在Android模擬器新啟動時清空。除了說明了使用ADT插件中DDMS外。
4.從Android模擬器中回傳文件到電腦
通過>adb pull /tmp/android123.txt android123.txt命令就會把模擬器的tmp文件夾下android123.txt文件回傳到電腦SDK\Tools目錄下。

繼續android adb命令相關介紹,除了可以方便的安裝apk文件、pc和Android模擬器互傳資料外還有Android Debug Bridge一些輔助的功能。
1.如果在Eclipse中發現有* daemon not running. starting it now *的提示可以結束adb
adb kill-server

2.顯示android模擬器狀態
adb devices 端口號等信息,執行後會顯示TCP端口號
adb get-product 獲取設備型號
adb get-serialno 獲取序列號

3.等待正在運行的設備
adb wait-for-device

4.端口轉發
adb forward adb forward tcp:5555 tcp:1234 實現將默認的TCP 5555端口轉發到1234端口上

5.查看bug報告
adb bugreport
Android - How to mount the SDCard image file to Android Emulator

(1)首先必須產生SDCard的image file
mksdcard: create a blank FAT32 image to be used with the Android emulator
usage: mksdcard [-l label]
if is a simple integer, it specifies a size in bytes
if is an integer followed by 'K', it specifies a size in KiB
if is an integer followed by 'M', it specifies a size in MiB

ex:mksdcard 1024M sdcard.iso

(2)讓SDCard連到Android Emulator
a:./emulator -sdcard ~/.android/SDK-1.0/sdcard.iso
b:用Eclipse中設定程式的Open Run Dialog裏,Target頁籤的Aditional Emulator Command Line Option中加入啟動參數 -sdcard scard.iso

(3)透過adb傳收檔案到emulator
adb push
adb pull
ex:
adb push ~/mp3/audio.mp3 /sdcard/audio.mp3

linux底下也可以使用,來管理
mount -o loop sdcard.img android_sdcard

(4)進入emulator的shell
adb shell


轉載自:http://stenlyho.blogspot.com/2008/11/androidadb.html

2009年5月5日 星期二

Balsamiq Mockups

最近發現了一個好用又簡單的UI開發工具 - Balsamiq Mockups
可以用拖拉的方式,很快的拉出一個UI畫面
他的操作介面也很簡單,上方列出了所有UI相關的圖示
依分類有:Big、Buttons、Common、Containers、Layout、Markup、Media、Text跟iPhone
懶人愛用的的剪下、複製、貼上也都有,一應具全


裡頭內建的圖庫也不少:

除了一般網頁用的,還有iPhone的呢!


如果還是覺得不夠用,也可以到這裡去下載:
http://mockupstogo.net/

這個是我用它照我的blog拉出來的:

真的還蠻好玩的!

可以到這裡去下載AIR試用版:
http://www.balsamiq.com/products/mockups/desktop
或者是線上試用Flash版:
http://www.balsamiq.com/products/mockups