Buona sera a tutti ragazzi scrivo per chiedere come creare su un apk un changelog che si visualizza da solo al primo avvio/aggiornamento di un app
uploadfromtaptalk1431124882479.jpg
Qualcuno mi può aiutare per favore? Grazie
Buona sera a tutti ragazzi scrivo per chiedere come creare su un apk un changelog che si visualizza da solo al primo avvio/aggiornamento di un app
uploadfromtaptalk1431124882479.jpg
Qualcuno mi può aiutare per favore? Grazie
Up! Grazie in anticipo
Ciao, è molto semplice. Ti basta usare le SharedPreferences. In un vecchio aggiornamento di una mia applicazione usavo un sistema del genere:
1
2try {
3versione = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
4} catch (NameNotFoundException e) {
5// TODO Auto-generated catch block
6e.printStackTrace();
7}
8
9if(!versione.equals(preferenze.caricaPreferenzeStringa("VersioneApp"))) {
10new Dialoghi(this, null).mostra(Dialoghi.DIALOGO);
11}
12
Ed il dialogo era composto così:
171
2builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
3<a rel="nofollow" href="https://www.androidiani.com/forum/members/override.html" target="_blank">Override</a>
4public void onClick(DialogInterface dialog, int which) {
5// TODO Auto-generated method stub
6try {
7String versione = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
8if(versione != null) {
9new SharedPreferenze(context).salvaPreferenzeStringa("VersioneApp", versione);
10}
11} catch (NameNotFoundException e) {
12// TODO Auto-generated catch block
13e.printStackTrace();
14}
15}
16});
17
Cristian16228 (13-05-15)
Ciao e grazie mille per la risposta. Il problema è che proprio non so come creare questo SharedPreferences mi sai aiutare? Sono alle prime armi, scusa.
Se è un file xml da mettere in una cartella già esistente bene, sennò devi spiegarmi tu.
E in quello che mi hai scritto tu che cosa devo modificare per far esempio uscire:
08/05/2015
1.0 initial release
10/05/2015
1.1 bugfix
13/05/2015
1.3 added new launch icon
Questo è solo un esempio
Grazie ancora in anticipo
La guida ufficiale su cosa sono e come utilizzare le SharedPreferences la trovi qui: SharedPreferences | Android Developers. Detto in modo spicciolo è una classe che ti permette di salvare sulla memoria del telefono dei valori. Personalmente, da quando ho iniziato a programmare sul framework Android mi sono creato una semplicissima classe che mi permette di gestire facilmente le SharedPreferences.
551
2import java.util.Map;
3import android.content.Context;
4import android.content.SharedPreferences;
5import android.content.SharedPreferences.Editor;
6import android.preference.PreferenceManager;
7
8//Created by SimoneDev
9
10public class SharedPreferenze {
11
12SharedPreferences sharedPreferences;
13Context context;
14Editor editor;
15
16public SharedPreferenze(Context context) {
17this.context = context;
18sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
19editor = sharedPreferences.edit();
20}
21
22public void salvaPreferenzeIntere(String chiave, int valore) {
23editor.putInt(chiave, valore).commit();
24}
25
26public void salvaPreferenzeBooleane(String chiave, boolean valore) {
27editor.putBoolean(chiave, valore).commit();
28}
29
30public void salvaPreferenzeStringa(String chiave, String valore) {
31editor.putString(chiave, valore).commit();
32}
33
34public int caricaPreferenzeIntere(String nomePreferenza) {
35return sharedPreferences.getInt(nomePreferenza, 0);
36}
37
38public boolean caricaPreferenzeBooleane(String nomePreferenza) {
39return sharedPreferences.getBoolean(nomePreferenza, false);
40}
41
42public String caricaPreferenzeStringa(String nomePreferenza) {
43return sharedPreferences.getString(nomePreferenza, null);
44}
45
46public Map<String, ?> prendiTuttePreferenze() {
47return sharedPreferences.getAll();
48}
49
50public void rimuoviTutte() {
51editor.clear().commit();
52}
53
54}
55
Per mostrare a video il changelog puoi usare la classe Alert Dialog facendo qualcosa del genere:
31
2builder.setMessage("V1.0 Initial release");
3
Cristian16228 (13-05-15)
Ultima modifica di Cristian16228; 13-05-15 alle 20:39
Il file viene creato automaticamente. Non devi fare nulla a "mano".