ユーザーが単語を入力したときに単語の意味を取得する辞書であるモバイルアプリケーションを開発するために、Netbeans IDE (J2ME) を使用しています。
これらの意味をアプリケーション (.jar ファイル) の任意のデータベースに保存/取得するにはどうすればよいですか? 任意の方法?そして、このアプリケーションを配布する必要があります。
ユーザーが単語を入力したときに単語の意味を取得する辞書であるモバイルアプリケーションを開発するために、Netbeans IDE (J2ME) を使用しています。
これらの意味をアプリケーション (.jar ファイル) の任意のデータベースに保存/取得するにはどうすればよいですか? 任意の方法?そして、このアプリケーションを配布する必要があります。
java-me を使用すると、レコード管理システム (RMS)がサポートされます。そこに小さなデータを保存できます。
良い方法は、小さな情報を保存し、ユーザーがその単語を照会したときに、それがローカル RMS にあるかどうかを確認し、それを提供することです。それ以外の場合は、サーバーに Web サービス呼び出しを行い、ユーザーに情報を提供します。
ディクショナリは、ハッシュテーブルと同様に、キーと値のデータ構造です。データを Java プロパティ ファイル (http://docs.oracle.com/javase/tutorial/essential/environment/properties.html) として jar ファイルに保存できます。
Java ME には java.util.Properties クラスがないため、手動でロードする必要があります。
public class Properties extends Hashtable {
public Properties(InputStream in) throws IOException {
if (in == null) {
throw new IllegalArgumentException("in == null");
}
StringBuffer 行 = 新しい StringBuffer();
while (readLine(in, line)) {
文字列 s = line.toString().trim();
if (s.startsWith("#") == false) {
int i = s.indexOf('=');
もし (私 > 0) {
文字列キー = s.substring(0, i).trim();
文字列値 = s.substring(i + 1).trim();
put (キー、値);
}
}
line.setLength(0);
}
}
private boolean readLine(InputStream in, StringBuffer line) throws IOException {
int c = in.read();
while (c != -1 && c != '\n') {
line.append((char)c);
c = in.read();
}
c >= 0 を返します || line.length() > 0;
}
public String get(文字列キー) {
return (文字列) super.get(key);
}
}
ここにサンプルがあります
InputStream は = getClass().getResourceAsStream("/dictionary.properties");
プロパティ ディクショナリ = 新しいプロパティ(です);