I need to use an internal database already populated in my project, I already searched the internet and tried two ways, neither of them came to work, the second now presents this error:
no such table: test (code 1):, while compiling: SELECT * FROM test
I need to solve this, somebody knows some way to solve this, I need an internal bd already populated, someone knows of some api or how to solve it? I'm developing in the latest version of the android *.
Database class
public class DatabaseOpenHelper extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "teste.db";
private static final int DATABASE_VERSION = +1;
public DatabaseOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}
DatabaseAccess class
public class DatabaseAccess {
private SQLiteOpenHelper openHelper;
private SQLiteDatabase database;
private static DatabaseAccess instance;
private DatabaseAccess(Context context) {
this.openHelper = new DatabaseOpenHelper(context);
}
/**
* Return a singleton instance of DatabaseAccess.
*
* @param context the Context
* @return the instance of DabaseAccess
*/
public static DatabaseAccess getInstance(Context context) {
if (instance == null) {
instance = new DatabaseAccess(context);
}
return instance;
}
/**
* Open the database connection.
*/
public void open() {
this.database = openHelper.getWritableDatabase();
}
/**
* Close the database connection.
*/
public void close() {
if (database != null) {
this.database.close();
}
}
public List<String> getQuotes() {
List<String> list = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM teste", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
list.add(cursor.getString(1));
cursor.moveToNext();
}
cursor.close();
return list;
}
}
MainActivity class
public class MainActivity extends AppCompatActivity {
private ListView lv;
private ListaAdapter adapter;
private List<Produtos> lista;
//private DataBaseHelper dataBaseHelper;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.listView = (ListView) findViewById(R.id.lv);
DatabaseAccess databaseAccess = DatabaseAccess.getInstance(this);
databaseAccess.open();
List<String> quotes = databaseAccess.getQuotes();
databaseAccess.close();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, quotes);
listView.setAdapter(adapter);
}
}