Java

Javaで超簡単にスタックトレースを表示する方法

in

いろいろなところから呼び出されているメソッドで問題があったとき、どの呼び出し元が問題か調べたいときがある。

そんなときはこの1行でスタックトレースを表示。

new Exception().printStackTrace();

簡単でStackTraceElementの配列をいじる必要もなし。

Windows 7でのAndroid開発環境

Windows 7、64Bit、Premium HomeにAndroid開発環境を作ったときの注意点。

  • Eclipse
  •  32BitバージョンのGalileo(バージョン3.5)。これはAndoroid SDKがHeliosにまだ対応していないため。

  • JDK
  •  32 Bit版 1.6.0_21。このレビジョン21は初期のものだとうまく動かないとかで、最新のものをダウンロードする必要あり。

  • Android SDK
  •  最新のものをインストール。Backward Compatibleで、以前のOSバージョン対応のソフト作成も最新のSDKで大丈夫。もっとも、2.2のSDKを使い始めてしまったので、それ以下のものを作るのが億劫になるかも。

  • パーミッション

Java メモ - javacで標準ライブラリの前にユーザーライブラリを参照させる方法

組み込みのJavaアプリであるライブラリを使わなければならない。そのライブラリはorg.w3c.dom.DOMImplementationを実装しているのだが、対応している環境はJava 1.4なのにそのクラスだけJava 5のメソッドを実装している。実行時にはこのjarファイルも使うのだけどコンパイル時には1.4の標準ライブラリが先に参照されてしまってエラーになる。このライブラリが標準ライブラリよりも先に参照される方法がこれ。

Eclipse

Java Build Path --> Order and Exportでライブラリの順序を指定。

Java メモ - Eclipseを使ってJavaのコードスタイルを変更する

プログラムを書くときコードスタイルは個人の好みが反映されて癖があるものだけど、自分が慣れているスタイルだと生産性も高くなる。

例えば多くのJavaプログラマーはこんな感じのスタイルを使っている。

class test(){
    public
main(args[]){
        if(
a == b){
           
System.out.println("Hello World!");
        }
    }
}

個人的には「{ 」を同じ行に書くのは好きになれない。僕はいつも「{ 」が次の行にくるように書いている。こんな感じ。


class test()
{
public main(args[])
{
if(a == b)

Javaメモ - SSL Socketを使った通信

in

JavaでSSLを使ってソケット通信するサンプル。元ネタはこの辺り。

http://codezine.jp/article/detail/105?p=1
http://mikilab.doshisha.ac.jp/dia/research/report/2005/0918/004/report20050918004.html

僕のサンプルではクライアントの証明書の認証は行わない。単にサーバーが送ってきた証明書をクライアントで認証するだけである。つまりサーバーはクライアントがどんなものであっても受け入れる。ウェブサーバーとかは普通こうなっているから。

クライアント側コード SSLClient.java

import java.io.*;
import java.security.KeyStore;

Javaメモ - NetBeansのプロジェクトをEclipseへ移す方法

in

参考になるJavaのコードやらオープンソースのプロジェクトを見つけて使いたいときがあるけど、プロジェクトがNetBeansだったりする。それをEclipseで使うにはこんな風にすればいい。

NetBeansのプロジェクトを編集

最初にNetBeansのプロジェクトをEclipseに合うように変更しておく。nbproject\project.propertiesをエディタで開いて次の2行を変更する。

変更前:
build.classes.dir=${build.dir}/classes
build.dir=build

変更後
build.classes.dir=${build.dir}
build.dir=bin

Zipファイルを作成

Java Memorandom- Graphics.drawImage

In paint(Graphics g) call back, use drawImage() to draw an image. It is crucial to specify ImageObserver parameter.

I mistakenly passed a null to the parameter, and the drawing was not done properly. It renders only when any other event forces to repaint. When the parameter was properly set, the rendering happens correctly so that the image shows up from the beginning.

コンテンツ配信