web-dev-qa-db-ja.com

RecyclerView for Android L-previewのインポート方法

サポートライブラリから新しいRecyclerViewを使用しようとしています。私はSDKマネージャを使用してサポートライブラリ用の20のアップデートをダウンロードしました。

私はlibファイルにjarファイルを追加しました - そしてビルドパスに追加しました - RecyclerViewを使用して運が良かったです。

Android Developer's API に従ってgradle依存関係も使用しようとしました - これが正しい場所であるかどうかわからない - このページはAndroidTVに関連している可能性があります:

 com.Android.support:recyclerview-v7:20.0.+

プロジェクトをGrade同期できません。

何か案は?

87
micnoy

理解した。

次のgradle依存関係を追加する必要があります。

compile 'com.Android.support:recyclerview-v7:+'

私がコンパイルしたもう一つの問題はcompileSdkVersionでした。どうやらあなたはそれをAndroid-Lに対してコンパイルしなければならないでしょう

Build.gradleファイルは次のようになります。

apply plugin: 'Android'
Android {
    compileSdkVersion 'Android-L'
    buildToolsVersion '19.1.0'
    [...]
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:recyclerview-v7:+'
}
164
micnoy

私は以下の行を使って作成しました、そしてこれは私のために働きます。

implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:recyclerview-v7:28.0.0'

AndroidXの場合

implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha06'
implementation 'androidx.cardview:cardview:1.0.0'

完全なチュートリアルについては、 こちら を参照してください。

76
Gunaseelan

これは私のために働く:

compile 'com.Android.support:recyclerview-v7:21.0.0-rc1'
9
Andras K

RegraclerViewは、デザイン依存性をアプリグレードでコンパイルすることで追加できます。

dependencies {
...
compile 'com.Android.support:design:24.0.0'
}
7
Bryon Nicoson

あなたがコンパイルされたSDKバージョン22.2.0を持っているならば、cardViewのサポートのためにリサイクル業者ビューとカードビュー追加のために以下の依存関係を追加

// ディレクトリlib内のすべてのライブラリを含めるため
compile fileTree(include: ['*.jar'], dir: 'libs')
// appcompatのサポート用
compile 'com.Android.support:appcompat-v7:22.2.0'
// グーグルサポートデザインを含む(2.3以降のマテリアルデザインテーマの実装を可能にします)
`comp.comndAndroid.support:design:22.2.0 '

リサイクラービューを追加するための依存関係
compile 'com.Android.support:recyclerview-v7:22.2.0'


その後、[ビルド] - > [プロジェクトの再構築]をクリックすると完了です。

4
yubaraj poudel
compile 'com.Android.support:recyclerview-v7:24.2.1'

これは私のために働きます。それを試してみてください。

3
Dino Sunny

私の場合はcompile 'com.Android.support:recyclerview-v7:22.0.0'を私のgradle buildに依存関係として入れることで修正しました

(Android Studio v。1.2.1.1およびすべてのSDKが更新されています。)

コードがそれほど速く更新され、IDEがそれらを追跡できない場合、それは本当に厄介です。そして手動でそれらを修正しなければならず、時間とリソースを浪費します。

しかし、最後にそれはうまくいきます。

2
implementation 'com.Android.support:appcompat-v7:28.0.0'

implementation 'com.Android.support:recyclerview-v7:28.0.0'

上で私のためにbuild.gradleファイルで動作します

2
Vaibhav Thakur

依存関係をbuild.gradleに含め、プロジェクトをgradleファイルと同期します。

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.Android.support:appcompat-v7:25.1.0'

    //include the revision no, i.e 25.1.1
    implementation 'com.Android.support:recyclerview-v7:25.1.1'
}

予期しないビルドを避けるためにリビジョン(ここでは25.1.1)を含めてください。チェック ライブラリのリビジョン

2
Azzy

私の前のステップはただ1つのステップを見逃しています。

build.gradle(Module:app)を変更し、次の依存関係を追加した後:

'com.Android.support:cardview-v7:21.0.+'をコンパイルしてください。
'com.Android.support:recyclerview-v7:21.0.+'をコンパイルしてください

(必要に応じてカードビューを追加してください)

エラーを取り除くには、Build> Clean Projectに移動する必要があります。

2
Junior Hazel
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:21.0.3'
compile 'com.Android.support:recyclerview-v7:21.0.0'
}

Build.gradleファイルに上記のような依存関係を作成してください。

2
yubaraj poudel

私はこれを使用して私のために働いています。 appcompatのどのバージョンを使用しているかを検討する必要があります。私はappcompat-v7:26.+を使っているのでこれは私のために働いています。

implementation 'com.Android.support:recyclerview-v7:26.+'
1
Vicky Pramanik

私は古いデバイスでRecyclerViewを使うために小さなハックを使いました。私はローカルのm2レポジトリに入ってRecyclerViewのソースファイルを選び、それらを私のプロジェクトに入れました。

あなたはここにソースコードを見つけることができます:

<Android-SDK>\extras\Android\m2repository\com\Android\support\recyclerview-v7\21.0.0-rc1\recyclerview-v7-21.0.0-rc1-sources.jar

1
rekire

activity_main.xmlDESIGN部分に移動します。 - ドラッグドロップパレットでappCompactivityを選択します。 -InappCompactivity選択RecyclerView-On選択ダイアログが表示されます。クリックOK - あなたのプロジェクトアプリ:gradleは自動的に更新されます

1
Vishal Singh

他の答えは私にはうまくいきませんでした。私はこの行を追加しなければなりませんでした:

'com.Android.support:recyclerview-v7:21.0.0'をコンパイルしてください。

1
Chad Bingham

私の依存関係

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.Android.support:appcompat-v7:25.1.0'

    //RecyclerView dependency
    compile 'com.Android.support:recyclerview-v7:25.1.0'

    // Instrumentation dependencies use androidTestCompile
    // (as opposed to testCompile for local unit tests run in the JVM)
    androidTestCompile 'junit:junit:4.12'
    androidTestCompile 'com.Android.support:support-annotations:25.1.0'
    androidTestCompile 'com.Android.support.test:runner:0.5'
    androidTestCompile 'com.Android.support.test:rules:0.5'
}

私は追加しました'com.Android.support:recyclerview-v7:25.1.0'をコンパイルします。重要なことは、同じバージョン as appcompatというRecycleView依存関係を追加することです。

1

Android Studio用の更新版または2018年版を使用している場合...

compile 'com.Android.support:recyclerview-v7:+'

「Configuration 'compile'は廃止され、 'implementation'と 'api'に置き換えられました。2018年末に削除される予定です。)というメッセージが表示されてエラーが発生します。

これを使ってみる

implementation 'com.Android.support:recyclerview-v7:+'
1
TwistenTiger

これは私のために働く

インターネット許可を定義する

 <uses-permission Android:name="Android.permission.INTERNET" >

依存関係を追加する

compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    compile 'com.squareup.okhttp3:okhttp:3.4.1'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile ('com.squareup.retrofit2:converter-simplexml:2.1.0'){
        exclude group: 'stax', module: 'stax-api'
        exclude group: 'stax', module: 'stax'
        exclude group: 'xpp3', module: 'xpp3'
    }

主な活動で

import Android.support.v7.app.AppCompatActivity;
import Android.os.Bundle;
import Android.util.Log;
import Android.widget.TextView;
import Android.widget.Toast;

import Java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.simplexml.SimpleXmlConverterFactory;

public class MainActivity extends AppCompatActivity {
    private BreakfastMenu breakfastMenu;
    List<BreakfastMenu> list;
    TextView responseText;
    APIInterface apiInterface;
    String name;
    String price;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        responseText=(TextView)findViewById(R.id.reponseText);
        apiInterface = APIClient.getClient().create(APIInterface.class);


        /**
         GET List Resources
         **/
        Call<BreakfastMenu> call = apiInterface.getBreakfastMenu();
        call.enqueue(new Callback<BreakfastMenu>() {
            @Override
            public void onResponse(Call<BreakfastMenu> call, Response<BreakfastMenu> response) {
               Log.d("TAG", response.code() + "");

                String displayResponse = "";
                BreakfastMenu resource = response.body();
                System.out.println(displayResponse+"display response   ");

                for (Food food : resource.getFoodList())
                {
                    name=food.getName();
                    price=food.getPrice();
                    System.out.println(name+price+"=========================================");
                    displayResponse += food.getName() + " " + food.getPrice()+"\n"+"\n";
                    Toast.makeText(MainActivity.this,name+price,Toast.LENGTH_LONG).show();
                }
                responseText.setText(displayResponse);

            }

            @Override
            public void onFailure(Call<BreakfastMenu> call, Throwable t) {
                call.cancel();
            }
        });

    }
}

APIClient.Javaクラスを作る

import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.converter.simplexml.SimpleXmlConverterFactory;

class APIClient {

    private static Retrofit retrofit = null;

    static Retrofit getClient() {

        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();


        retrofit = new Retrofit.Builder()
                .baseUrl("https://www.w3schools.com/")
                .addConverterFactory(SimpleXmlConverterFactory.create())
                .build();



        return retrofit;
    }

}

    enter code here

Make APIInterface.Java

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;

interface APIInterface {

    @GET("xml/simple.xml")
    @Headers({"Accept: application/xml",
            "User-Agent: Retrofit-Sample-App"})
    Call<BreakfastMenu> getBreakfastMenu();
}

In BreakfastMenu.Java

import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;

import Java.util.List;

@Root(name = "breakfast_menu")
public class BreakfastMenu
{

    @ElementList(inline = true)
    private List<Food> foodList;

    public BreakfastMenu()
    {
    }

    public List<Food> getFoodList()
    {
        return foodList;
    }

    public void setFoodList(List<Food> foodList)
    {
        this.foodList = foodList;
    }
}

Food.Javaを作る

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name = "food")
public class Food
{

    @Element(name = "name")
    private String name;

    @Element(name = "price")
    private String price;

    @Element(name = "description")
    private String description;

    @Element(name = "calories")
    private String calories;

    public Food()
    {
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getPrice()
    {
        return price;
    }

    public void setPrice(String price)
    {
        this.price = price;
    }

    public String getDescription()
    {
        return description;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getCalories()
    {
        return calories;
    }

    public void setCalories(String calories)
    {
        this.calories = calories;
    }
}

Activity_main.xml内

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" >

        <TextView
            Android:id="@+id/reponseText"
            Android:layout_width="match_parent"
            Android:layout_height="600dp"
          />


</Linear Layout>
0
Sakshi Mehta

まだ誰かがこの問題を抱えているのであれば - compileSdkVersionを変更する必要はありません - これはサポートライブラリの全目的を無効にするだけです。

代わりに、これらをgradle.buildファイルで使用してください。

compile 'com.Android.support:cardview-v7:+'
compile 'com.Android.support:recyclerview-v7:+'
compile 'com.Android.support:palette-v7:+'`
0
andrejbroncek
import Android.support.v7.widget.RecyclerView;

Android Studioでは、インポートは直感的ではありません。このビットをインポートしてみて、それがどのように役立つか見てください!

0
AlleyOOP

プロジェクトにRecyclerViewをインポートするための優れた方法は、 RecyclerViewLib です。これは、RecyclerViewを安全で簡単な実装にするために引き出したオープンソースのライブラリです。作者のブログ記事を読むことができます ここ

次の行をコード内のgradle依存関係として追加します。

dependencies {
    compile 'com.twotoasters.RecyclerViewLib:library:1.0.+@aar'
}

Gradle依存関係を取り込む方法に関する詳細情報:

ボスニアあなたはそれが迷惑であることについて正しいです。 Gradleは複雑に見えるかもしれませんが、非常に強力で柔軟です。あなたはあなたのAndroidアプリを構築することができるように、すべてが巧妙な言語で行われていて、gradleシステムを学ぶことはちょうど別の言語を学ぶことです。それは今痛いが、長期的にはあなたはそれを気に入るはずです。

同じアプリのbuild.gradleをチェックしてください。 https://github.com/twotoasters/RecyclerViewLib/blob/master/sample/build.gradle 以下は、ライブラリをモジュールに組み込む場所です(別名サンプルアプリケーション)。

compile (project (':library')) {
    exclude group: 'com.Android.support', module: 'support-v4' 
}

このファイルの場所に注意してください。これはトップレベルのbuild.gradleではありません

Libソースは同じプロジェクト内にあるので、単純な':library'を使ってこれを行うことができます。 excludeは、サンプルアプリのサポートv4を使用するようにライブラリに指示します。それは必要ではありませんが、良い考えです。あなたは自分のプロジェクトの中にlibのソースを持っていないか、または欲しくないので、あなたはそれをインターネットに向けなければなりません。あなたのモジュールの/ appのbuild.gradleでは、この答えの始めからその行を同じ場所に置くでしょう。または、サンプルの例に従うと、':library'' com.twotoasters.RecyclerViewLib:library:1.0.+@aar 'に置き換えてexcludeを使用できます。

0
MinceMan

ただアップデート。

'compile'は現在廃止されています。 「実装」と「api」に置き換えられました。 2018年末に削除されると思います。詳細については参照してください: http://d.Android.com/r/tools/update-dependency-configurations.html

また、すべてのcom.Android.supportライブラリはまったく同じバージョン仕様を使用する必要があります。さらに、appcompat-v7やrecyclerview-v7などのサポートライブラリでは、compileSdkVersionとは異なるバージョンを使用しないでください。

0
Abdul