Ing. Honoria Reyes Macedo
<?xml
version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
style="@style/labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textVClaveDoc"
android:ems="20"
android:id="@+id/textView2" />
<EditText
style="@style/edits"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTCveDoc"
android:ems="20"
android:layout_gravity="center_horizontal"
android:hint="@string/editTCveDoc" />
<TextView
style="@style/labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textVTipoDoc"
android:ems="20"
android:id="@+id/textView3" />
<EditText
style="@style/edits"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="20"
android:id="@+id/editTDesc"
android:hint="@string/editTTipoDoc" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/c_txtestatus"
android:id="@+id/c_txtestatus"
android:layout_gravity="center_horizontal"
android:checked="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnGuardaTipoD"
android:id="@+id/IdGuardarTipo"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
style="@style/labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textVClaveDoc"
android:ems="20"
android:id="@+id/textView2" />
<EditText
style="@style/edits"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTCveDoc"
android:ems="20"
android:layout_gravity="center_horizontal"
android:hint="@string/editTCveDoc" />
<TextView
style="@style/labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textVTipoDoc"
android:ems="20"
android:id="@+id/textView3" />
<EditText
style="@style/edits"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="20"
android:id="@+id/editTDesc"
android:hint="@string/editTTipoDoc" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/c_txtestatus"
android:id="@+id/c_txtestatus"
android:layout_gravity="center_horizontal"
android:checked="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnGuardaTipoD"
android:id="@+id/IdGuardarTipo"
android:layout_gravity="center_horizontal" />
</LinearLayout>
2.- fragment_tipodoc.xml debera tener su respectiva clase TipoDocFragment.java
ó
ó
fragment_producto.xml debera tener su respectiva clase ProductoFragment.java
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; public class TipoDocFragment extends Fragment { public TipoDocFragment () { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_tipodoc, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } }
3.-
Crear la clase DBhelper.java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class DBhelper extends SQLiteOpenHelper { TipoDocVo campohelp = new TipoDocVo(); static final String DB_NAME = "GestionDocs.db"; static final int DB_VERSION = 1; private final String CREATE_TABLE = "create table if not exists " + campohelp.getTabla() + "(" + campohelp.getCampos() + " );"; public DBhelper(Context context) { super(context, DB_NAME, null,DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + campohelp.getTabla()); onCreate(db); } }
4.- Crear la clase TipoDocVo.javapublic class TipoDocVo { int cveDocumento; String descripcion; boolean estatus; private String campos; private String tabla; public String getTabla(){ this.tabla="documento"; return tabla; } public String getCampos(){ this.campos= "cveDocumento Integer primary key, " + "descripcion Text, " + "estatus Integer "; return campos; } public int getCveDocumento() { return cveDocumento; } public void setCveDocumento(int cveDocumento) { this.cveDocumento = cveDocumento; } public String getDescripcion() { return descripcion; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public boolean isEstatus() { return estatus; } public void setEstatus(boolean estatus) { this.estatus = estatus; } }
5.- Crear la clase DocumentoDAO.java
import android.content.ContentValues;
import android.content.Context;import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;import java.sql.SQLException; public class DocumentoDAO { private Context ourcontext; private SQLiteDatabase database; private DBhelper dbhelper; public DocumentoDAO(){ } public DocumentoDAO(Context c){ ourcontext= c; } public DocumentoDAO abrirBD()throws SQLException{ dbhelper= new DBhelper(ourcontext); database = dbhelper.getWritableDatabase(); return this; } public void cerrarBD(){ dbhelper.close(); }
public long insertarTipoDoc(TipoDocVo tipoDoc)throws SQLException{
int sts=0;
ContentValues registro = new ContentValues();
long result=1;
registro.put("cveDocumento", tipoDoc.getCveDocumento());
registro.put("descripcion", tipoDoc.getDescripcion());
if(tipoDoc.isEstatus()) {
sts=1;
}
registro.put("estatus", sts);
result = database.insert(tipoDoc.getTabla(),null,registro);
Log.d("El valor de result=", String.valueOf(result));
return result;
}
public String[] consultar()throws SQLException { dbhelper= new DBhelper(ourcontext); database = dbhelper.getReadableDatabase(); String arregloEnviar[]= new String[0]; if (database != null) { String qry= "select cveDocumento, descripcion, estatus " + " from documento "; Cursor c = database.rawQuery(qry, null); int i = 0; int cantidad = c.getCount(); int ncolumns=c.getColumnCount(); arregloEnviar = new String[cantidad]; if (c.moveToFirst()) { Log.d("MyApp", "Si encontro Datos...................... "); do { String Linea=""; for(int j=0; j<ncolumns; j++){ int tipo =c.getType(j); switch (tipo){ case 3: Linea =Linea + c.getString(j) + " "; break; case 1: Linea =Linea + c.getInt(j) + " "; break; case 2: Linea =Linea + c.getFloat(j) + " "; break; case 4: Linea =Linea + c.getBlob(j) + " "; break; case 0: Log.d("00:",c.getColumnName(j)); break; default: Linea =Linea + c.getString(j) + " "; break; } } arregloEnviar[i] = Linea; i++; } while (c.moveToNext()); } } return arregloEnviar; } }
6.- Agregar el codigo en rojo al archivo TipoDocFragment.java:
import
android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
public class TipoDocFragment extends Fragment {
TipoDocVo TipoDoc_Datos;
DocumentoDAO datosBD;
private EditText etCveDoc, etDesc, etStatus;
private CheckBox etest;
private Button btnGuarda;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
public class TipoDocFragment extends Fragment {
TipoDocVo TipoDoc_Datos;
DocumentoDAO datosBD;
private EditText etCveDoc, etDesc, etStatus;
private CheckBox etest;
private Button btnGuarda;
public TipoDocFragment () { }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//return inflater.inflate(R.layout.fragment_tipodoc, container, false);
View view= inflater.inflate(R.layout.fragment_tipodoc, container, false);
TipoDoc_Datos= new TipoDocVo();
datosBD = new DocumentoDAO(view.getContext());
btnGuarda=(Button) view.findViewById(R.id.IdGuardarTipo);
etCveDoc =(EditText) view.findViewById(R.id.editTCveDoc);
etDesc =(EditText) view.findViewById(R.id.editTDesc);
etest =(CheckBox) view.findViewById(R.id.c_txtestatus);
btnGuarda.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
preparaDatos();
datosBD.abrirBD();
Log.d("MyApp", "Abrio la base......................... ");
datosBD.insertarTipoDoc(TipoDoc_Datos);
Log.d("MyApp", "Inserto en la base......................... ");
}catch (Exception e ){
Log.d("MyApp", "Error:......................... " + e.getMessage());
}
}
});
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
public void preparaDatos(){
TipoDoc_Datos.setCveDocumento(Integer.valueOf(etCveDoc.getText().toString()));
TipoDoc_Datos.setDescripcion(etDesc.getText().toString());
TipoDoc_Datos.setEstatus(etest.isChecked());
Log.d("MyApp", "Preparo los datos........................ " + etest.isChecked() );
}
}
Nota: Observa que desde la clase TipoDocFragment.java se realizan los movimientos para insertar:
- - Se necesito una clase tipo VO con sus
get y set para almacenar los datos:
TipoDocVo.java
- - Se necesito una clase tipo DAO para
hacer los movimientos de inserción a la base de datos SQLite: DocumentoDAO.java
Desde esta clase se llama al
metodo dbhelper.java el cual hereda de
SQLiteOpenHelper que hace posible la conexión a la base de datos
- -Se necesito un objeto tipo View porque
los datos los enviamos desde un fragment. Cuando los enviamos desde un activity
no se necesita el View
View view= inflater.inflate(R.layout.fragment_tipodoc, container, false);
- - Se uso el metodo onCreateView para ejecutar el movimiento de insertar. Cuando los
enviamos desde un activity se usa el metodo
onCreate
ooooooooooooooooooooooooooo ooooooooooooooooooooooooo oooooooo
ooooooooooooooooooooooooooo ooooooooooooooooooooooooo ooooooooo


No hay comentarios.:
Publicar un comentario