Página 1 de 1
Sqlite com Android
Enviado: 24 Abr 2017 16:40
por AutomoSistema
Boa tarde, estou aventurando no mundo Android e estou desenvolvendo um aplicativo para consulta até ai tudo bem, agora preciso localizar o arquivo.db no smartphone para carregar dados no pc e não localizo, se alguém puder me ajudar fico agradecido!!!!
Sqlite com Android
Enviado: 25 Abr 2017 11:12
por Claudio Soto
Cuando se crea una db con SQLite en Android el archivo se guarda en los datos privados de la aplicación o en el espacio de archivos compartidos, etc. Todo depende como se defina al crear la tabla.
Por ejemplo el siguiente código en Java:
SQLiteDatabase db = openOrCreateDatabase ("MiArchivo.db", MODE_PRIVATE, null);
crea la db en el espacio privado de la aplicacion:
data/data/AppName/...
PD: en la mayoría de los libros dedicados a la Progranación en Android se describe el espacio de dominio de los archivos.
Sqlite com Android
Enviado: 01 Mai 2017 19:17
por AutomoSistema
Boa noite Claudio, o app esta me dando o seguinte retorno java.io.FileNotFoundException:/data/com.automosistema.paxserver/databases/paxserver.db:open failed: ENOENT (No such file or diretory), tem como me ajuda, Muito Obrigado.
Sqlite com Android
Enviado: 01 Mai 2017 19:36
por Claudio Soto
Podrías postear el trecho del código donde se crea/abre la base de datos y los permisos de escritura que especificase en el archivo AndroidManifest.xml
Sqlite com Android
Enviado: 01 Mai 2017 21:00
por AutomoSistema
public class BandoDados extends SQLiteOpenHelper {
public BandoDados(Context context) {
super(context , "paxserver.db" , null , 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL( ScriptTabela.getCreateSocio() );
db.execSQL( ScriptTabela.getCreateDependente() );
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
Sqlite com Android
Enviado: 01 Mai 2017 21:00
por AutomoSistema
Desculpe qualquer coisa, estou começando agora com android
Sqlite com Android
Enviado: 01 Mai 2017 21:02
por AutomoSistema
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/android"
package="com.automosistema.paxserver">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".PesquisaSocio_Activity" />
<activity android:name=".FichaActivity"></activity><!-- ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing. See
https://g.co/AppIndexing/AndroidStudio for more information. -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
Sqlite com Android
Enviado: 01 Mai 2017 22:15
por Claudio Soto
La clase SQLiteOpenHelper me parece que es muy engorrosa para empezar porque hay que sobrescribir métodos y realizar algunos pasos indirectos para manejar la tabla, yo prefiero usar directamente SQLiteDatabase que es más sencilla, aquí va un ejemplo:
// colocar por ejemplo dentro de onCreate()
Código: Selecionar todos
try
{
SQLiteDatabase db = null;
Cursor cursor = null;
String datos;
// crea y/o abre la base de datos
db = this.openOrCreateDatabase(Environment.getExternalStorageDirectory() + "/MiBaseDatos.db",MODE_WORLD_WRITEABLE,null);
// crea una tabla si no existe
db.execSQL("create table if not exists "
+ " operas (id integer primary key, titulo text,"
+ " compositor text, year integer);");
// borra todos los datos previos
db.execSQL("delete from operas;");
// inserta datos en la tabla
db.execSQL("insert into operas (titulo,compositor,year) "
+ " values('Don Govanni', 'W.A. Mozart', 1787);");
db.execSQL("insert into operas (titulo,compositor,year) "
+ " values ('Giulio Cesare', 'G. F. Haendel', 1724);");
db.execSQL("insert into operas (titulo,compositor,year) "
+ " values('Orlando Furioso', 'A. Vivaldi', 1727);");
// selecciona todos los datos en un Cursor
cursor = db.rawQuery("select * from operas ", null);
datos = " tamaño " + db.getPageSize();
datos += "\n nro columnas " + cursor.getColumnCount();
datos += "\n nro filas " + cursor.getCount();
int numeroDeColumnas = cursor.getColumnCount();
int numeroDeFilas = cursor.getCount();
String[] nombreColumna = new String[ numeroDeColumnas ];
datos += "\n----------------------------\n";
for (int i=0; i < numeroDeColumnas; i++)
{
nombreColumna[i] = cursor.getColumnName(i);
datos = datos + nombreColumna[i] + " | ";
}
datos += "\n----------------------------";
cursor.moveToFirst();
for (int i=0;i < numeroDeFilas;i++)
{
datos += "\n ";
for (int j=0; j < numeroDeColumnas; j++)
{
String CellValue = cursor.getString(j);
datos = datos + CellValue + " | ";
}
cursor.moveToNext();
}
MyAlertToast(datos);
}
catch (Exception e)
{
MyAlertToast(e.toString());
}
}
Código: Selecionar todos
public void MyAlertToast(String msg)
{
Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
}
Esto requiere el permiso de escritura como el de tu AndroidManifest.xlm
Código: Selecionar todos
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
PD: la base de datos será creada en: /storage/emulated/0/MiBaseDatos.db
Sqlite com Android
Enviado: 05 Mai 2017 20:56
por AutomoSistema
Boa noite amigo, Graças a Deus deu certo conforme a sua orientação, muito obrigado !!!!!!!