Sqlite base de datos no creada
Estoy utilizando el enfoque estándar que he aprendido del ejemplo popular bloc de notas para la construcción de mi primera aplicación.
Pero me quedé atrapado en un extraño problema.
El archivo de base de datos SQLite (.db) no se está creando en / data / data / package / databases. He comprobado el archivo del manifiesto y el archivo de OpenHelper de HeadFirst android dev. Libro (lo estoy utilizando como una referencia) pero me encontré incapaz de averiguar por qué el archivo de base de datos no se crea ..
¿Hay algún permiso especial o algo que necesitamos para encenderlo para que funcione?
Lo extraño es que su trabajo bien para los ejemplos precargados. Significa que el archivo ".db" se crea para el ejemplo del bloc de notas, pero cuando lo intento, falla. 🙁
Aquí están mis archivos.
Paquete – database.test
- Usar insertWithOnConflict para actualizar o insertar
- ORM en Android SQLite y esquema de base de datos
- Patrón de diseño recomendado para escribir en la base de datos SQLite en Android
- Evitar duplicar la entrada en la base de datos sqllite android
- Android Rating Bar muestra sólo estrellas completas, no media estrellas también
1. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Database_testActivity" android:label="@string/app_name" > </activity> </application>
2.TestOpenHelper.java
package database.test; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class TestOpenHelper extends SQLiteOpenHelper { TestOpenHelper(Context context){ super(context,"mydb.db",null,1); } @Override public void onCreate(SQLiteDatabase database){ database.execSQL("create table test_1 " + " (field1 integer primary key, field2 integer);"); } public void onUpgrade (SQLiteDatabase database, int oldVersion, int newVersion){ database.execSQL("drop table if exists test1"); onCreate(database); } }
3.Database_testActivity.java
package database.test; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; public class Database_testActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ListView listview = (ListView)findViewById(R.id.test_list); TestAdapter ta = new TestAdapter(); listview.setAdapter(ta); TestOpenHelper openHelper = new TestOpenHelper(this); } }
Sé que es una pregunta muy básica, pero he estado tratando de resolver esto durante los últimos quince días y ahora estoy completamente frustrado.
Por favor ayuda ..
- Manejo del almacenamiento de disco completo en Android
- Consulta SQLite en Android para contar filas
- ¿Es Parse.com un servicio adecuado para la copia de seguridad / sincronización con SQLite en Android?
- Contexto de acceso en ContentProvider
- Diferencia entre rawquery y execSQL en android sqlite base de datos
- El error del cursor en Android me dice que la columna no existe
- ¿Debo usar un proveedor de contenido?
- Error al abrir la base de datos / Error al cambiar la configuración regional de (base de datos) a 'en_US'
Cambia esto:
database.execSQL("create table test_1 " + " (field1 integer primary key, field2 integer)");
Y este TestOpenHelper openHelper = new TestOpenHelper(this);
Cambie a SQLiteDatabase db = new TestOpenHelper(this).getWritableDatabase();
Realmente no creó la base de datos, sólo crear instancia de su SQLiteOpenHelper
pero para crear o abrir la base de datos que tiene que utilizar el getWritableDatabase()
o getReadableDatabase()
.
Exactamente de docs:
Crear y / o abrir una base de datos que se utilizará para leer y escribir.
- ¿Cómo se puede restringir la orientación de la pantalla horizontal en android?
- Cómo crear barra de progreso como la imagen en Android