Autore Topic: Dati e layout  (Letto 1079 volte)

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Dati e layout
« il: 18 Gennaio 2013, 02:38:45 CET »
0
Salve la mia domanda è la seguente: ho diversi layout composti da spinner e edittext , una volta compilati passo ad una seconda activity in cui ci sono altri spinner ed editText e così via.
Come si fa ad arrivare ad un layout finale in cui vi sono tutti i dati selezionati nelle precedenti activity?C'e qualcuno che gentilemente mi potrebbe illuminare?grazie mille a chiunque mi risponderà

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Dati e layout
« Risposta #1 il: 18 Gennaio 2013, 08:57:04 CET »
0
Cioé vuoi passare un dato da un activity all'altra?

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:Dati e layout
« Risposta #2 il: 18 Gennaio 2013, 10:17:00 CET »
0
si però li dovrei prima memorizzare e visualizzare solo nel layout finale; esempio:
ho 5 layout che contengono tutti degli editText ,compilo il primo layout poi passo al secondo layout in cui troverò altri editText li compilo e poi passo al terzo layout e così via..arrivato al 5 layout mi prendo tutti i campi inseriti e li mostro tutti nel 5 layout.

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Dati e layout
« Risposta #3 il: 18 Gennaio 2013, 10:32:59 CET »
0
Quando crei il tuo intent lo assegni ad una variabile di tipo Intent.
Prova a dare uno sguardo alla funzione putStringExtra(...), dovrebbe fare al caso tuo.
Da un Intent all'altro io comunque userei le Shared Preferences, esce una cosa più semplice e soprattutto più pulita

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:Dati e layout
« Risposta #4 il: 18 Gennaio 2013, 11:02:47 CET »
0
grazie mille per il consiglio, siccome è da poco che programmo in android e non ho mai usato le Shared Preferences mica sai se esiste un tutoria a riguardo?

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Dati e layout
« Risposta #5 il: 18 Gennaio 2013, 11:06:46 CET »
0
Sono tre righe di codice per leggere e tre per scrivere, sul forum mi pare ci fosse pure qualche lettura.
In ogni caso anche la peggiore lettura trovata su google ti chiarirà come usarle vista la loro semplicità

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:Dati e layout
« Risposta #6 il: 18 Gennaio 2013, 11:07:51 CET »
0
 :-) ok speriamo è come dici tu grazie

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:Dati e layout
« Risposta #7 il: 18 Gennaio 2013, 15:42:49 CET »
0
ciao senti ho trovato questo tutoria molto chiaro d'altronde:  [facile] Semplice esempio di Shared Preferences - Android Developers Italia

però il mio dubbio è il seguente, siccome ho da salvare una 15ina di stringhe che sono sparse nei vari layout posso utilizzare le shared preferences? ho letto nel tutoria la seguente cosa:

La modalità utilizzata non permette di gestire un numero elevato di preferenze, per le quali servirebbe anche un'interfaccia grafica idonea.
A tal proposito il framework messo a disposizione da Android prevede la definizione dell'insieme di classi definite all'interno del package android.preferences a ciascuna delle quali corrisponde un elemento da utilizzare in un opportuno documento XML.

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:Dati e layout
« Risposta #8 il: 18 Gennaio 2013, 16:43:17 CET »
0
Cmq ho provato a fare qualcosina con queste shared preferences ma quando mando in esecuzione l'emulatore va in crasch.
tra le tante edit text ho provato in particolare solo a salvare la prima edit text la quale dovrebbe salvare il nome digitato posto un po di codice

public class MainActivity extends Activity {


    private final static String MY_PREFERENCES = "MyPref";
     private final static String TEXT_DATA_KEY = "textData";
   .....
.....
}



 public void savePreferencesData(View view) {
        // Otteniamo il riferimento alle Preferences
        SharedPreferences prefs = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
        // Otteniamo il corrispondente Editor
        SharedPreferences.Editor editor = prefs.edit();
        // Modifichiamo il valore con quello inserito nell'EditText
        EditText outputView = (EditText) findViewById(R.id.etNome);
        CharSequence textData = outputView.getText();
        if (textData != null) {
                // Lo salviamo nelle Preferences
                editor.putString(TEXT_DATA_KEY, textData.toString());
                editor.commit();
        }
        updatePreferencesData();
}

private void updatePreferencesData(){
        // Leggiamo le Preferences
        SharedPreferences prefs = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
        // Leggiamo l'informazione associata alla proprietà TEXT_DATA
        String textData = prefs.getString(TEXT_DATA_KEY, "No Preferences!");
        // Lo impostiamo alla TextView
        TextView outputView = (TextView) findViewById(R.id.outputNome);
        outputView.setText(textData);
}



il logcat dell'errore e' questo:

01-18 16:42:34.402: W/dalvikvm(262): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
01-18 16:42:34.412: E/AndroidRuntime(262): FATAL EXCEPTION: main
01-18 16:42:34.412: E/AndroidRuntime(262): java.lang.RuntimeException: Unable to start activity ComponentInfo{pervasive.com.appsubito/pervasive.com.appsubito.MainActivity}: java.lang.NullPointerException
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.os.Looper.loop(Looper.java:123)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.ActivityThread.main(ActivityThread.java:4627)
01-18 16:42:34.412: E/AndroidRuntime(262):    at java.lang.reflect.Method.invokeNative(Native Method)
01-18 16:42:34.412: E/AndroidRuntime(262):    at java.lang.reflect.Method.invoke(Method.java:521)
01-18 16:42:34.412: E/AndroidRuntime(262):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-18 16:42:34.412: E/AndroidRuntime(262):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-18 16:42:34.412: E/AndroidRuntime(262):    at dalvik.system.NativeStart.main(Native Method)
01-18 16:42:34.412: E/AndroidRuntime(262): Caused by: java.lang.NullPointerException
01-18 16:42:34.412: E/AndroidRuntime(262):    at pervasive.com.appsubito.MainActivity.updatePreferencesData(MainActivity.java:190)
01-18 16:42:34.412: E/AndroidRuntime(262):    at pervasive.com.appsubito.MainActivity.onCreate(MainActivity.java:39)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-18 16:42:34.412: E/AndroidRuntime(262):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-18 16:42:34.412: E/AndroidRuntime(262):    ... 11 more

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:Dati e layout
« Risposta #9 il: 18 Gennaio 2013, 16:48:11 CET »
0
altra cosa che vorrei chiederti: devo creare un file dove poi si andranno a salvare le preferenze?