You are on page 1of 6
File C:\Users\uanp\AndroidStudioProjects\PracticaZ\app\sre\mainavaicomiexamplelpractica_2MainActivty java 29 38 31 32 33 34 35 36 37 38 39 40 41 42 package com.example.practica_2 import import import import import import import import import import import import import import import import import import public androidx. appcompat . app .AppCompatActivity; androidx.core.app.ActivityCompat; androidx.core.content .ContextCompat ; android.Manifest; android. app.AlertDialog, android. content Context; android. content ..pm.PackageManager; android.database. Cursor; net. sqlcipher database. SQLiteDatabase; android.os. Bundle; android.os.Environment; android.util.Log; android. view.Views android.widget .EditText; java.io.File; java.io.FileInputStream; java.io. FileOutputStream java. nio.channels.FileChannel; class MainActivity extends AppCompatactivity { SQLiteDatabase db; EditText etCedula,etNombres, etApellidos; private final int MY_PERMISSIONS_REQUEST_EXTERNAL_STORAGE @override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState) ; setContentView(R.layout.activity_main) ; SQLiteDatabase. loadLibs(this) ; File databaseFile = getDatabasePath(" basePractica_cipher.db"); databaseFile.mkdirs(); databaseFile.delete(); etCedula = (EditText)findViewById(R.id.etCedula); etNombres = (EditText)findViewById(R.id.etNombres) ; etApellidos = (EditText)findViewById(R.id. etApellidos) ; db = SQLiteDatabase.openOrCreateDatabase( databaseFile,"ejemplo123", null); Page 106 File C:\Users\uanp\AndroidStudioProjects\PracticaZ\app\ste\mainavaicomiexamplelpractica_2WMainActivty java 43 7/db.execSQL("DROP TABLE IF EXISTS persona; "); 44 db.execSQL("CREATE TABLE IF NOT EXISTS persona(id INTEGER PRIMARY KEY AUTOINCREMENT,cedula VARCHAR, nombres VARCHAR, apellidos VARCHAR, CONSTRAINT cedPersona UNIQUE ( cedula));")5 45 46 } 47 48 public void exportDatabase(String databaseName) { 49 try { 58 File sd = Environment. getExternalStorageDirectory(); 51 File data = Environment.getDataDirectory(); 52 53 if (sd.canWirite()) { 54 String currentDBPath = "//data//"+ getPackageName()+"//databases//"+databaseName+""; 55 String backupDBPath = databaseName; 56 File currentDB = new File(data, currentDBPath) ; 57 File backupDB = new File(sd, backupDBPath) ; 58 59 if (currentDB.exists()) { 68 FileChannel src = new FileInputStream( currentDB) .getChannel() ; 61 FileChannel dst = new FileOutputStream( backupDB) .getChannel(); 62 dst.transferFrom(src, @, src.size()); 63 src.close(); 64 dst.close(); 65 } 66 } 67 } catch (Exception e) { 68 69 } 70 } 71 72 ~~ @Override 73 public void onRequestPermissionsResult(int requestCode » String permissions[], int[] grantResults) { 74 switch (requestCode) { 75 case MY_PERMISSIONS_REQUEST_EXTERNAL_STORAGE: { 76 if (grantResults.length > @ 77 && grantResults[@] == PackageManager .PERMISSION GRANTED) { 78 Log. i("APLICACION" , "INGRESO Page 2of6 File -C\Usersuanp\AndroidStudioProjects\PracticaZ\appisrc\mainavaicom\example\practica.2WMainActivity java 78 onRequestPermissionsResult”); 79 exportDatabase("basePractica2.db") ; 80 Log. i("APLICACION”, "GUARDAR ARCHIVO 2" ) 81 } else { } 82 return; 83 } 84 85 } 86 } 87 88 public void ejecutarAccion(View v) 89 { 90 if(v.getId()==R. id. bIngresar) 91 { 92 if(etCedula.getText().toString().trim().length (==2| | 93 etNombres.getText().toString().trim(). length()==0] | 94 etApellidos.getText().toString().trim ().length()==0) 95 { 96 showMessage("Error", “Formulario incompleto"); 97 return; 98 } 99 try { 100 db.execSQL("INSERT INTO persona(cedula, nombres, apellidos) VALUES('" + etCedula.getText() + "','" + etNombres.getText() + 101 "',"" + etApellidos.getText() + 102 showMessage("0k", "Registro ingresado"); 103 clearText(); 104 }catch(android. database. sqlite. SQLiteConstraintException e){ 105 showMessage("Errot D Duplicado"); 106 } 107 } 108 if(v.getId()==R. id. bEliminar) 109 { 118 if(etCedula.getText().toString().trim().length 11a { 112 showMessage("Error", "Ingrese una cédula” 3 Page 3 0f6 File C:\Users\uanp\AndroidStudioProjects\Practica2\app\sre\mainavaicomiexamplelpractica_2WMainActivty java 113 return; 114 } 115 Cursor c=db.rawQuery("SELECT * FROM persona WHERE cedula='"+etCedula.getText()+"'", null); 116 if(c.moveToFirst()) 117 { 118 db.execSQL ("DELETE FROM persona WHERE cedula='"+etCedula.getText()+"'"); 119 showMessage("Ok", “Registro Eliminado") ; 120 } 121 else 122 { 123 showMessage("Error", "Cédula incorrecta") 124 } 125 clearText(); 126 } 127 if(v.getId()=-R. id. beditar) 128 { 129 if(etCedula.getText().toString().trim().length 130 { 131 showMessage("Error", "Ingrese una cédula” 3 132 return; 133 } 134 Cursor c=db.rawQuery("SELECT * FROM persona WHERE cedula='"+etCedula.getText()+""", null) 135 if(c.moveToFirst()) 136 { 137 db.execSQL ("UPDATE persona SET nombres='"+ etNombres.getText()+"', apellidos='"+etApellidos.getText()+ 138 WHERE cedula='"+etCedula. getText()+"'"); 139 showMessage("ok", "Registro modificado") 148 } 141 else 142 { 143 showMessage("Error”, "Cédula incorrecta”) 144 } 145 clearText(); 146 } 147 if(v.getId()==R.id.bConsultar) 148 { 149 if(etCedula.getText().toString().trim().length 150 { Page 4 of6 File - C\Usersjuanp\AndroidStudioProjects\PracticaZ\appisre\mainavaicom\example\practica.2WainActivity java 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 showMessage("Error”, “Ingrese una cédula”™ ds return; Cursor c=db.rawQuery("SELECT * FROM persona WHERE cedula: "+etCedula.getText()+"'", null); if(c.moveToFirst()) { etNombres.setText(c.getString(2))5 etApellidos.setText(c.getString(3)); } else { showMessage("Error", “Cédula incorrecta”) ; clearText(); } } if(v.getId()==R. id. bConsultarTodos) { Cursor c=db.rawQuery("SELECT * FROM persona”, null); if(c.getCount()==0) { showMessage("Error", "No existen registros return; } StringBuffer buffer=new StringBuffer(); while(c.moveToNext()) { buffer.append("Id.: "+c.getString(@)+"\n" ds buffer.append("Ced.: "+c.getString(1)+"\n" 3 buffer.append("Nom.: "+c.getString(2)+"\n" ) buffer.append("Ape.: "+c.getString(3)+"\n\ n")5 } showMessage("Detalle Personas", buffer toString()); }if (v.getId()==R. id. bRespaldar) { if (ContextCompat.checkSelfPermission(this, Manifest .permission.WRITE_EXTERNAL_STORAGE) Page § of File -C\Usersuanp\AndroidStudioProjects\PracticaZ\appisre\mainVavaicom\example\practica_2WMainActiity java 187 T= PackageManager PERMISSION GRANTED) { 188 189 Log.i("APLICACION", "INGRESO A SOLICITAR PERMISO") ; 190 191 ActivityCompat .requestPermissions(this, 192 new String[ ]{Manifest .permission. WRITE_EXTERNAL_STORAGE}, 193 MY_PERMISSIONS_REQUEST_EXTERNAL_STORAGE) ; 194 Log.i("APLICACION", "TERMINO DE SOLICITAR PERMISO") ; 195 }else { 196 Log.i("APLICACION™, "GUARDAR ARCHIVO 1"); 197 exportDatabase("basePractica2.db"); 198 } 199 200 } 201 } 202 public void showMessage(String title,String message) 203 { 204 AlertDialog.Builder builder=new AlertDialog. Builder(this) ; 205 builder. setCancelable(true) ; 206 builder. setTitle(title) ; 207 builder. setMessage(message) ; 208 builder. show(); 209 } 210 211 public void clearText() 212 { 213 etCedula.setText(” 214 etNombres.setText(""); 215 etApellidos.setText(""); 216 etCedula.requestFocus(); 217 } 218 } 219 Page 6 of

You might also like