Persistenza su Android con Kripton
Su Android è possibile salvare i dati in diverse maniere:
- persistenza su file system
- database
- shared preference
Oggi vediamo la prima modalità usando la libreria Kripton, disponibile sia per Kotlin che per Java (quello che useremo noi).
Prima di tutto aggiungete questo permesso al manifest:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
E poi queste dipendenze in gradle:
dependencies {
......................
annotationProcessor "com.abubusoft:kripton-processor:5.0.0"
implementation "com.abubusoft:kripton:5.0.0"
}
Proseguiamo creando una semplice classe che rappresenta una persona:
import com.abubusoft.kripton.annotation.BindType;
@BindType
public class Persona {
public long id;
public String nome;
}
Come vedete ha una annotazione che fa parte della libreria Kripton.
Poi creiamo due metodi per creare e leggere il file:
import java.io.File;
public class MainActivity extends AppCompatActivity {
private String fileDb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fileDb = getApplicationContext().getFilesDir().getPath() + "persone.json";
creaDb();
readDb();
}
private void creaDb() {
Persona p = new Persona();
p.id = 1;
p.nome = "Gino";
BinderContext bc = KriptonBinder.jsonBind();
bc.serialize(p, new File(fileDb));
}
private void readDb() {
BinderContext binder = KriptonBinder.jsonBind();
Persona parse = binder.parse(new File(fileDb), Persona.class);
System.out.println("PERSONE:" + parse.id + " - " + parse.nome);
}
}
Come già detto, questo codice crea un file su filesystem.
Più in la vedremo esempi usando database e altro.
Enjoy!
java android kripton
Commentami!