Имею базу данных, сделал собственную разметку, делаю запрос из базы, что-то идет не так... помогите пожалуйста найти в чем ошибка)) Запрос проходит, данные вытягиваются, но не вставляются в разметку...
DBHelper.java:
package com.example.newadapterexample30;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "restaurant"; // имя БД
public static final int DB_VERSION = 1; // версия БД
public static final String TABLE_CONTACTS = "contacts";
public static final String KEY_ID = "ID";
public static final String KEY_NAME = "NAME";
public static final String KEY_DESCRIPTION= "DESCRIPTION";
public static final String KEY_IMAGE = "IMAGE";
public DBHelper(Context context) {
super(context,DB_NAME,null,DB_VERSION );
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_CONTACTS + "(" + KEY_ID + " INTEGER PRIMARY KEY,"
+ KEY_NAME + " TEXT,"
+ KEY_DESCRIPTION + " TEXT,"
+ KEY_IMAGE +" INTEGER" + ")");
ContentValues cv = new ContentValues();
cv.put(KEY_NAME, "Igor");
cv.put(KEY_DESCRIPTION, "email1@email.com");
cv.put(KEY_IMAGE, R.drawable.americanosmall);
db.insert(TABLE_CONTACTS, null, cv);
cv.put(KEY_NAME, "Dima");
cv.put(KEY_DESCRIPTION, "email2@email.com");
cv.put(KEY_IMAGE,R.drawable.blackcoffesmall);
db.insert(TABLE_CONTACTS, null, cv);
cv.put(KEY_NAME, "Alex");
cv.put(KEY_DESCRIPTION, "email3@email.com");
cv.put(KEY_IMAGE,R.drawable.cappuchinosmall);
db.insert(TABLE_CONTACTS, null, cv);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
MainActivity.java:
package com.example.newadapterexample30;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
public ListView listView;
private SQLiteDatabase db;
private Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = (ListView)findViewById(R.id.lv);
SQLiteOpenHelper FirstMealOpenHelper = new DBHelper(this);
db = FirstMealOpenHelper.getWritableDatabase();
try {
cursor = db.query(DBHelper.TABLE_CONTACTS,null,null,null,null,null,null);
Toast.makeText(this, Integer.toString(cursor.getCount()), Toast.LENGTH_SHORT).show();
Toast.makeText(this, Integer.toString(cursor.getColumnCount()), Toast.LENGTH_LONG).show();
String from [] = new String[]{DBHelper.KEY_NAME,DBHelper.KEY_DESCRIPTION,DBHelper.KEY_IMAGE};
int[] to = new int[] {R.id.tvName, R.id.tvEmail ,R.id.img};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.itam,cursor,from,to,0);
listView.setAdapter(adapter);
} catch (Exception e) {
Toast.makeText(this,"Ошибка", Toast.LENGTH_LONG).show();
}
db.close();
}
}
main.xml:
itam.xml:
Заранее всем спасибо, кто откликнется!)
Вопрос задан
более трёх лет назад
213 просмотров