3

Codename One アプリにヘルプ画面を追加したいです。テキストは他の文字列よりも長いので、別のファイルに入れて app-package に追加したいと思います。

どうすればいいですか?テキスト ファイルをどこに置くか、文字列を 1 回で簡単に読み取るにはどうすればよいですか?

(フォーム内のテキスト領域に文字列を配置する方法は既に知っています)

4

3 に答える 3

5

Codename One Designer で、データ セクションに移動し、ファイルを追加します。

そこにテキストを追加して、 を使用して取得できますmyResFile.getData("name");

ファイルを src ディレクトリに保存し、次を使用して取得することもできますDisplay.getInstance().getResourceAsStream("/filename.txt");

于 2012-10-16T18:27:37.163 に答える
1

テキストは IDE で編集できるので、リソース エディタではなくファイル システムにテキスト ファイルを配置することを好みます。メソッド getResourceAsStream は、ソリューションの最初の部分です。2 番目の部分は、テキストを一度にロードすることです。J2ME ではこれがサポートされていませんでした。バッファなどを自分で読み取ったり、処理したりする必要がありました。幸いなことに、コードネーム 1 にはユーティリティ メソッドがあります。したがって、私の作業方法は次のようになります。

    final String HelpTextFile = "/helptext.txt";
    ...
    InputStream in = Display.getInstance().getResourceAsStream(
            Form.class, HelpTextFile);
    if (in != null){
        try {
            text = com.codename1.io.Util.readToString(in);
            in.close();
        } catch (IOException ex) {
            System.out.println(ex);
            text = "Read Error";
        }
    }
于 2012-10-27T17:22:19.793 に答える
0

次のコードは私にとってはうまくいきました。

//Gets a file system storage instance
FileSystemStorage inst = FileSystemStorage.getInstance();
//Gets CN1 home`
final String homePath = inst.getAppHomePath();
final char sep = inst.getFileSystemSeparator();
// Getting input stream of the file
InputStream is = inst.openInputStream(homePath + sep + "MyText.txt");
// CN1 Util class, readInputStream() returns byte array
byte[] b = Util.readInputStream(is);
String myString = new String(b);
于 2014-06-05T09:16:50.473 に答える