ラベル TIPS の投稿を表示しています。 すべての投稿を表示
ラベル TIPS の投稿を表示しています。 すべての投稿を表示

2010年5月8日土曜日

ネットに情報をPOSTする

サーバとの通信を行うためにPOSTを使うことがよくあるけど、
setRequestPropertyで正しくContent-Typeを設定しないと
JavaServletでうまくデータを処理できないようだ。
というわけで、成功したコードはこんな感じ。

try{
 HttpConnection con = (HttpConnection)Connector.open(url, Connector.READ_WRITE, true);
 
 con.setRequestMethod(HttpConnection.POST);
 con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
 
 OutputStream os = con.openOutputStream();
 OutputStreamWriter osw = new OutputStreamWriter(os);
 osw.write(message);
 osw.close();
 os.close();
 
 con.connect();
 InputStream is = con.openInputStream();
 InputStreamReader isr = new InputStreamReader(is);
 StringBuffer strbuf = new StringBuffer();
 
 while( (c = isr.read()) != -1 ){
  strbuf.append( (char)c );
 }
 returnMessage = (String)strbuf.toString();
 
 is.close();
 con.close();
 
 return returnMessage;
}catch(Exception e){ 
 e.printStackTrace();
}

2009年3月18日水曜日

QRコードを作る

PCで来た人に,簡単に携帯でアクセスしてもらうためにQRコードを使うと便利.
http://qr.quel.jp/form_bsc_url.php
ここで,簡単にURLをQRコードに変換してjpgファイルを手にいれることが出来ます.

サンプル
↓

2009年3月17日火曜日

Enumerationとforループ

Listの中身を総なめするのに、
JavaSDKだとiteratorを使うのが普通ですが、
dojaだとiteratorはないので、Enumerationとforループのどちらかを選ぶことになります。
どっちが早いのか気になるので、試してみました。


public class ListMain extends IApplication {

public void start() {
Vector vec = new Vector();

for(int i = 0; i < 200000; i++){
vec.addElement(new Integer(i));
}

long startTime = System.currentTimeMillis();
for(Enumeration en = vec.elements(); en.hasMoreElements();){
int hoge = ((Integer)en.nextElement()).intValue();
}
System.out.println("Time to enumerate:"+(System.currentTimeMillis()-startTime));


startTime = System.currentTimeMillis();
for(int i = 0; i < vec.size(); i++){
int hoge = ((Integer)vec.elementAt(i)).intValue();
}
System.out.println("Time to for :"+(System.currentTimeMillis()-startTime));

}

}

実行結果は、

Time to enumerate:250
Time to for :172

となり、forループのほうが早いことが分かりました。
なんと。
Enumerationの使い道がありません。

2008年11月26日水曜日

MySQLメモ

スコアをネット上で公開するときにMySQLを利用するとしたらこんな感じかな.

CREATE TABLE score_tbl (
id INT UNSIGNED PRIMARY KEY,
name Text NOT NULL,
score BIGINT NOT NULL,
level INT NOT NULL,
info Text,
version DOUBLE NOT NULL,
update DATETIME NOT NULL,
index (score),
index (level),
index (version, update),
);

PRIMARY KEY
PRIMARY KEYを設定したカラムには以下の特徴がある。
* 他のレコードと重複した値は格納できない
* NOT NULL属性を持つ
* 自動的にインデックスが設定される


参考:http://www.dbonline.jp/index.html

2008年11月9日日曜日

リソースからイメージ取得

Doja4.1でリソースからイメージを取得する方法



リソース内に存在するイメージ(target)を取得するメソッド。

static public Image getImage(String target){
try{
MediaImage mi = MediaManager.getImage("resource:///"+target);
mi.use();
return mi.getImage();
}catch(ConnectionException e){
GameUtil.showErrorMessage("イメージが読み込めませんでした。\n"+target);
GameUtil.terminate();
return null;
}
}

半透明を利用する方法



TransparentImage tImage = TransparentImage.createTransparentImage(image);
tImage.setTransparentEnabled(true);
tImage.setTransparentColor(Graphics.getColorOfName(Graphics.WHITE));

これで、白が透明色となる。