Extras din curs
1. Stocarea, extragerea, procesarea și prezentarea datelor
1.1. Memoria internă
Memoria internă este destinată stocării datelor prin intermediul unei aplicații Android, adică putem considera că memoria internă este memoria primară a dispozitivului mobil propriu. Reținem că datele - informația se stochează într-un fișier specificat de utilizator, însă utilizatorul nu are acces la fișierul cu date, decât prin implicarea aplicației respective.
Să punctăm anumite lucruri importante:
- În memoria internă datele pot fi scrise, precurm și citite.
- Important: Fișierele / datele stocate în memoria internă pot fi accesate doar de aplicația care le-a înscris nu și de alte aplicații;
- Datele/fișierele corespunzătoare unei aplicații există în memorie doar atât cât există și aplicația care le-a format, la momentul dezinstalării aplicației, fișierele corespunzătoare se elimină în mod automatizat.
- Fișierele se stochează în directoriul data / data urmat de numele pachetului (package) aplicației;
- Utilizatorul poate acorda în mod explicit permisiunea altor aplicații de a accesa aceste fișiere;
- Pentru a asigura ca datele să fie private, se poate utiliza opțiunea MODE_PRIVATE;
- Cea mai potrivită modalitate de a folosi memoria internă este atunci când datele pot fi accesate doar de către aplicația corespunzătoare, accesul fiind interzis atât utilizatorului cât și din cadrul altor aplicații.
Opțiuni de stocare internă:
- MODE_PRIVATE — În modul privat, datele stocate anterior sunt întotdeauna suprascrise de datele curente, adică de fiecare dată când încercăm să scriem o nouă scriere într-un fișier, datele se elimină sau suprascriu conținutul anterior.
- MODE_APPEND — în acest mod, datele sunt atașate la conținutul existent, adică continuăm să adăugăm date.
Pentru informare cu mai multe detalii recomandăm pentru mai multe detalii consultați sursele[12,13].
În continuare, imediat mai jos, prezentăm un fragment - exemplu de cod pentru înscriere în memoria internă și externă.
Creăm o aplicație nouă, pornind cu opțiunea Empty Activity și adaptăm codul inițiat în mod automat prin modificările respective pentru a avea MainActivity cu liniile de cod prezentate imediat mai jos:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "Sdcard";
private TextView tv; String FileN="INF_Aplic.txt";
Context MyContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.textView2);
WriteIntern();
ReadIntern();
}
}
Atenție, este necesar să includeți activity_main.xml un element de tip TextView (cu id - urile respective, analizați layout - ul de la Calculator)
Mai jos avem lin de cod iilepentru metodele WriteIntern();ReadIntern();. Textele respective le inserăm în locurile potrivite în MainActivity, după metoda onCreate.
private void WriteIntern()
{
String File_Name= "Proba.txt"; //gives file name
String MyInfo="Success Internal Write info!"; //define data
File dir = new File(this.getFilesDir(), "mydir");
if(!dir.exists()){dir.mkdir();}
try {
File mf = new File(dir, File_Name);
FileWriter writer = new FileWriter(mf);
writer.append(MyInfo);
writer.flush();
writer.close();
tv.append("nSucces: " +
" WRITE_Internal_STORAGE,Success Internal Write info! ");
writer.close();
}
catch(Exception e){
tv.append("nProblems: " +" WRITE_Internal_STORAGE ");
}
}
private void ReadIntern()
{ String File_Name= "Proba.txt"; //gives file name
String MyInfo="Success Internal Write info!"; //define data
File dir = new File(this.getFilesDir(), "mydir");
if(!dir.exists()){ dir.mkdir(); }
try {
File mf = new File(dir, File_Name);
BufferedReader br = new BufferedReader(new FileReader(mf));
tv.append(br.readLine());
tv.append("nSucces: " +
"read_Internal_STORAGE,Success Internal read info! ");
br.close();
}
catch(Exception e){
tv.append("nProblems: " +" Read_Internal_STORAGE ");
Log.i(TAG, "Problems: " +
" Read_Internal_STORAGE ");
}
}
Remarcă: ”Răsfoind” în Internet referitor la implicarea memoriei, putem găsi destul de multe și diverse abordări pentru utilizarea acesteia.
Preview document
Conținut arhivă zip
- Stocarea, extragerea, procesarea si prezentarea datelor.docx