我正在使用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);
        }
    }
}