2017-05-15 54 views
1

當我將圖像添加到res> drawable並使用數組顯示它以在listview中顯示它時,它工作正常。但是如何從SQL Server數據庫中檢索圖像。從Android中的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

在sql server中存儲圖像的數據類型是'image' –

+0

在你的Sql數據庫或Uri中存儲它們的ID,然後檢索它們並加載它們。 –

回答

0

因爲我知道,沒有辦法從數據庫中獲取所有圖像從SQL Server到Android。 欲瞭解更多信息Follow this link

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); 

現在你只需要只有一個對象列表來填充您的所有數據!

加載對象中的所有數據,然後在它上面列出並傳遞給適配器。

您可以存儲圖片通過解碼到Base64,或將您的圖片的Uri存儲在Sql Server中,並使用它們的uri加載它們,並將它們傳遞給Glide或Picasso加載。

+0

現在我已將其更改爲varbinary(max)可以給出代碼示例以瞭解如何使用結果集獲取圖像 –

+0

示例代碼爲什麼? @JoeKevinRayan –

+0

解碼base64 @Atif AbbAsi –

相關問題