В настоящее время я использую FirestoreRecycle для создания recyclerview
. Ниже мой код. У меня есть 3 поля в firestore (comment
, userid
, username
), и они находятся в коллекции. Я думаю, что я все делаю правильно, но они продолжают говорить, что:
"java.lang.NoClassDefFoundError: Ошибка разрешения: Lcom / google / firebase / firestore / MetadataChanges"
и проблема в части запроса.
Можете ли вы помочь мне здесь?
getimage()
- это метод для получения URI изображения, который userid
RecyclerView recyclerView = findViewById(R.id.comment_recycle);
recyclerView.setHasFixedSize(true);
LinearLayoutManager manager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(manager);
Query query = ref.collection("comments");
FirestoreRecyclerOptions<comment_items> options = new FirestoreRecyclerOptions.Builder<comment_items>()
.setQuery(query, comment_items.class)
.build();
adapter = new FirestoreRecyclerAdapter<comment_items, recycHolder>(options) {
@NonNull
@Override
public recycHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.each_comments, viewGroup,false);
return new recycHolder(v);
}
@Override
protected void onBindViewHolder(@NonNull recycHolder holder, int position, @NonNull comment_items model) {
holder.comment.setText(model.getuser_content());
Picasso.get().load(model.getImage()).into(holder.user_image);
holder.username.setText(model.getuser_name());
}
@Override
public void onError(FirebaseFirestoreException e) {
Log.e("error", e.getMessage());
}
};
adapter.notifyDataSetChanged();
commentrecycle.setAdapter(adapter);
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath'com.google.gms:google-services:4.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.google.android.gms') {
details.useVersion '12.0.1'
}
if (requested.group == 'com.google.firebase') {
details.useVersion '12.0.1'
}
}
}
jcenter()
maven {
mavenCentral()
url "http://oss.sonatype.org/content/repositories/snapshots/"
}
maven { url 'https://mapbox.bintray.com/mapbox' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}