2009年4月28日 星期二

UML 主要圖形關係




包含
Use case, Sequence Diagram, StateChart Diagram, Class Diagram


圖形來自於
Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd

2009年4月24日 星期五

eclipse 上傳 google app engine

See more in Google
http://code.google.com/intl/zh-TW/appengine/docs/python/gettingstarted/uploading.html

要上傳到google app engine 要先註冊
https://www.google.com/


附註,若有使用jdo 資料庫的功能的話,要先吧自動產生的資料移除
路徑 ../war/web-inf/

上傳步驟

1.
點選 App Engine deploy button



2. 設定專案名稱,google app engine 註冊的帳號密碼, 此外點選設定上傳的網域


3.
設定要上傳的網域,如果沒有可以點選右側 my application 設定,有的話跳到第5步


4. 列出以建立的清單 或按下方可以建立新的app engine 目前開放每個試用者十個app engine



5. 填入網域名稱及版本,點選OK


6. 點選 deploy 上載

7. 點選 剛上傳的位置,如 http://catontest.appspot.com/,可以看到以上傳的程式

Create Google App Engine by eclipse

See more in Google

http://code.google.com/intl/zh-TW/appengine/docs/java/tools/eclipse.html#Creating_a_Project


以下簡圖是用 Eclipse 3.4.2

1.Select the File menu > New > Web Application Project
or click "Web Application Project button"




enter the project name and package name
if dont use GWT uncheck "Use Google Web Toolkit."



------------------------------------------------
執行專案步驟

1. 選擇專案

2. 右鍵 run as -> web application

3. 執行成功訊息

4. 在 http://localhost:8080 檢視

eclipse 安裝 google app engine

詳細資訊見 google 說明
http://code.google.com/intl/zh-TW/appengine/docs/java/gettingstarted/installing.html

若在公司或其他有設proxy 就必須先設定proxy,才能正常下載

eclip3.4
流程如下
Help menu > Software Updates

Add Sites
http://dl.google.com/eclipse/plugin/3.4



Select plugin and install






---------------------------------------------------
eclip3.3
流程如下
Help menu > Software Updates-> Find install


Select Search for new festures to install


add remote site


entet Name and the plugin url


select install plugin and click finish

eclipse 設定 proxy

Eclipse 這個 IDE 有很多好用的plugin 如 一些google 的外掛 GWT, Android, Google app
Engine...,but 遇到會檔訊息的地方,就必需要設proxy了

照此網頁說明即可

http://www.drgarbage.com/eclipse-proxy-configuration-guide.html

流程

windows->prefences-> General-> network connects


把http proxy的地方設定一下

http Proxy :proxy.quanta.corp
port: 80

就可以正常下再安裝plugin 了

2009年4月20日 星期一

System Tray

System Tray 就是右下角的一些執行環境的小縮圖,
如圖



轉貼兩個網址, 介紹將java應用程式新增System Tray
  1. http://tonybox.wordpress.com/2008/10/11/systemtray-%E5%B8%B8%E9%A7%90%E7%A8%8B%E5%BC%8F/
  2. http://blog.ring.idv.tw/comment.ser?i=182
控制System Tray的軟體
PS Tray Factory

2009年4月17日 星期五

java 下 打開新網頁

轉貼http://topic.csdn.net/t/20021002/00/1068735.html

有兩個方法

1.
String web=new String("www.yahoo.com"); // 裡面是要開的網址
Process c=Runtime.getRuntime().exec
("rundll32 url.dll,FileProtocolHandler "+web);

2.
String web=new String("www.yahoo.com"); // 裡面是要開的網址
Process c=Runtime.getRuntime().exec("cmd /c start "+web);

 

2009年4月14日 星期二

java read csv file

code 如下

----------------------------------------------


import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;

import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;


public class readeCsv{
public static void main(String args[]){
try {

ArrayList csvList = new ArrayList(); //
String csvFilePath = "c:/test.csv"; // 要讀取的檔案路徑
CsvReader reader = new CsvReader(csvFilePath,',',Charset.forName("SJIS")); //

//reader.readHeaders(); //

while(reader.readRecord()){ //
csvList.add(reader.getValues());
}
reader.close();

for(int row=0;row < csvList.size();row++){ // row 行

for (int column=0;column < csvList.get(row).length;column++) {
String cell = csvList.get(row)[column]; // column 列
//System.out.println(csvList.get(row).length);
System.out.print(cell);
System.out.print("\t");
}
System.out.print("\n");
}


}catch(Exception ex){
System.out.println(ex);
}
}
}

如何從 java client 端 下載 Google document 的文件

雖然現在google document list api 還沒有提供download 的功能( PS可以用httprequest的方式 達成),但神奇的google 順應民心 在今年2月提供了download 的 api

需要的liberary 有
四個檔案分兩組 SimpleCommandLineParser 主要功能是 搜尋特定字串
舉例來說輸入http request 的命令 可以透過這個函數取出特定的資訊如 帳號

*********************************************************

以下我是使用直接輸入的方式,稍微修正了一下DEMO

把 DocumentListDemo.java 中main 的部分
有關 parser 的地方取代掉,改為手動輸入

(parser 就是http request 的輸入字串 )

---------------------------------------------------------------
SimpleCommandLineParser parser = new SimpleCommandLineParser(args);
System.out.println(args);
String authProtocol = parser.getValue("auth_protocol");
String authHost = parser.getValue("auth_host");
String authSub = parser.getValue("authSub", "auth", "a");
String user = parser.getValue("username", "user", "u");
String password = parser.getValue("password", "pass", "p");
String protocol = parser.getValue("protocol");
String host = parser.getValue("host", "s");
boolean help = parser.containsKey("help", "h");

---------------------------------------------------------------


改為
String authProtocol = "https";
String authHost = "docs.google.com";
String authSub = null;
String user = "XXXX@gmail.com"; // gmail 帳號
String password = Password; // gmail 密碼
String protocol = "http";
String host = "docs.google.com";
boolean help = false;
// 這些變數我是設預設值(document.java 有說明)

接下來就有輸入help 就有說明了

在此介紹一下download的語法, 分三部分

指令 下載檔案ID 下在後的存放路徑及檔名
download document%3Adgrnpzdv_188fn5jv2f4 C:\\TEST.txt



作者Blogger網址
http://googledataapis.blogspot.com/2009/02/start-downloads.html

2009年4月13日 星期一

從網址上下載檔案 by java

使用 URLConnection 就是了

範例碼如下

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;



public class DownloadFileFromWeb {
public static void main(String[] args) throws IOException {

BufferedInputStream WebSource = null;

// set source file url
URL sourceFile = new URL("http://sites.google.com/site/catonchuang/Home/Taipei.gif");
// connect
URLConnection con = sourceFile.openConnection();
//System.out.println(con.getContentLength());
//con.connect();
// set Save file buffer
FileOutputStream SaveBuffer = null;
// get file
WebSource = new BufferedInputStream(con.getInputStream());
// set file Position
File FilePosition = new File("C:\\Taipei.gif");
SaveBuffer = new FileOutputStream(FilePosition);

// save into file
byte[] buf = new byte[1024];
int len;
while ((len = WebSource.read(buf)) > 0){
SaveBuffer.write(buf, 0, len);
}
// close buffer
WebSource.close();
SaveBuffer.close();

}

}

2009年4月9日 星期四

eclipse include jar

在eclipse 引用jar liberary 的方法很容易

以下兩種情況介紹

1. 新專案建立時

a. 決定專案名稱後-> next


b. 選取 libraries-> add externaljar


c.選取檔案



2. 專案編輯外掛
a. 在要加入的專案->右鍵-> build path-> configure build path

b. 選取 libraries-> add externaljar

c.選取檔案

java 執行 SQLite

下載 SQLite JDBC http://zentus.com/sqlitejdbc/
(網站上有範例code的說明介紹)
配置好路徑, (配置路徑可以見 eclipse include jar)
就可以使用了

2009年4月8日 星期三

eclipse 執行 main 輸入

開啟eclipse
run-> open run dialog -> arguments 設定 program arguments
apply 後 run

Skype api with java 執行

我在skype4java的安裝執行的環境

  • windowsXP
  • eclipse3.3.1
  • JDK6.0
  • Skype 3.8.1.180
api 下載後有三個比較重要的檔,在 .../release/ 下面都有
  • skype.jar
  • swt.jar
  • swt-win32-3139.dll 要放在system32 否則讀不到
執行流程
  1. 開啟skype
  2. 開啟eclipse 並include 檔案
  3. 編寫後就可以執行

Skype api with java

花了一些時間 ,總算吧 skypr4java 時做出來。在此先介紹一下Skyapi

官方網站 https://developer.skype.com/Docs/ApiDoc
skype4java http://skype.sourceforge.jp/index.php?Skype%20API%20For%20Java%20(English)

falldog有對skype api 有很多篇文章 http://falldog7.blogspot.com/2000/01/skype-api.html

節錄一個最重要的概念 skypeapi 不像一般的liberaey 比較像 skype的外掛 , 如 falldog 部若格的這張圖


簡單的說,執行skype api 必須先開啟skype







2009年4月7日 星期二

SQLite 介紹

SQLite 是個輕小的資料庫,而且許多程式語言都有支援,此外Fire Fox 3以後的資料都是用SQLite 儲存的。

以下列出一些連結

介紹
官方網站 http://www.sqlite.org/
WIKI http://zh.wikipedia.org/wiki/SQLite
自由軟體技術支援網站 http://support.oss.org.tw/?q=node/157

教學
創造心裡的感動 http://gisanfu.pixnet.net/blog/post/7941810
研一生努力學習 http://blog.willie.tw/archives/tag/sqlite

fire fox外掛
SQLite Manager

2009年4月6日 星期一

Open id  

雖然網路很多文章了,但我還是做個筆記。

所謂的open id 就是在一個可信任的網站提供一組ID的註冊,以後只要到支援open id 的網站上,就可以利用那組ID 登入註冊 ,減少到處註冊登入的困擾。

相關教學文章
重灌狂人
WIKI

以下節錄教學文章
提供OpenID帳號服務的網站(清單):
http://wiki.openid.net/OpenIDServers

          Google blogger 也可以提供open id 的服務, 
  • 驗證網頁就是blogger 的網址
  • 設定->openID就可以管理授權的網站


使用OpenID登入的網站(清單):
http://openiddirectory.com/

2009年4月1日 星期三

XMPP java liberaries

XMPP/Jabber memo


Java Jabber liberary

以上轉貼從 in-vitro.jp
http://www.in-vitro.jp/blog/index.cgi/Library/20060316_01.html

比較一下java 的 liberary, Smack 的文章比較多