我正在使用Android Studio中的应用程序 . 我设法将我的应用程序连接到 firebase
,我从中获得了一些英文图像和描述 . 由于我希望我的应用程序支持多种语言,有没有办法将数据从数据库转换为我的Android应用程序中的其他语言?
我知道如何使用静态数据,使用 strings.xml
,但我只是想知道如果数据是从 firebase
加载的话我能做到吗?
编辑***
我正在使用RecyclerView和CardView从firebase中提取图像及其描述 . 为了我使用:
-
图像类(POJO类)
-
图像适配器类
public class ImageAdapter extends RecyclerView.Adapter<ImageViewHolder> {
ArrayList<Image> mImages;
public ImageAdapter(ArrayList<Image> mAds)
{
this.mImages = mAds;
}
@Override
public ImageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflatedView = LayoutInflater.from(parent.getContext()).inflate(R.layout.image_item, parent, false);
return new ImageViewHolder(inflatedView);
}
public void onBindViewHolder(ImageViewHolder holder, int position) {
final Image image = mImages.get(position);
holder.bindAd(image);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Toast.makeText(view.getContext(), "Hello", Toast.LENGTH_SHORT).show();
//Open New Activity show details about advertisment
Intent intent = new Intent(view.getContext(), ImageDetails.class);
intent.putExtra("ad",image);
view.getContext().startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mImages.size();
}
}
- 图像视图持有者类:
public class ImageViewHolder extends RecyclerView.ViewHolder {
private ImageView mAdImage;
private TextView mAdName;
public ImageViewHolder(View itemView) {
super(itemView);
mAdImage = (ImageView) itemView.findViewById(R.id.ad_image);
mAdName = (TextView) itemView.findViewById(R.id.ad_name);
}
public void bindAd(Image ad) {
mAdName.setText(ad.name);
Glide.with(mAdImage.getContext()).load(ad.image1).into(mAdImage);
}
}
- ImageDetails类(单击图像时,将打开其描述)
public class ImageDetails extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.image_details);
// TO DO
//Ad ad = (Ad) savedInstanceState.getSerializable("ad");
ImageView imageView = (ImageView) findViewById(R.id.imageAdDetails);
TextView textView = (TextView) findViewById(R.id.textAdDetails);
TextView textDesc = (TextView) findViewById(R.id.descriptionAdDetails);
if (getIntent().hasExtra("ad")) {
Image ad = (Image) getIntent().getSerializableExtra("ad");
textView.setText(ad.name);
textDesc.setText(ad.AdDescription);
Glide.with(imageView.getContext()).load(ad.image1).into(imageView);
}
}
}