2

androidからRに似た自動生成されたリソースファイルを作成したいと思います。ファイルの解析と作成、および基本的に新しいクラスファイルの作成方法を知っています。方法がわからないのは、この自動生成プロセスを開始することです。

したがって、Eclipseを使用して(これを不可知論的な方法で実現する方法がある場合は、それをお勧めします)、自動生成セッションをトリガーしてプロパティファイルを読み取り、静的変数を保持する.javaファイルを作成するにはどうすればよいですか?この解析されたファイルの「キー」は、コードから参照できますか?

4

2 に答える 2

2

Java ソース ファイルを生成する方法のいくつかの例は、既に提供されています。プロパティ ファイルを読み取り、これらの API のいずれかを呼び出すのは比較的簡単です。

コード生成プロセスをトリガーするには、カスタム ビルド ステップを追加する必要があります。Ant では、カスタム タスクを追加するだけです。そして、それを Eclipse ビルダーに接続します: プロジェクトの [プロパティ] -> [ビルダー] -> [新規]。

その後、Eclipse はこのファイルを独自に検索して更新する必要があります。そうでない場合は、構成を確認してください: [設定] -> [一般] -> [ワークスペース] -> [ネイティブ フックまたはポーリングを使用して更新] などを見つけて確認します。(この最後の部分がうまくいくとは 100% 確信が持てないことに注意してください。)

最も抵抗の少ない方法は、このビルド ステップを個別に実行することです。プロパティ ファイルがそれほど頻繁に変更されていない場合は、それほど大きな問題にはなりません。これは、Protocol Buffers、JAXB、wsdl2java などを使用する場合に行うことと似ています。すべてを R.java のように魔法のように動作させたい場合は、おそらくもう少し複雑なことを行う必要があります。

 - Eclipse Builder のオプションを使用して、Ant タスクがいつ実行されるかを制御してみてください。それがわからない場合は、Eclipse が上記のプロジェクト (つまり、プロトコル バッファ、JAXB、wsdl2java) にどのように接続されているかを調べます。など) - ADT カスタム PreCompilerBuilder クラスを見てください - build-helper-plugin をチェックしてください

于 2012-09-11T13:29:36.603 に答える
0

ResourceBundleを使用して、キーでプロパティを検索できるオブジェクトを作成するのが一般的です。Java TrailResourceBundleでについて学ぶことができます。

基本的な考え方は、拡張子を持つテキスト ファイルがあるということです.propertiesResourceBundleオブジェクトをそのファイルにポイントします。次に、getString()またはgetObject()メソッドを使用して、必要なプロパティにキーを渡すことができます。それだけです。ResourceBundleプログラムを起動するとき (または必要になる前に)をロードするだけです。

メンバー値としてを持つ独自のクラスを作成する場合、次のような簡単なコードを使用して、プロパティ値を取得するためResourceBundleの簡単なメソッドを作成できます。get()

    public String get(String aString)
    {        
    String sVal = null;

    try
    {
        sVal = (String)myProperties.getObject(aString);
    }
    catch (MissingResourceException e)
    {
        log.debug("Missing Property Value: "+aString);
    }

    return sVal;
    }

それが役に立つことを願っています。

于 2012-09-07T19:39:37.650 に答える