web-dev-qa-db-ja.com

プロジェクトでAndroid.support.v7.widget.CardViewを使用する(Eclipse)

新しいAndroid L開発者プレビューサポートライブラリ(前述のように ここ )で導入された新しいCardViewウィジェットを使用したいのですが、これは新しいリビジョンの一部のようですv7サポートライブラリの。

SDKバージョンを更新し、最新のサポートライブラリパッケージをダウンロードしましたが、新しいCardViewウィジェットが見つかりません。

すでにWebと公式ドキュメントを検索しましたが、新しいサポートライブラリの入手先についてのヒントを得ることができませんでした。

どんな助けも大歓迎です!

編集:ADT/Eclipseを使用しています

59
FD_

最終的に、ADT/EclipseでCardViewを使用する方法を見つけました。実際には非常に簡単です。

  1. Android St​​udioで新しいプロジェクトを作成します
  2. この質問に対する他の回答で説明されているように、CardView依存関係を追加します
  3. ADTを開き、パッケージ名Android.support.v7.cardviewで新しいライブラリプロジェクトを作成します
  4. 自動作成されたすべてのリソースADTを削除します
  5. Android St​​udioでexploded-aarフォルダーを見つけ、次のファイルをこれらの場所にコピーします。
    • res/values/values.xmlADTプロジェクトの同じ場所に
    • classes.jarADTプロジェクトのlibs /
    • AndroidManifest.xmlこれを使用して、ADTで自動生成されたマニフェストを置き換えます
  6. Classes.jarをビルドパスに追加し、エクスポートされていることを確認します
  7. CardViewを使用するプロジェクトにライブラリプロジェクトへの参照を追加します。ここでAdding libraries with resourcesで提供されている手順を実行できます。 https://developer.Android.com/tools/support-library/setup.html

AARのコンテンツを取得するために新しいAndroid St​​udioプロジェクトを作成する代わりに、ローカルのMavenリポジトリからAARを見つけて解凍することもできます。以下のAndrew Chenの手順に従ってください。

CardViewライブラリは、まだプレビューとWIPのみであるため、ソースおよびADT互換形式で利用できない場合があります。次のリリースでバグ修正と改善が行われる可能性があるため、ライブラリを最新の状態に保つことが重要です。これはGradle依存関係を使用すると簡単ですが、上記の手順を使用する場合は手動で行う必要があります。

41
FD_

GradleまたはAndroid St​​udioを使用して、com.Android.support:cardview-v7への依存関係を追加してみてください。

現時点では、cardview-v7leanback-v17palette-v7、またはrecyclerview-v7の通常のAndroidライブラリプロジェクトはないようです。 Googleがそのようなライブラリプロジェクトを出荷するかどうか、いつ出荷するかはわかりません。

52
CommonsWare

これをbuild.gradleに追加する必要があります。

dependencies {
    ...
    compile 'com.Android.support:cardview-v7:+'
}

そして、Sync Project with Gradle Files。最後に、説明されているようにCardViewを使用できます here

33
adboco

私は以下を実行しましたが、Eclipseプロジェクトで機能していない場合に他のウィジェットにも使用する可能性があるrecyclerviewの問題を解決します。

sdk\extras\Android\m2repository\com\Android\support\recyclerview-v7\21.0.0-rc1ディレクトリに移動します

recyclerview-v7-21.0.0-rc1.aarファイルをコピーし、名前を.Zipに変更します。

•ファイルを解凍すると、classes.jarが得られます(jarファイルの名前をより意味のある名前に変更します)

•プロジェクトビルドパスまたはlibディレクトリで次のjarを使用します。

そしてそれはあなたのエラーを解決します。

ハッピーコーディング:)

27
Rajat Sharma

https://github.com/yongjhih/CardView

CardView v7 Eclipseプロジェクト。 (sdk/extras/Android/m2repository/com/Android/support/cardview-v7から)

プロジェクトは次の手順で構築されました。

cp {sdk}/extras/Android/m2repository/com/Android/support/cardview-v7/21.0.0-rc1/cardview-v7-21.0.0-rc1.aar cardview-v7-21.0.0-rc1.Zip
unzip cardview-v7-21.0.0-rc1.Zip
mkdir libs/
mv classes.jar libs/cardview-v7-21.0.0-rc1.jar
19
Andrew Chen

私はそれらの2つを一緒に追加した後にのみ解決できました:

dependencies {
...
implementation 'com.Android.support:recyclerview-v7:27.1.1'
implementation 'com.Android.support:cardview-v7:27.1.1'
...
}

in build.gradle(Module:app)ファイル

そして今すぐ同期ボタンを押します

10
Roy Doron

公式ドキュメントはこちら に隠されていますが、ライブラリはSDKのコード内で見つけることができ、リソースを使用して取得する方法(Eclipseの方法)

3
Eloi Navarro

From: https://developer.Android.com/tools/support-library/setup.html#libs-with-res

リソースを含むライブラリの追加アプリケーションプロジェクトにリソース(アクションバーのv7 appcompatなど)を含むサポートライブラリを追加するには:

Eclipseを使用する

サポートライブラリコードに基づいてライブラリプロジェクトを作成します。

  • SDKマネージャーを使用してAndroidサポートライブラリをダウンロードしたことを確認してください。

  • ライブラリプロジェクトを作成し、必要なJARファイルがプロジェクトのビルドパスに含まれていることを確認します。

  • [ファイル]> [インポート]を選択します。

  • [既存のAndroid Code Into Workspace]を選択し、[次へ]をクリックします。

  • SDKインストールディレクトリを参照し、次にサポートライブラリフォルダーを参照します。たとえば、appcompatプロジェクトを追加する場合は、/ extras/Android/support/v7/appcompat /を参照します。

  • [完了]をクリックして、プロジェクトをインポートします。 v7 appcompatプロジェクトの場合、Android-support-v7-appcompatというタイトルの新しいプロジェクトが表示されます。

  • 新しいライブラリプロジェクトで、libs /フォルダーを展開し、各.jarファイルを右クリックして[ビルド]を選択します。

  • [パス]> [ビルドパスに追加]。たとえば、v7 appcompatプロジェクトを作成する場合、Android-support-v4.jarファイルとAndroid-support-v7-appcompat.jarファイルの両方をビルドパスに追加します。

  • ライブラリプロジェクトフォルダーを右クリックし、[ビルドパス]> [ビルドパスの構成]を選択します。

  • [順序とエクスポート]タブで、ビルドパスに追加したばかりの.jarファイルを確認し、このライブラリプロジェクトに依存するプロジェクトで使用できるようにします。たとえば、appcompatプロジェクトでは、Android-support-v4.jarファイルとAndroid-support-v7-appcompat.jarファイルの両方をエクスポートする必要があります。

  • Android依存関係のチェックを外します。

  • [OK]をクリックして変更を完了します。

  • これで、1つ以上のアプリケーションプロジェクトで使用できる、選択したサポートライブラリのライブラリプロジェクトが作成されました。

  • ライブラリをアプリケーションプロジェクトに追加します。

  • プロジェクトエクスプローラーで、プロジェクトを右クリックし、[プロパティ]を選択します。

  • ダイアログの左側にあるカテゴリパネルで、[Android]を選択します。

  • [ライブラリ]ペインで、[追加]ボタンをクリックします。

  • ライブラリプロジェクトを選択し、[OK]をクリックします。たとえば、appcompatプロジェクトはAndroid-support-v7-appcompatとしてリストされる必要があります。

  • プロパティウィンドウで[OK]をクリックします。

2
I'm_With_Stupid

ここに答えを追加するのが少し遅れているのかもしれません。しかし、この答えは後の人、特にAndroid St​​udioを使用したくない人に役立つと思います。

ドキュメントには、RecyclerViewとCardViewはv7 appcompatライブラリの一部であると書かれていますが。しかし、私が試して見つけたように、RecyclerViewとCardViewは実際にはv7 appcompatライブラリに依存しています。したがって、RecyclerViewまたはCardViewを使用する場合は、v7 appcompatライブラリとRecyclerView/CardViewの両方を追加する必要があります。

リンクを参照 here 、Eclipse AndroidプロジェクトでCardViewを使用する場合は、v7 appcompatライブラリとCardViewの両方をEclipseワークスペースにインポートし、ライブラリプロジェクトとして作成する必要があります。次に、CardViewプロジェクトをv7 appcompatライブラリプロジェクトに依存させ、プロジェクトをCardViewプロジェクトに依存させます。

2
Michelle

build.gradleプロジェクトに次の行を追加するだけです

dependencies {
    ...
    compile 'com.Android.support:cardview-v7:24.0.0'
}

そして、プロジェクトをgradleと同期します。

2
Pihu

私はFD_が言ったことをしましたが、「Landroid/support/v7/cardview/R $ styleable;」を探していたときにエラーでクラッシュしました。

Eclipseで独自のライブラリを取得する前にCardViewを本当に使用する場合は、classes.jarからクラスを抽出し、Androidから上のvalues.xmlを使用してプロジェクトにコピーして貼り付けます。 _ Studioを選択し、コピーしたクラスでAndroid.support.v7.Rへのすべての参照をyourpackagename.Rに変更します。これは私のために働いて走りました

0
Kieron