CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Q.dino con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 32 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 13
Discussione:

SharedPreference e intent.putExtra trasporto variabili.

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano L'avatar di brunoso52


    Registrato dal
    Mar 2012
    Messaggi
    135
    Smartphone
    85739815629

    Ringraziamenti
    7
    Ringraziato 23 volte in 22 Posts
    Predefinito

    SharedPreference e intent.putExtra trasporto variabili.

    Buon giorno a tutti. Ho un problemino in una applicazione che calcola, a scopo didattico, le armature di una trave in cemento armato i relativi momenti.
    L'applicazione consiste in cinque attività:

    .MainActivity in questa videata verranno inserite diverse opzioni per tipologia di travi in questa versione lobotizzata ne è presente solo una.
    Cliccado lancia la seconda attività

    .TraveCa qui vengono inseriti tutti i dati e attraverso i due bottoni eseguo uno il calcolo dopo il calcolo attraverso il secondo in fondo alla videata lancio la terza attività.

    .DiagrammaActivity lancia il layout che ospita il diagramma con i momenti e taglio oltre allo sviluppo delle armature.

    public class DiagrammaActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_diagrammi);

    }
    } // end class

    All'interno di questo layout viene richiamata l'attività .DiagrammaView tramite il seguente comando:


    Nel DiagrammaView è inserita un'estensione per la gestione del PAN e ZOOM e quant'altro per la visualizzazione del grafico.

    public class DiagrammaView extends PanZoomView {

    private float x,xx,y,yy;
    // variabili momentanee in attesa di trovare un soluzione per recuperare quelle
    // presenti in .TraveCa tramite un " intent.putExtra " o uno "SharedPreference "
    int Ki = 3;
    int Lsi = 400;
    int Mlsi = -6085;
    int Mbsi = -7606;
    int Lci = 400;
    int Mlci = -1901;
    int Mcdi = -7606;
    int Ldi = 400;
    int Mldi = -6085;
    // reazioni appoggi
    int Rasi = 7606;
    int Radi = 11409;
    int Vsdi = 9508;
    int Vsdci = 9508;
    int Rcdi = 11409;
    int Rddi = 7606;
    int Ctoti = 4754;
    String reggistaffe = "n°3Ø16";
    String spezzonib = "n°2Ø14";
    String spezzonic = "n°2Ø14";
    String aggiuntobc = "n°3Ø16";

    /**
    */

    public DiagrammaView (Context context) {
    super (context);
    }
    public DiagrammaView (Context context, AttributeSet attrs) {
    super (context, attrs);
    }

    public DiagrammaView (Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    }

    public void drawOnCanvas (Canvas canvas) {

    Paint paint = new Paint();
    Point p1 = new Point (1,1);
    .............
    Qui tutta la parte inerente al diagramma compreso le varie conversioni delle variabili dcc

    .................
    //fine diagramma
    }

    public int sampleDrawableId () {
    return 0;
    }

    public boolean supportsPan () {
    return true;
    }


    public boolean supportsScaleAtFocusPoint () {
    return true;
    }


    public boolean supportsZoom () {
    return true;
    }

    } // end class

    Ora tutto funziona perfettamente ma non riesco ad estrapolare i dati delle variabili presenti in .TraveCa Come posso fare?
    Le ho provate tutte ma non riesco proprio mi basterebbe che qualcuno mi indicasse anche solo una variabile al resto poi penso io.
    Se qualcuno è cosi gentile da dare un occhiata allego i file con i sorgenti per agevolare e velocizzare la soluzione.
    Grazie in anticipo.
    File allegati
    Ultima modifica di brunoso52; 27-06-13 alle 13:32

  2.  
  3. #2
    Androidiano L'avatar di brunoso52


    Registrato dal
    Mar 2012
    Messaggi
    135
    Smartphone
    85739815629

    Ringraziamenti
    7
    Ringraziato 23 volte in 22 Posts
    Predefinito

    Possible che tra tutti i Guru informatici iscritti al forum, nessuno sia in grado di trovare una soluzione per recuperare le variabili da utilizzare nel diagramma? Buona giornata.

  4. #3
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Ciao,

    Dunque cosa importante, le sharedpreferences vanno utilizzate per registrare dei valori persistenti che possono poi essere letti nuovamente a qualsiasi avvio dell'app. Se devi semplicemente passare dei valori da una activity ad un'altra, inserisci i valori nell'intent. Qui trovi come fare. Se hai bisogno di qualcosa in più scrivi!
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  5. #4
    Androidiano L'avatar di brunoso52


    Registrato dal
    Mar 2012
    Messaggi
    135
    Smartphone
    85739815629

    Ringraziamenti
    7
    Ringraziato 23 volte in 22 Posts
    Predefinito

    @fedestylah
    Grazie per aver accolto l'appello, ma ho cercato, da principiante, di seguire il tuo consiglio con l'Intent e ho corretto l'apk, ma da profano e incompetente mi ritrovo con un errore nel Bundle intent =getIntent().get.Extra(); il getIntent() mi segnale l'errore Unknown method "getIntent" senza propormi alternative per correzione. Ti sarei molto grato se dessi un occhiatina ai sorgenti modificati e qui allegati e se eseguissi la modifica o aggiunta necessaria. I file da controllare sono TraveCa.java se è corretto l'intent di invio e DiagrammaView.java dove mi da errore. grazie in anticipo per l'attenzione riservatami e buona giornata.
    File allegati

  6. #5
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Dunque non corrego il codice per il semplice fatto che se lo facessi io poi non capiresti cosa realmente stai sbagliando.
    La parte di TraveCa.java, cioè dove crei l'intent e lanci la nuova activity, è giusta. Il fatto è che i valori all'interno dell'intent vanno letti all'interno di una classe che estende Activity, quindi i valori li devi leggere esattamente come stai facendo DiagrammaView.java ma all'interno del metodo OnCreate di DiagrammaActivity, dopo ciò devi passare questi valori alla tua custom view( DiagrammaView.java) e fare tutta l'elaborazione che ti serve!
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  7. #6
    Androidiano L'avatar di brunoso52


    Registrato dal
    Mar 2012
    Messaggi
    135
    Smartphone
    85739815629

    Ringraziamenti
    7
    Ringraziato 23 volte in 22 Posts
    Predefinito

    Vediamo se ho capito:
    1 - devo passare i dati a DiagrammaActivity e rilanciarli poi come in TraveCa a DiagrammaView.
    2 - Recuperare i dati in DiagrammaView, ma in che posizione nel mio listato? Scusa usi termini tecnici tipo custom view, che per un principiante è arabo. Grazie di nuovo per la tua disponibilità. La mia richiesta di modificare il codice si limitava ad una sola variabile poi risistemando il tutto avrei capito dove erravo.

  8. #7
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Il metodo getIntent è un metodo della classe Activity o Service, in questo caso all'interno di DiagrammaView, tu sei fuori da uno di questi casi. Quello che puoi fare in questo caso, ma il discorso andrebbe veramente allungato e spiegato per filo e per segno, è di leggere quelle variabili all'interno dei costruttori di DiagrammaView. Dai un'occhiata al metodo valorizzaVariabili. All'interno di una activity o di un service puoi utilizzare semplicemente getIntent() perchè capisce in automatico il context a cui fa riferimento, altrimenti gli va specificato. Ho cercato di essere il meno tecnico possibile! Ecco qui la classe modificata, prova a vedere se funziona così.

    DiagrammaView.rar
    File allegati
    Ultima modifica di fedestylah; 03-07-13 alle 15:46
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  9. #8
    Androidiano L'avatar di brunoso52


    Registrato dal
    Mar 2012
    Messaggi
    135
    Smartphone
    85739815629

    Ringraziamenti
    7
    Ringraziato 23 volte in 22 Posts
    Predefinito

    Ho sostituito il tuo DiagrammaView al mio e eseguito la modifica al DiagrammaActivity, già che ci sei prova a controllare se era così che intendevi, ho lanciato il programma ma l'errore del getIntent() persiste solo che il messaggio è il seguente Unknown method "getIntent" of "android.content,Context". Ti allego il codice aggiornato per controllo. Grazie nuovamente per la tua disponibilità.
    File allegati

  10. #9
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Si, scusami mi ero dimenticato il cast sulla variabile context

    sostituisci la prima del metodo che ti ho creato (valorizzaVariabili) con

    codice:
    Bundle intent2 = ((DiagrammaActivity)context).getIntent().getExtras();
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  11. #10
    Androidiano L'avatar di brunoso52


    Registrato dal
    Mar 2012
    Messaggi
    135
    Smartphone
    85739815629

    Ringraziamenti
    7
    Ringraziato 23 volte in 22 Posts
    Predefinito

    Fantastico funziona tutto alla perfezione, era qualche settimana che impazzivo e non sapevo più dove mettere mano. Grazie mille ancora e molto gentile e veloce ti devo una pizza, anche se non so quanta strada ci separa.

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy