Last active
August 7, 2020 06:48
-
-
Save crazy-diya/0eb880d3fe1369b0813dd62a423e2947 to your computer and use it in GitHub Desktop.
Retrive image in Firebase Database using GridView in Android Studio Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.learningfirebase; | |
import androidx.annotation.NonNull; | |
import androidx.appcompat.app.AppCompatActivity; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
import android.content.Context; | |
import android.os.Bundle; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.BaseAdapter; | |
import android.widget.GridView; | |
import android.widget.ImageView; | |
import android.widget.ListView; | |
import android.widget.Toast; | |
import com.google.firebase.database.DataSnapshot; | |
import com.google.firebase.database.DatabaseError; | |
import com.google.firebase.database.DatabaseReference; | |
import com.google.firebase.database.FirebaseDatabase; | |
import com.google.firebase.database.ValueEventListener; | |
import com.squareup.picasso.Picasso; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class ImageRetrieve extends AppCompatActivity { | |
DatabaseReference databaseReference; | |
GridView gridView; | |
ArrayList<Upload> list; | |
CustomAdapter customAdapter; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_image_retrieve); | |
databaseReference = FirebaseDatabase.getInstance().getReference("Images"); /**Inniciate databaseReferance eka*/ | |
gridView = (GridView) findViewById(R.id.grdv1); | |
list = new ArrayList<>(); /**Array list eke data type eka wenne Upload Class eka... eeka nisa access karaddid ehenmama wenna oone*/ | |
customAdapter = new CustomAdapter(this,list); | |
gridView.setAdapter(customAdapter); | |
databaseReference.addValueEventListener(new ValueEventListener() { | |
@Override | |
public void onDataChange(@NonNull DataSnapshot dataSnapshot) { | |
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){ | |
System.out.println(dataSnapshot1); | |
Upload upload = dataSnapshot1.getValue(Upload.class); /**dataSnapshot1 eken ganna value class ekakataa add karanawa eewa access karanna pahasu wemma*/ | |
list.add(upload); /**Object eka list ekata add karanawa*/ | |
} | |
/*Awasaanayedi list ekata object okkoma assign wela*/ | |
customAdapter.notifyDataSetChanged(); // Api Custome adapter eka notify karanawa | |
} | |
@Override | |
public void onCancelled(@NonNull DatabaseError databaseError) { | |
Toast.makeText(ImageRetrieve.this, databaseError.getMessage(), Toast.LENGTH_SHORT).show(); | |
} | |
}); | |
} | |
} | |
class CustomAdapter extends BaseAdapter{ | |
Context context; | |
ArrayList<Upload> list; | |
LayoutInflater layoutInflater; | |
public CustomAdapter(Context context, ArrayList<Upload> list) { | |
this.context = context; | |
this.list = list; | |
layoutInflater = LayoutInflater.from(context); | |
} | |
@Override | |
public int getCount() { | |
return list.size(); | |
} | |
@Override | |
public Object getItem(int position) { | |
return null; | |
} | |
@Override | |
public long getItemId(int position) { | |
return 0; | |
} | |
@Override | |
public View getView(int position, View convertView, ViewGroup parent) { | |
convertView = layoutInflater.inflate(R.layout.item_view,null); | |
ImageView imageView = (ImageView) convertView.findViewById(R.id.imageItem); | |
Upload currentUpload = list.get(position);/**methandi List eke current item eka Upload class ekata set wenawa*/ | |
Picasso.get(). | |
load(currentUpload.getImgUrl()). /** E Set una current item eke getImgUrl() method ekata cl karala return karagannawa image eke url eka */ | |
into(imageView); /**set wenawa imageView ekata*/ | |
return convertView; | |
} | |
} | |
class Upload{ | |
private String imgUrl; | |
public Upload() { | |
} | |
public Upload(String imgUrl) { | |
this.imgUrl = imgUrl; | |
} | |
public String getImgUrl() { | |
return imgUrl; | |
} | |
public void setImgUrl(String imgUrl) { | |
this.imgUrl = imgUrl; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment