Acabo de empezar un proyecto de estudio de Android, he escrito algo de código para crear una tabla dentro de SQLite.
No hay una interfaz de usuario fácil para la base de datos por lo que he intentado instalar el plugin DB Navigator. Esto requiere enlazo el navegador para mi base de datos, pero no lo encuentro en el que se creó el archivo.
Una gran cantidad de respuestas verlo para ir a los datos / datos / / pero no puedo encontrar estas carpetas en mi directorio.
Cualquier idea de cómo punta de alfiler base de datos SQLite mi? Cualquier ayuda es muy apreciada.
SQLiteController.java
package com.example.apexstrength;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import static java.sql.Types.NULL;
public class SQLiteController extends SQLiteOpenHelper { //abstract to prevent creating/dropping tables
private static final int DATABASE_VERSION=1;
private static final String DATABASE_NAME="ApexStrength";
private static final String TABLE_USER="user";
private static final String KEY_userName="userName",KEY_password="password", KEY_firstName="firstName",KEY_surname="surname", KEY_EMAIL="email";
public SQLiteController(Context context)
{
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
public void addUser( String userName, String password, String firstName, String surname, String email)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_userName, userName);
values.put(KEY_password, password);
values.put(KEY_firstName, firstName);
values.put(KEY_surname, surname);
values.put(KEY_EMAIL, email);
//inserting rows
db.insert(TABLE_USER, null, values);
db.close();
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS user (username VARCHAR, password VARCHAR, firstName VARCHAR, surname VARCHAR, email VARCHAR)"); //Create table is not there.
// db.execSQL("CREATE TABLE IF NOT EXISTS exercise (username VARCHAR, password VARCHAR, firstName VARCHAR, surname VARCHAR, email VARCHAR)");
// db.execSQL("CREATE TABLE IF NOT EXISTS workout (username VARCHAR, password VARCHAR, firstName VARCHAR, surname VARCHAR, email VARCHAR)");
// db.execSQL("CREATE TABLE IF NOT EXISTS sets (username VARCHAR, password VARCHAR, firstName VARCHAR, surname VARCHAR, email VARCHAR)");
}
public boolean logIn(String username, String password) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery("select * from user where username=? and password=?", new String[]{username,password});
if(c.getCount()>0)
{
return true;
}
return false;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
signUp.java
package com.example.apexstrength;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DownloadManager;
import android.content.Intent;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class signUp extends AppCompatActivity {
private SQLiteController db;
public void register(View view) {
EditText user = (EditText) findViewById(R.id.passwordReg);
EditText pass = (EditText) findViewById(R.id.userReg);
EditText first = (EditText) findViewById(R.id.firstNameReg);
EditText sur = (EditText) findViewById(R.id.surnameReg);
EditText email = (EditText) findViewById(R.id.emailReg);
String username = user.getText().toString();
String password = pass.getText().toString();
String firstname = first.getText().toString();
String surname = sur.getText().toString();
String emailAddress = email.getText().toString();
if (!username.isEmpty() && !password.isEmpty() && !firstname.isEmpty() && !surname.isEmpty() && !emailAddress.isEmpty()) {
db.addUser(username, password, firstname, surname, emailAddress);
Toast.makeText(getApplicationContext(), emailAddress+ " has been registered!", Toast.LENGTH_LONG).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
} else {
Toast.makeText(getApplicationContext(), "Please enter your details", Toast.LENGTH_LONG).show();
}
}
public boolean onCreateOptionsMenu(Menu menu) //Creating options menu
{
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
//Selected items, log selected
case R.id.home:
Log.i("Menu item selected", "Home");
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
return true;
case R.id.settings:
Log.i("Menu item selected", "Settings");
return true;
case R.id.help:
Log.i("Menu item selected", "Help");
return true;
case R.id.weightConversion:
Log.i("Menu item selected", "Weight Conversion");
intent = new Intent(this, weightConversion.class);
startActivity(intent);
return true;
default:
return false;
}
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_up);
db= new SQLiteController(getApplicationContext());
}}
En Android se puede utilizar Explorador de dispositivos (abajo a la derecha por defecto o por medio de Windows Vista / Herramienta / Device Explorer)
y luego algo en la línea de: -
A continuación, puede hacer clic derecho y utilizar la base de datos Guardar como o Copiar ruta
- Nota Si hay un archivo -wal y no está vacío, entonces debería copiar los archivos -wal y - SHM junto con el archivo de base de datos.