MonoDroid drawable.createfromstream - PullRequest
0 голосов
/ 20 мая 2011

Я читаю изображение из моего sqlite db в MemoryStream.Я ищу начало потока моей памяти, а затем передаю его в Drawable.CreateFromStream, и он вылетает.Я проверил, что поток содержит правильные данные, сохранив их в файл и открыв файл.

не может найти примеры того, как загрузить изображение, отсутствующее в ресурсах, в imageView.

любая помощь?

1 Ответ

0 голосов
/ 20 мая 2011
private static InputStream fetch(String urlString)
        throws MalformedURLException, IOException {

    conn = (HttpURLConnection)(new URL(urlString)).openConnection();
    conn.setDoInput(true);
    conn.connect();
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpGet request = new HttpGet(urlString);
    HttpResponse response = httpClient.execute(request);
    return conn.getInputStream();
}

Resources res;
// ***********New Function For Fetching
public static Drawable LoadImage(String URL, BitmapFactory.Options options) {
    Drawable drawable = null; Bitmap bm = null;
    try {
        if (fetch(URL) != null) {
            try {
                InputStream obj = (InputStream)fetch(URL);
                bm = BitmapFactory.decodeStream(obj,null,options);
                obj.close();
                conn.disconnect();
            } catch(OutOfMemoryError e){}
            catch(IndexOutOfBoundsException e){}
            drawable = new BitmapDrawable(bm);
            return drawable;
        } else {
            bitmap = BitmapFactory.decodeResource(
                        DefaultDisplay.mContext.getResources(),
                        R.drawable.profileplaceholder);
            drawable = new BitmapDrawable(bitmap);
            return drawable;
        }
    } catch (Exception e) {
        Log.e("GUIMethodClasas", "fetchDrawable failed", e);
        return null;
    }
}

Это функция для извлечения изображения из URL.В этой функции я извлекаю данные из URL и помещаю их в InputStream с помощью функции Fetch, а затем преобразую этот поток в объект Drawable и Bitmap.

В вашем случае вам следует прочитать изображение из базы данных SQLite и поместитьзатем создайте изображение из потока так же, как я делал в приведенной выше функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...