Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2014, 15:04
Skarlo
 
Fecha de Ingreso: junio-2013
Mensajes: 7
Antigüedad: 13 años, 3 meses
Puntos: 0
Como rellenar o cargar Spinner con SQLite

Hola tengo duda sobre como rellenar Spinner con SQLite y cuando ejecutar el aplicación y doy con un botón para abrir otro Activity pero se regresa activity

Conectar base de datos
Código PHP:
public class Libros {

    public static final 
String ID_FILALIBRO = "_id";
    public static final 
String ID_NOMBRELIBRO = "nombre_libro";
    public static final 
String ID_EDICIONLIBRO = "edicion_libro";
    public static final 
String ID_NUMEROPAGINA = "numero_libro";
    public static final 
String ID_FILAUTOR = "_ida";
    public static final 
String ID_NOMBREAUTOR = "nombre_autor";
    public static final 
String ID_FILAEDITORIAL = "_ide";
    public static final 
String ID_NOMBREDITORIAL = "nombre_editorial";
    private static final 
String NOMBRE_BD = "Bibliotecas";
    private static final 
String TABLA_LIBRO = "Tabla_Libros";
    private static final 
String TABLA_AUTOR = "Tabla_Autores";
    private static final 
String TABLA_EDITORIAL = "Tabla_Editorial";
    private static final 
int VERSION_BD = 1;

    private final 
Context Contexto;
    private 
BDHelper Helper;
    private 
SQLiteDatabase BaseDatos;

    public 
Libros(Context c) {
        
Contexto = c;
    }

    private static class 
BDHelper extends SQLiteOpenHelper {

        public 
BDHelper(Context context) {
            
super(context, NOMBRE_BD, null, VERSION_BD);
            
// TODO Auto-generated constructor stub
        
}

        @
Override
        
public void onCreate(SQLiteDatabase db) {
            
// TODO Auto-generated method stub
            
db.execSQL("CREATE TABLE " + TABLA_LIBRO + "(" 
            
+ ID_FILALIBRO + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
            
+ ID_NOMBRELIBRO + " TEXT NOT NULL, " 
            
+ ID_EDICIONLIBRO + " TEXT  NOT NULL, "
            
+ ID_NUMEROPAGINA + " TEXT NOT NULL);");
            
            
db.execSQL("CREATE TABLE " + TABLA_AUTOR + "("
            
+ ID_FILAUTOR + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            
+ ID_NOMBREAUTOR + " TEXT NOT NULL);");
            
            
db.execSQL("CREATE TABLE " + TABLA_EDITORIAL + "("
            
+ ID_FILAEDITORIAL + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            
+ ID_NOMBREDITORIAL + " TEXT NOT NULL);");

        }

        @
Override
        
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            
// TODO Auto-generated method stub
            
db.execSQL("DROP TABLE IF EXISTS " + TABLA_LIBRO);
            
db.execSQL("DROP TABLE IF EXISTS " + TABLA_AUTOR);
            
db.execSQL("DROP TABLE IF EXISTS " + TABLA_EDITORIAL);
            
onCreate(db);

        }
    }

    public 
Libros abrir() throws Exception {
        
Helper = new BDHelper(Contexto);
        
BaseDatos = Helper.getWritableDatabase();
        return 
this;
    }
    
    public 
Libros abrir2() throws Exception {
        
Helper = new BDHelper(Contexto);
        
BaseDatos = Helper.getReadableDatabase();
        return 
this;
    }
    public 
void cerrar() {
        
Helper.close();
    }

    public 
long crearEntrada(String nom, String edi, String num) {
        
// TODO Auto-generated method stub
        
ContentValues cv = new ContentValues();
        
cv.put(ID_NOMBRELIBRO, nom);
        
cv.put(ID_EDICIONLIBRO, edi);
        
cv.put(ID_NUMEROPAGINA, num);
        return 
BaseDatos.insert(TABLA_LIBRO, null, cv);
    }
    
    public 
long crearEntrada2(String nomAutor) {
        
// TODO Auto-generated method stub
        
ContentValues ci = new ContentValues();
        
ci.put(ID_NOMBREAUTOR, nomAutor);
        return 
BaseDatos.insert(TABLA_AUTOR, null, ci);
        
    }
    
    public 
long crearEntrada3(String nomEdito) {
        
// TODO Auto-generated method stub
        
ContentValues cj =  new ContentValues();
        
cj.put(ID_NOMBREDITORIAL, nomEdito);
        return 
BaseDatos.insert(TABLA_EDITORIAL, null, cj);
        
    }

    public 
String getData() {
        
String[] columnas = new String[] { ID_FILALIBRO, ID_NOMBRELIBRO, ID_EDICIONLIBRO, ID_NUMEROPAGINA };
        
Cursor c = BaseDatos.query(TABLA_LIBRO, columnas, null, null, null,
                
null, null);
        
String result = "";
        
int iRow = c.getColumnIndex(ID_FILALIBRO);
        
int iName = c.getColumnIndex(ID_NOMBRELIBRO);
        
int iEdit = c.getColumnIndex(ID_EDICIONLIBRO);
        
int iNumero = c.getColumnIndex(ID_NUMEROPAGINA);
        for (
c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
            
result = result + c.getString(iRow) + " " + c.getString(iName)
                    + 
" " + c.getString(iEdit) + " " + c.getString(iNumero)+ "\n";
        }

        return 
result;
    }
    


    public 
String getNombreEditorial(String busEditorial) {
        
String[] columBusEdi =  new String[] {ID_FILAEDITORIAL, ID_NOMBREDITORIAL};
        
Cursor cBusE = BaseDatos.query(TABLA_EDITORIAL, columBusEdi, ID_NOMBREDITORIAL + "='"
                
+ busEditorial + "'",null, null, null, null);
        if(
cBusE!=null){
            
cBusE.moveToFirst();
            
String nombreEditorial = cBusE.getString(1);
            return 
nombreEditorial;
        }
        return 
null;
    }
    

    public 
String getNombreAutor(String busAutor) {
        
// TODO Auto-generated method stub
        
String[] columBusAut = new String[]{ID_FILAUTOR, ID_NOMBREAUTOR};
        
Cursor cBusA = BaseDatos.query(TABLA_AUTOR, columBusAut, ID_NOMBREAUTOR + "='"
                
+ busAutor + "'", null, null, null, null);
        if(
cBusA!=null){
            
cBusA.moveToFirst();
            
String nombreAutor = cBusA.getString(1);
            return 
nombreAutor;
        }
        return 
null;
    }
    
    public 
void modificarEd(String mNomEdi, String mBus) throws SQLException {
        
// TODO Auto-generated method stub
        
ContentValues cvModificarEdi =  new ContentValues();
        
cvModificarEdi.put(ID_NOMBREDITORIAL, mNomEdi);
        
BaseDatos.update(TABLA_EDITORIAL, cvModificarEdi, ID_NOMBREDITORIAL +"='" + mBus + "'", null);
    }
    
    public 
ArrayList<String> consultar() {
        
// TODO Auto-generated method stub
        
String[] allColumns = new String[] {ID_FILAEDITORIAL, ID_NOMBREDITORIAL};
        
Cursor c = BaseDatos.query(TABLA_EDITORIAL, allColumns, null,
                
null, null, null, null);
        if (
c != null) {
            
c.moveToFirst();
        }
        return 
null;
    } 
Libros

Código PHP:
public class SQLite extends Activity implements OnClickListener, OnItemSelectedListener{

    EditText nombre, edicion,numero;
    Button insertar, ver,;
    Spinner spinner;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqlite);

        buscar = (EditText) findViewById(R.id.edBuscarLibro);
        btbuscar = (Button) findViewById(R.id.btBuscarLibro);
        editar = (Button) findViewById(R.id.btEditarLibro);
        borrar = (Button) findViewById(R.id.btBorrarLibro);
        nombre = (EditText) findViewById(R.id.edNombreLibro);
        edicion = (EditText) findViewById(R.id.edNombreEdicion);
        numero = (EditText) findViewById(R.id.edNumeroPag);
        insertar = (Button) findViewById(R.id.btInsertarLibro);
        ver = (Button) findViewById(R.id.btVerLibro);
        spinner = (Spinner) findViewById(R.id.spinner1);
        spinner.setOnItemSelectedListener(this);
        insertar.setOnClickListener(this);
        ver.setOnClickListener(this);
        btbuscar.setOnClickListener(this);
        editar.setOnClickListener(this);
        borrar.setOnClickListener(this);
        
        ArrayList<String> lista = new ArrayList<String>();
        Libros datab = new Libros(this);
        lista = datab.consultar();
        ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,lista);
        adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adaptador);
    }
    
    public void onClick(View v) {
        // TODO Auto-generated method stub

        switch (v.getId()) {
        case R.id.btInsertarLibro:

            boolean funciono = true;
            String nom2 = nombre.getText().toString();
            String edi2 = edicion.getText().toString();
            String num2 = numero.getText().toString();
            if(nom2.equals("")){
                Toast.makeText(this, "Ha dejado campos vacio el nombre", Toast.LENGTH_LONG).show();
                
            }
            else if(edi2.equals("")){
                Toast.makeText(this, "Ha dejado campos vacio Edición", Toast.LENGTH_LONG).show();
                
            }
            else if(num2.equals("")){
                Toast.makeText(this, "Ha dejado campos vacio número de página", Toast.LENGTH_LONG).show();
                
            }
            else{
            try {
                
                String nom = nombre.getText().toString();
                String edi = edicion.getText().toString();
                String num = numero.getText().toString();

                Libros entrada = new Libros(SQLite.this);
                entrada.abrir();
                entrada.crearEntrada(nom, edi, num);
                entrada.cerrar();

                nombre.setText("");
                edicion.setText("");
                numero.setText("");

            } catch (Exception e) {
                funciono = false;
                String error = e.toString();
                Dialog d = new Dialog(this);
                d.setTitle("No Funciona");
                TextView tv = new TextView(this);
                tv.setText(error);
                d.setContentView(tv);
                d.show();

            } finally {
                if (funciono) {
                    Dialog d = new Dialog(this);
                    d.setTitle("Si Funciona");
                    TextView tv = new TextView(this);
                    tv.setText("Funciona!!");
                    d.setContentView(tv);
                    d.show();
                }
            }
            }
            break;

        case R.id.btVerLibro:

            Intent i = new Intent("com.example.sqlite.SQLVista");
            startActivity(i);

            break;

    }

    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
            
long arg3) {
        
// TODO Auto-generated method stub
        
    
}

    @
Override
    
public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
        
    }
}
Estoy usando Spinner para cargar con base de datos SQLite