2017-09-10 6 views
-4

私はAndroid Studioを初めて使用しています。私はRetrofitをサーバー要求に使用しました。私はデータベースに画像を送ろうとしていて、同じ画像に戻って見せたいと思っています。どうしたらいいですか?Android Studioを使用してリストビューでデータベースから画像を表示

+2

方法を試してみてください? – barotia

+2

[Stack Overflowユーザーの研究努力の程度](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)をお読みください。 。 *あなたの問題を調査し、投稿する前に自分でコードを書くことを試みました*。 *特定の*に固執する場合は、あなたが試したことの概要と関連するコードを[最小限で完全であり、検証可能な例](https://stackoverflow.com/help/mcve)に含めてください。 – FluffyKitten

答えて

0
  1. クラスを作成します

    public static Bitmap getImage(byte[] image) { 
        return BitmapFactory.decodeByteArray(image, 0, image.length); 
    } 
    
  2. 画像に変換する必要があり、あなたのイメージをバイト配列に変換して、あなたのDBからバイト配列を取得した後、DBのクエリに

    public static byte[] getBytes(Bitmap bitmap) { 
        ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
        bitmap.compress(CompressFormat.PNG, 0, stream); 
        return stream.toByteArray(); 
    } 
    
  3. を使用して、それを適用しますリストビューのカスタムアダプタを宣言します。

    //your object's class 
    public class Book { 
        String mName; 
        long mPrice; 
        Bitmap mPhoto; 
    } 
    
    //custom adapter 
    public class CustomAdapter extends ArrayAdapter<Book> { 
        public CustomAdapter(Context context, List<Book> books) { 
         super(context, 0, books); 
        } 
    
        @Override 
        public View getView(int position, View convertView, ViewGroup parent) { 
         View row = convertView; 
         if(row == null) { 
          // inflate row layout and assign to 'row' 
         } 
         final thisBook = getItem(position); 
         final ImageView photo = row.findViewById(R.id.photo); 
         photo.setImageBitmap(thisBook.mPhoto); 
    
         return row; 
        } 
    } 
    

またGoogleが研究についてこのtutorial

+0

私はこれは、何人かの人がヘルパーにゼロ努力の質問に答えることを控えてほしいと思っているため、これは打ち切られたと思います。しかし、それは非常に便利なので、私は投票のバランスを取る。質問者が将来非常に短い質問をしてくれるように奨励することができれば、それは素晴らしいことです! – halfer

関連する問題