Picasa를 사용하여 Firebase 스토리지에서 해당 URL을 가져 와서 어떻게 가져 와서 이미지를 가져 와서 recyclerview 홀더에로드 할 수 있습니까? 나는 이것을 picasso에서 보았지만 그것을 구현하는 방법을 모른다.
Picasso.with (context) .load ("http://i.imgur.com/DvpvklR.png") .into (이미지); 나는 또한 주변을 검색했지만 내가 본 샘플은 아주 다르다. 여기 Firebase storage에서 recyclerview로 이미지 가져 오기
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.squareup.picasso.Picasso;
import .......
public class FragSearch extends Fragment {
RecyclerView mRecyclerView;
private DatabaseReference mDatabaseReference;
private LinearLayoutManager mLinearLayoutManager;
private StorageReference mStorageRef;
private FirebaseRecyclerAdapter<MsgPack, MessageViewHolder> mFirebaseAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.up_msg, container, false);
mRecyclerView=(RecyclerView)view.findViewById(R.id.recycleNView);
mRecyclerView.setHasFixedSize(false);
mLinearLayoutManager=new LinearLayoutManager(getContext());
return view;
}
@Override
public void onStart() {
super.onStart();
mStorageRef = FirebaseStorage.getInstance().getReference();
mDatabaseReference= FirebaseDatabase.getInstance().getReference();
mFirebaseAdapter=new FirebaseRecyclerAdapter<MsgPack, MessageViewHolder>(
MsgPack.class,
R.layout.post_listing,
MessageViewHolder.class,
mDatabaseReference.child("stackpack"))
{
@Override
protected void populateViewHolder(final MessageViewHolder viewHolder, MsgPack model, int position) {
viewHolder.bText.setText(model.getTopic());
viewHolder.dText.setText(model.getImageurl());
}
};
mRecyclerView.setAdapter(mFirebaseAdapter);
mRecyclerView.setLayoutManager(mLinearLayoutManager);
}
@Override
public void onResume() {
super.onResume();
}
public static class MessageViewHolder extends RecyclerView.ViewHolder{
public TextView aText,bText,cText;
View mView;
LinearLayout pack;
ImageView aImage;
public MessageViewHolder(View v) {
super(v);
mView=v;
bText = (TextView) mView.findViewById(R.id.txtTopic);
aImage=(ImageView)mView.findViewById(R.id.imageView);
/*How do I load retrieve the images via url in my firebase storage using picasso
*/ Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(aImage);
}
}
}
JSON 형식
{"stackpack" : {
"imageurl" : "http://firebase.........er23...",
"topic" : "THANKS"
},
}
.....
public class MsgPack {
private String topic;
private String imageurl;
public MsgPack(){
}
public MsgPackString topic, String imageurl) {
this.topic = topic;
this.imageurl=imageurl;
}
public String getTopic() {
return topic;
}
public String getImageurl() {
return imageurl;
}
public void setTopic(String topic) {
this.topic = topic;
}
public void setImageurl(String imageurl) {
this.imageurl = imageurl;
}
}
단순히 캐릭터가 가리키는 이미지 URL을 (인출 할
firebase storage의 리소스)를 실시간 firebase에서 가져 와서 내 imageview를 불러옵니다. 피카소
당신이 –
은'onBindViewHolder' 어댑터의 방법으로 그것을해야 제발, 내가 onBindViewHolder에서 그것을 할 방법. @vladMatvienko – user7824884
FirebaseRecycleAdapter를 확장하고 onBindViewHolder를 오버라이드하여 –