2017-03-21 7 views
0

webservicesとjsonを使用して、android xamarinのlistviewへのSQLデータベースからのイメージの表示方法?webservicesとjsonを使用してandroid xamarinのリストビューにSQLデータベースからイメージを表示するには?

public override View GetView(int position, View convertView, ViewGroup parent) 
    { 
     var item = objList[position]; 

     if (convertView == null) 
     { 
      convertView = objActivity.LayoutInflater.Inflate(Resource.Layout.ContListViewHospName, null); 
     } 
     convertView.FindViewById<TextView>(Resource.Id.tvHospID).Text = item.HospID; 
     convertView.FindViewById<TextView>(Resource.Id.tvHospName).Text = item.HospName; 

     byte[] img = (byte[])item.HospLogo; 

     Bitmap bitmap = BitmapFactory.DecodeByteArray(item.HospLogo, 0, item.HospLogo.Length); 

     convertView.FindViewById<ImageView>(Resource.Id.imgLogo).SetImageBitmap(bitmap); 
     return convertView; 
    } 

答えて

0

私はその後、私は1つの文字列であなたの店のバイナリ値は次のようになります必要があります

私のアンドロイドのプロジェクトで私のCSファイルに値を転送するためにJSONを使用し、1つの文字列変数にバイナリ値を格納: "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAIABJREFUeJzsvfd33EiW7/mJgEtHb0WKFGWqSuW96epqM9P9+s30mZ/2j33n7O7Zt/Nme8zr6emu6i5fk........"

これは、base64バイトです。あなただけのbyte[]stringを変換する(byte[])を使用することはできません。

あなたがSystem.Convert.FromBase64String()機能を使用する必要があります。その後、

//The string is download form server in the json file 
string myBytes = "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAIABJREFUeJzsvfd33EiW7/mJgEtHb0WKFGWqS........" 
byte[] decByte3 = System.Convert.FromBase64String(myBytes); 

そしてイメージにバイトを変換します。

public Bitmap Bytes2Bimap(byte[] b) 
    { 
     if (b.Length != 0) 
     { 
      return BitmapFactory.DecodeByteArray(b, 0, b.Length); 
     } 
     else 
     { 
      return null; 
     } 
    } 

と描画可能にビットマップを変換します。

Bitmap myIcon = Bytes2Bimap(decByte3); 
Drawable myIconD = new BitmapDrawable(myIcon); 
imageView1.Background = myIconD; 
+0

ありがとうございます。これは私のために働いています..このコードは、3日間の調査の結果、私に結果を得ました。ありがとうございます。 – Sashant

0

あなたのイメージはまた、あなたは、幅と高さのようなレイアウトに適切な寸法が設定されていることを確認してくださいhere

のように、それを拡張するためにあまりにも大きな挑戦であるように。

+0

データベースでの私のイメージは100pxにX 100pxにPNG形式に設定され、問題があります私はSQL Serverデータベースを介してデータベースから画像を取得しています。私はバイナリ値を1つの文字列変数に格納しています。その後、jsonを使用してアンドロイドプロジェクトのcsファイルに値を転送します。今はcsファイルでSystem.Byte []形式で表示されるイメージの値を取得すると、byte []変数に格納すると型キャストを使用する場合にのみ許可されます。今私はこのbyte []をimageViewに設定するビットマップに変換しようとするとエラーが出る。これは私の主な問題です。前もって感謝します。 – Sashant

関連する問題