Как получить ВСЕ изображения, сохраненные в БД SQLite, в макет? - PullRequest
0 голосов
/ 11 января 2012

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

вот мой макет xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout 


android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">



<TextView
    android:id="@+id/showTv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Show Data" />

    <ImageView
        android:id="@+id/showIv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/marker_default" 
        />"

 </LinearLayout>

</LinearLayout> 

я попробовал следующие фрагменты кода отдельно,

 String[] columns = new String[]{"_id", "name","description","image"};
    Cursor c = myDb.query(DATABASE_TABLE, columns, null, null, null, null, null);
    if (c.getCount()>0){
    c.moveToNext();
    byte[] data = c.getBlob(c.getColumnIndex("image"));
    return data;
    }else{
    return null;

// я преобразовал байтовый массив в растровое изображение и отображается на макете

String result = "";
    int iname= c.getColumnIndex("name");
    int ides= c.getColumnIndex("description");
    TextView tv = (TextView) findViewById(R.id.showTv);
    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {                    
    result += c.getString(iname) + c.getString(ides);    

    }
    return result;

но я хочу собрать вместе и изображение, и описание для ВСЕХ данных.
Пожалуйста, предложите мне метод для всех изображений и описание по одному.

Спасибо ...

1 Ответ

0 голосов
/ 11 января 2012

Созданный вами макет не будет поддерживать более одного изображения.Поскольку существует только один ImageView.Если, конечно, вы не хотите много манипулировать изображениями.Таким образом, вы должны выбрать вид, который соответствует вашим потребностям.Я бы посмотрел на виджет Галерея или виджет ListView.Затем вам нужно создать адаптер курсора, который будет адаптировать данные из вашей базы данных к виджету вашей галереи или списка.

Посмотрите на: просмотр списка с sqllite

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