当我将图像添加到res> drawable并使用数组显示它以在listview中显示它时它可以正常工作。但是如何从SQL Server数据库中检索图像。
这是我的MainCourse.java,它是main.java,用于显示图像。
package com.example.lenovo.redcabins;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
/**
* Created by Lenovo on 4/27/2017.
*/
public class MainCourseList extends ArrayAdapter<String> {
private final Activity context;
private final String[] itemname;
private final Integer[] imgid;
public MainCourseList(Activity context, String[] itemname, Integer[] imgid) {
super(context, R.layout.maincourse, itemname);
// TODO Auto-generated constructor stub
this.context=context;
this.itemname=itemname;
this.imgid=imgid;
}
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.maincourse, null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.lbl_maincourselist1);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img_maincourse);
TextView extratxt = (TextView) rowView.findViewById(R.id.lbl_maincourserlist2);
txtTitle.setText(itemname[position]);
imageView.setImageResource(imgid[position]);
extratxt.setText("Description "+itemname[position]);
return rowView;
};
}
这是我的主课程列表java,其中包含用于显示图像的数组适配器
如何显示SQL Server中的图像?
我知道我必须创建一个连接类,我知道这样做的方法。我用来存储数据的图像类型是“图像”。如何将其更改为数组形式。我是初学者
答案 0 :(得分:0)
据我所知,没有办法将数组中的所有图像从sql server下载到android。 有关详细信息Follow this link
答案 1 :(得分:0)
使用**Model Class**
class ImageData{
private String title;
private String Des;
private Uri uriImage; //store uri here
private String Base64; store image in form of string .!
}
public class BitmapConvertorUtility {
public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality)
{
ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
image.compress(compressFormat, quality, byteArrayOS);
return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.DEFAULT);
}
public static Bitmap decodeBase64(String input)
{
byte[] decodedBytes = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
}
Bitmap image= BitmapConvertorUtility.decodeBase64(imageStr);
现在您只需要一个对象列表来填充您的所有数据。!
将所有数据加载到Object中然后在其中列出并将其传递给适配器。
您可以存储图像通过解码到Base64,或者在Sql Server中存储您的图像的Uri并使用它们的uri加载它们并将它们传递给Glide或Picasso来加载。!