MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

信号旗

2011年07月31日 21時02分37秒 | JSP(Java)
「コクリコ坂から」を観に行って、海ちゃんが揚げている船の信号旗っていうものにちょっと興味を引かれた。
WEBを回ってみると写真もいくつかあったので、ちょっと載せてみた。
今度横浜に行く時は船の信号旗も見てみようと思ってる。

あ、あと、鎌倉に行ったら豆やさんに行こうと思ってます。


7月の初めに「アンドロイド開発をやろう」と開発環境を作ったのに、その後エミュレータの画面がちゃんと表示されないのでそのまま停滞してたのだが、月が変わる直前に表示に成功した。
ゆうべ最新のAndroid-sdk-windowsを入れ直してみたら、エミュレータを起動して待つこと5分でアンドロイド端末の画面が表示された

ブラウザ起動するとちゃんとGoogleが表示されるし電卓も使える

ではさて、Javaをコーディングしてみようかな?と新しいプロジェクトを作ったところでエミュレータを起動したら、なんかとりあえず表示できたっぽい。


これが最初の一歩ってことで♪

エミュレータの画面は「Android2.2」で試してみた。
ちょっとだけ進んで良かった良かった。


Aidroid端末

2011年07月03日 13時37分12秒 | JSP(Java)
先月ぐらいからタブレット端末が欲しくなって、先週今週と電気屋に通って、Windows7の端末を買おうと思っていたのだが、昨日お金を用意していざ買いに行った売り場でAndroid端末に惹かれてエイサーのA500を買ってしまった。
(↓はレビュー記事)
http://pc.watch.impress.co.jp/docs/column/hothot/20110615_453063.html
あとでWebで見たら7月1日発売だったらしいので発売直後の購入だ。
もともと電車の中で仕事用のPDFマニュアルを読むのを最初の目的に考えていたのだが、Aidoroid端末でも無事に読むことができた。
今までなかなか目を通しづらかったマニュアルを大きな画面で読めそうだ。

で、せっかくAidroid端末が手に入ったので、Androidアプリを開発してみることにした。
久々にここのブログを使って学習していこう。

まずは開発環境の構築から

1)JDKのインストール
http://java.sun.com/javase/ja/6/download.html
から「jdk-6u24-windows-i586.exe」をダウンロードしてインストール

2)eclipseのインストール
http://www.eclipse.org/
から「eclipse-java-indigo-win32.zip」をダウンロードして解凍
「eclipse」フォルダをCドライブ直下に移動する

3)Androidプラグイン(ADT)のインストール
eclipseを起動してメニューバー「Help」>「Install New Software」を選ぶ
「work with」に「https://dl-ssl.google.com/android/eclipse/」を入力して[Add]をクリックするOK
「name」に「Android」を入力して[OK]をクリックする
「Developer Tools」が表示されたらチェックを入れて[Next]をクリックする
再度[Next]、その後ライセンス確認画面で「I aaccept...」を選んで[Finish]をクリックするとインストールされる

4)Android開発ツール(SDK)のインストール
http://developer.android.com/sdk/index.html
から「android-sdk_r11-windows.zip」をダウンロードして解凍
「android-sdk-windows」フォルダをc:\eclipse下に移動する
c:\eclipse\android-sdk-windowsの「SDK Manager.exe」を実行する
インストールパッケージの選択画面で「Accept All」を選んで[Install]をクリック
インストールが完了したらeclipseを起動してメニューバー「Windows」>「Preferences」を開いて、「Android」のセクションの「SDK Location」に「C:\eclipse\android-sdk-windows」を入力して[OK]をクリックする

3)まで完了するのに約1時間半
4)はたくさんのパッケージをダウンロードしてインストールするので時間がかかる
(4時間かかった)


フレームワーク

2011年06月05日 17時10分34秒 | JSP(Java)
仕事でJava開発としてStrutsというフレームワークを使っているのだが、数日前から原因がわからないエラーに悩まされている
開発に使ってる自機のノートPCでは正常に動くのに、テストサーバにデプロイするとエラーになる
「struts-config.xmlのリソース読み込みエラー」というメッセージがログに出ている
ググったりして調べてみてもそれらしい原因が見当たらない
さすがにちょっとイラついてきたので明日からフレームワークを使わないで開発するように切り替えてしまおうと思っている

フレームワークを使うと開発が楽になるって思ったんだけど、なんかそうでもないな
開発の標準化に効果があるのかもしれないが、ほとんど一人で作ってる私にはあまり恩恵はない
ソースを人に引き継いだ時に開発標準に沿ったソースが必要なのかもしれないけど、大規模プロジェクトでなければあまり関係なさそうな気もする
標準開発ルールを守るより分かりやすいソースを書く方が大切なんじゃないかな?

・・・
ところでアップした写真は先日ツイッターで見たもの
これ本当に自然に出来た雲なのかな?
CGだとすると四国と九州がいまいちだから作者は関東以北の人だな
でもCGじゃないと思いたい
ふと空を見上げたら日本列島が見えることを想像したらなんか楽しくなる★



JFreeChart

2010年02月17日 23時21分11秒 | JSP(Java)
仕事で明日から今年開発してた新しいアプリのテストが始まる。
数値情報をまとめたりグラフ化したりして表示する。
ひとりでコツコツ作ってきてやっと使ってもらえることになった。
今日はちょっと最終調整でバタバタと。
テストと言いつつ50人くらいの人が使い始めるので明日は午前中はちょっと心配だな。

グラフ用のJavaのライブラリとしてJFreeChartを使っている。
地味に棒グラフと折れ線グラフなんだけど、こういう開発は結構楽しい★
落ち着いたらグラフをもう少し充実させたいな。
JFreeChartをもう少し理解しなくちゃ。

かも

nullの対応

2008年11月16日 13時17分38秒 | JSP(Java)
javaでDBからデータを取得するときにnullだった場合の処理を簡略に記述する

String namae = rs.getString("NAMAE")==null?"未入力":rs.getString("NAMAE").trim();

1行で済ませるから超便利でよく使ってる。

数字の場合にも利用可(ただし判定式はStringにすることがポイント)

int tensuu = rs.getString("TENSUU")==null?0:rs.getInt("TENSUU");


#この秋は「読書の秋」と「映画の秋」
#「容疑者Xの献身」と「パコと魔法の絵本」は本も読んで映画も見た
#どちらもすごくよかったけど、「パコ」が特に好きだな
#DVD出たら買おうと思うくらい

#ここ数日は息子が「20世紀少年」を持ってきたので読み続けている
#主人公達と年齢が近くて妙に懐かしい気分になる

#「20世紀少年」もまだ読み終えていないが「天空の蜂」を買った
#東野圭吾の長編小説だ
#かなり分厚い文庫本なので読み応えがありそう


ArrayListのソート

2008年10月03日 12時36分02秒 | JSP(Java)
ArrayListの要素を指定した項目でソートする方法

ArrayList al = new ArrayList();

myBean d = new myBean();
d.setCode(1);
d.setName("aaa");
d.setValue(555);
ar.add(d);
:

Collections.sort(al, new Comparator<myBean>() {
public int compare(myBean d1, myBean d2) {
int wd1 = d1.getValue;
int wd2 = d2.getValue;
if(wd1 > wd2) {
return -1;
} else if(wd1 <wd2) { }
return 0;
}
});

上記の場合は降順(valueの大きい順)にソートする

#急に寒くなってきた。
#明日は冬物を出すことにしよう。
#あとは泳ぎに行ったり野球の試合を応援に行ったり映画に行ったり・・。
#結構忙しい(笑)
#埼玉にできた「越谷レークタウン」というショッピングモールも見物に行きたいな
#お店の案内係がセグウェイに乗ってるんだって♪






数字を2桁の文字に変換

2008年06月12日 07時59分04秒 | JSP(Java)
仕事で100件以上のデータを2桁のフィールドで管理しなければならなくなった。
アルファベットの大文字小文字も利用できるということなので、数値を2桁の文字に変換する関数を作った。

//数値を2桁の文字に変換する
public String int2str(int a){
 String s="00";
 byte[] b=s.getBytes();
 for(int i=0;i<=a;i++){
  b[1]++;
  if(b[1]==58) b[1]=65; //9(57)からA(65)までジャンプ
  if(b[1]==91) b[1]=97; //Z(91)からa(97)までジャンプ
  if(b[1]==123){ //z(122)までいったら桁上がり
   b[0]++;
   if(b[0]==58) b[0]=65;
   if(b[0]==91) b[0]=97;
   b[1]=48;
  }
 }
 String w=new String(b);
 return w;
}

#今日は子供の合唱祭を見に行くため休みをもらった。
#学校行事なんて久々だな・・・
#写真はパソコンのプライバシーシート(覗き見防止板)を止めている洗濯バサミ
#本当は両面テープのツメがあるんだけどすぐはがれるのでこれを使ってる
#100円ショップで購入したスヌーピー柄
#スヌーピー部分だけ色を塗ったら可愛くなった♪



汎用のSQL結果出力

2007年12月30日 21時40分01秒 | JSP(Java)
oracleやMySQLのSQL結果をテーブルで表示させる処理を汎用的に使えるようにした。
結果をベタで表示させるだけであればこれで十分かな?

WEB画面からSQL文を入力して結果を出すのも可能
select文だけを処理するように工夫した方がよいけど。

ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
out.print("<table><tr>");
for(int i = 1;i <= cnum;i++){
 out.print("<td>"+rm.getColumnLabel(i)+"</td>");
}
out.print("</tr>");
while(rs.next()){
 out.print("<tr>");
 for(int i = 1;i <= cnum;i++){
  out.print("<td>"+rs.getString(i)+"</td>");
 }
 out.print("</tr>");
}
out.print("</table>");

#今日は変な空だったなあ。
#午前中は「え?入道雲?」のような夏を錯覚させる空だったのに昼過ぎにいきなりみぞれ!
#晴れたり降ったり忙しい天気だった。
#今年もいよいよあと1日となりました。
#あすは新幹線の旅
#皆様、よいお年を♪


日付形式のチェック

2007年12月19日 23時50分01秒 | JSP(Java)
入力された日付が正しいかどうかをチェックする

//日付形式の確認
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/d");
sdf.setLenient(false);
try {
Date date = sdf.parse(tdy);
System.out.print("OK");
} catch (Exception e) {
System.out.print("ERROR");
}


#映画「SMILE 聖夜の奇跡」を観てきた。やっぱり私好みの映画だった。
#タップダンスもアイスホッケーも素敵だった。
#ゴールを決めた時のパフォーマンスが楽しい♪
#「Little Drummer Boy」の「ラパパンパン♪」が頭の中を流れ続けてる・・


BLOBの画像に描画して表示

2007年08月18日 09時47分17秒 | JSP(Java)
たとえば、地図のjpegに同心円を描画するための手順。

//BLOBからイメージを取得
public BufferedImage outputBLOB(int id) throws Exception {
 ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
 InputStream in = null;
 byte b[] = new byte[4096];

 try {
  // --データベースをオープンする処理を記述--

  sql = "select BFILE from BLOB_DATA where ID="+id;
  rs = stmt.executeQuery(sql);
  if( rs.next() ){
   in = rs.getBinaryStream("BFILE");
  }
  while (true) {
   int bytes = in.read(b);
   if (bytes == -1)break;
   byteOut.write(b,0,bytes);
  }
  in.close();
  // --データベースをクローズする処理を記述--

  byte[] data = byteOut.toByteArray();
  ByteArrayInputStream byteIn = new ByteArrayInputStream(data);
  BufferedImage image = ImageIO.read(byteIn);
  getModifiedImage(image);

  return image;

 }catch (Exception e) {
  e.printStackTrace();
  return null;
 }
}

//イメージに同心円を描画
public BufferedImage getModifiedImage(BufferedImage im){
 Graphics g = im.createGraphics();

 g.setColor(Color.YELLOW);
 int cx = 250;
 int cy = 250;
 g.drawOval(cx-100, cy-100, 200, 200);
 g.drawOval(cx-200, cy-200, 400, 400);
 g.drawOval(cx-300, cy-300, 600, 600);

 g.dispose();
 return im;
}

#半年ほど放置していたが、近頃また新しい手法に挑戦しはじめたのでメモっておこう・・・。
#そういえば、ここあさんちに赤ちゃんが生まれたらしい。あとでお祝いにいこうっと♪
↑一部の人にしか通じない話題