2

JARを介してソースなしで配布されるSDKを構築しています。すべてが機能しますが、インターフェイスクラスで使用する説明的な引数名はプロセスで失われます。

私のインターフェース:

package com.example;
public interface ExampleInterfaceClass {
    /**
     * Method documentation
     * @param descriptiveParameter a parameter name I want included for anyone implementing this interface from a JAR
     */
    public void DoSomething(int descriptiveParameter);
}

利用可能なソースを使用してこのインターフェイスを実装すると、「descriptiveParameter」は「descriptiveParameter」として適切に自動生成されます。

public class ExampleImplementor implements ExampleInterfaceClass {
    @Override
    public void DoSomething(int descriptiveParameter) {
        // TODO Auto-generated method stub
    }
}

ただし、コンパイルされたJARから実装すると、パラメーターは「arg0」として自動生成されます。

public class ExampleImplementFromJAR implements ExampleInterfaceClass {
    @Override
    public void DoSomething(int arg0) {
        // TODO Auto-generated method stub
    }
}

このような質問を通じて、多くの解決策が提案されています。コンパイルされたJavaクラスでパラメーター/引数の名前を保持しますが、1。説明的なパラメーターをJARに含め、2。他のクラスからソースを非表示にするソリューションにはヒットしません。 。Eclipseエクスポートを介してJARファイルにインターフェースファイルのみからのソースを含める方法はありますか?そうでない場合、ソースオブジェクトのサブセットを使用してJARを作成する次の最も簡単な方法は何ですか?

4

1 に答える 1

0

私の推測では、それは不可能です。

私が推測する理由は、自動入力メソッドがarg0、arg1、arg2などの名前のパラメーターを取得するAndroid SDK自体にいくつかの例があるためです...

公式の Android SDK でコンポーネントをビルドするときに、説明的なパラメーター名を引き継ぐことができれば、それを実行したと思います。

そうは言っても、私の理論は完全に、Android SDK / Eclipse を使用している間の私自身の観察に基づいています。実際には不可能であると具体的に読んだことはありません。

于 2012-06-15T19:31:46.513 に答える