Вы находитесь на странице: 1из 7

Tarea semana 4

package com.example.tareasemana4bd;

public class Scooter {

private int id ;
private String modelo;
private String marca;

public int getId() {


return id;
}

public void setId(int id) {


this.id = id;
}

public String getModelo() {


return modelo;
}

public void setModelo(String modelo) {


this.modelo = modelo;
}

public String getMarca() {


return marca;
}

public void setMarca(String marca) {


this.marca = marca;
}
}
package com.example.tareasemana4bd;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DbHelper extends SQLiteOpenHelper {

public DbHelper(Context context, String name, CursorFactory factory, int version) {


super(context, name, factory, version);
}

public DbHelper(Context context) {


// null porque se va a usar el SQLiteCursor
super(context, "ventascooter.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS scooter (id INTEGER PRIMARY KEY AUTOINCREMENT,
modelo TEXT NOT NULL, marca TEXT NOT NULL)";
db.execSQL(sql);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS scooter");
onCreate(db);
}
}

package com.example.tareasemana4bd;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import java.util.ArrayList;

public class ScooterDAO {

private DbHelper _dbHelper;

public ScooterDAO(Context c) {
_dbHelper = new DbHelper(c);
}

public void insertar(String titulo, String descripcion) throws DAOException {


Log.i("ScooterDAO", "insertar()");
SQLiteDatabase db = _dbHelper.getWritableDatabase();
try {
String[] args = new String[]{titulo, descripcion};
db.execSQL("INSERT INTO scooter(modelo, marca) VALUES(?,?)", args);
Log.i("ScooterDAO", "Se insertó");
} catch (Exception e) {
throw new DAOException("ScooterDAO: Error al insertar: " + e.getMessage());
} finally {
if (db != null) {
db.close();
}
}
}

public Scooter obtener() throws DAOException {


Log.i("ScooterDAO", "obtener()");
SQLiteDatabase db = _dbHelper.getReadableDatabase();
Scooter modelo1 = new Scooter();
try {
Cursor c = db.rawQuery("select id, modelo, marca from scooter", null);
if (c.getCount() > 0) {
c.moveToFirst();
do {
int id = c.getInt(c.getColumnIndex("id"));
String modelo = c.getString(c.getColumnIndex("modelo"));
String marca = c.getString(c.getColumnIndex("marca"));

modelo1.setId(id);
modelo1.setModelo(modelo);
modelo1.setMarca(marca);

} while (c.moveToNext());
}
c.close();
} catch (Exception e) {
throw new DAOException("ScooterDAO: Error al obtener: " + e.getMessage());
} finally {
if (db != null) {
db.close();
}
}
return modelo1;
}

public ArrayList<Scooter> buscar(String criterio) throws DAOException {


Log.i("ScooterDAO", "buscar()");
SQLiteDatabase db = _dbHelper.getReadableDatabase();
ArrayList<Scooter> lista = new ArrayList<Scooter>();
try {
Cursor c = db.rawQuery("select id, modelo, marca from scooter where modelo like
'%"+criterio+"%' or marca like '%"+criterio+"%'", null);

if (c.getCount() > 0) {
c.moveToFirst();
do {
int id = c.getInt(c.getColumnIndex("id"));
String modelo = c.getString(c.getColumnIndex("modelo"));
String marca = c.getString(c.getColumnIndex("marca"));

Scooter modelo1 = new Scooter();


modelo1.setId(id);
modelo1.setModelo(modelo);
modelo1.setMarca(marca);

lista.add(modelo1);
} while (c.moveToNext());
}
c.close();
} catch (Exception e) {
throw new DAOException("ScooterDAO: Error al obtener: " + e.getMessage());
} finally {
if (db != null) {
db.close();
}
}
return lista;
}

public void eliminar(int id) throws DAOException {


Log.i("ScooterDAO", "eliminar()");
SQLiteDatabase db = _dbHelper.getWritableDatabase();

try {
String[] args = new String[]{String.valueOf(id)};
db.execSQL("DELETE FROM scooter WHERE id=?", args);
} catch (Exception e) {
throw new DAOException("ScooterDAO: Error al eliminar: " + e.getMessage());
} finally {
if (db != null) {
db.close();
}
}
}

public void eliminarTodos() throws DAOException {


Log.i("ScooterDAO", "eliminarTodos()");
SQLiteDatabase db = _dbHelper.getWritableDatabase();

try {
db.execSQL("DELETE FROM scooter");
} catch (Exception e) {
throw new DAOException("ScooterDAO: Error al eliminar todos: " + e.getMessage());
} finally {
if (db != null) {
db.close();
}
}
}

package com.example.tareasemana4bd;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class ScooterNuevoActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scooter_nuevo);
}

public void grabar(View view) {

EditText modelo = (EditText) findViewById(R.id.modelo);


EditText marca = (EditText) findViewById(R.id.marca);

ScooterDAO dao = new ScooterDAO(getBaseContext());


try {
//dao.eliminarTodos();
dao.insertar(modelo.getText().toString(), marca.getText().toString());

Toast toast= Toast.makeText(getApplicationContext(), "Se insertó correctamente",


Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();

modelo.setText("");
marca.setText("");
} catch (DAOException e) {
Log.i("ScooterNuevoActivity", "====> " + e.getMessage());
}
}

@Override public boolean onCreateOptionsMenu(Menu menu) {


// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu); return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {

case R.id.menu_nueva_scooter:
//Log.i("==========>","Menu de Productos");

Intent ii = new Intent(this, ScooterNuevoActivity.class);


startActivity(ii);
return true;

case R.id.menu_buscar_scooter:
//Log.i("==========>","Menu de Servicios");

Intent buscar_preferencia = new Intent(this, ScooterBuscar.class);


startActivity(buscar_preferencia);
return true;

case R.id.menu_salir:
//Log.i("==========>","Salir del sistema");
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}

package com.example.tareasemana4bd;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;

public class ScooterBuscar extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scooter_buscar);
}

public void buscar(View view) {


EditText criterio = (EditText) findViewById(R.id.criterio);
ScooterDAO dao = new ScooterDAO(getBaseContext());
try {
ArrayList<Scooter> resultados = dao.buscar(criterio.getText().toString());

String[] encontrados = new String[resultados.size()];


int i = 0;
for (Scooter gm : resultados){
encontrados[i++] = gm.getModelo();
}

ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this.getApplicationContext(),


android.R.layout.simple_list_item_1,
encontrados);

ListView listaResultados = (ListView)findViewById(R.id.listaResultados);


listaResultados.setAdapter(adaptador);

} catch (DAOException e) {
Log.i("GeneroMusicalBuscarAc", "====> " + e.getMessage());
}
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu); return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {

case R.id.menu_nueva_scooter:
//Log.i("==========>","Menu de Productos");

Intent ii = new Intent(this, ScooterNuevoActivity.class);


startActivity(ii);
return true;

case R.id.menu_buscar_scooter:
//Log.i("==========>","Menu de Servicios");

Intent buscar_preferencia = new Intent(this, ScooterBuscar.class);


startActivity(buscar_preferencia);
return true;

case R.id.menu_salir:
//Log.i("==========>","Salir del sistema");
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}

<?xml version="1.0" encoding="utf-8"?>


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ScooterNuevoActivity">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Nuevo Scooter"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Ingrese el Modelo:"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />

<EditText
android:id="@+id/modelo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Ingrese la Marca:"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/modelo" />

<EditText
android:id="@+id/marca"
android:layout_width="match_parent"
android:layout_height="49dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ems="10"
android:inputType="textMultiLine"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3" />

<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Registrar"
android:onClick="grabar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/marca" />

</android.support.constraint.ConstraintLayout>

<?xml version="1.0" encoding="utf-8"?>


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ScooterBuscar">

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Buscar Modelo de Scooter"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Ingrese:"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />

<EditText
android:id="@+id/criterio"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView5" />

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Buscar"
android:onClick="buscar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/criterio" />

<ListView
android:id="@+id/listaResultados"
android:layout_width="368dp"
android:layout_height="332dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button2" />
</android.support.constraint.ConstraintLayout>

<?xml version="1.0" encoding="utf-8"?>


<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+id/menu_nueva_scooter"
android:title="Registrar"

app:showAsAction="never"/>

<item android:id="@+id/menu_buscar_scooter"
android:title="Buscar"

app:showAsAction="never"/>

<item android:id="@+id/menu_salir"
android:title="Salir"
app:showAsAction="never"/>
</menu>

Вам также может понравиться