10

Android プロジェクトに jar ライブラリとして簡単に追加できる Android コンポーネントを作成しようとしています。

このために、パスを使用してグラフィック xml 要素に追加する「res/values/attr.xml」に新しい xml 属性を作成する必要がありました。

 xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"

次に、このプロジェクトを jar ライブラリとして別のプロジェクトにインポートします。新しいプロジェクトでグラフィック コンポーネントを作成するには、以下のパスを変更する必要があります。

 xmlns:app="http://schemas.android.com/apk/res/com.mylibrary"

しかし、パスが正しくありません: カスタム属性が見つかりません。

R ファイルをライブラリ jar に統合することに成功し、xml からアクセスして、次のようなカスタム コンポーネントを宣言することができました。

<PreferenceScreen
  xmlns:android = "http://schemas.android.com/apk/res/android"
 xmlns:app = "http://schemas.android.com/apk/res/com.myLibraryPackage">

<com.myLibraryPackage.mySelfComponent
     android:title="Name"
     android:key="name"
     app:hintText="Input your name"
     android:dialogTitle="Your name "
     app:validator="com.myLibraryPackage.myValidatorClass" />

奇妙なことに、自分のファイル attr.xml を自分のプロジェクトのリソースに入れると、それが機能します。つまり、com.myLibraryPackage.mySelfComponent が見つかります。その場合、なぜ com.myLibraryPackage も見つからないのでしょうか?

(私も交換してみました

xmlns:app="http://schemas.android.com/apk/res/com.myLibraryPackage"

xmlns:app="http://schemas.android.com/apk/res/com.myApplicationPackage"

しかし、それはまだ動作しません)

プロジェクトへの統合を容易にするためにjarを使用することをお勧めします。

私を助けることができるこのような問題に遭遇した人はいますか?

ありがとうございました。

4

1 に答える 1

3

jarライブラリとしてAndroidプロジェクトに簡単に追加できるAndroidコンポーネントを作成しようとしています。

コードとリソースを再利用したい場合、jarファイルでそれを行うことはできません。ライブラリをライブラリプロジェクトに変換する必要があります。

次に、このプロジェクトをjarライブラリとして別のプロジェクトにインポートします。新しいプロジェクトでグラフィックコンポーネントを作成するには、以下のパスを変更する必要があります。

ライブラリプロジェクトを使用している場合でも、アプリケーションに含まれているかのようにカスタム属性を参照します(Androidは、アプリケーションのコンパイル時にすべてのリソースをマージするため)。

xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"
于 2011-05-05T15:05:45.743 に答える