JavascriptProva

sabato 4 giugno 2016

Studio della mia App

Bene.
Voglio analizzarmi bene il programma tutto...

Il metodo onCreate:



Comprende, dopo le inizializzazioni delle variabili, dei Listeners:
  • tts=new TextToSpeech(this, new TextToSpeech.OnInitListener() (per il TTS)
  • luccListener = new View.OnLongClickListener() (per i lucchetti che passano a modo setting)
  • onTouchListener=new View.OnTouchListener() (per le immagini)
  • mainLayout.setOnTouchListener(new View.OnTouchListener() per la gestione dello scrolling
  • mainLayout.setOnLongClickListener(new View.OnLongClickListener() per caricare ImagePick
  • button.setOnClickListener(new View.OnClickListener() per il pulsante "CANCELLA"
  • bttIniziale.setOnClickListener(new View.OnClickListener() per il pulsante "TORNA A INIZIALE <- "
  • bttCancella.setOnClickListener(new View.OnClickListener() pulsante che cancella la casella di testo
  • imgButton.setOnClickListener(new View.OnClickListener() pulsante "MODIFICA IMMAGINE".

Terminato il metodo onCreate.
Praticamente, a parte definire le variabili e i listeners, il metodo onCreate non fa nulla.
Quando si avvia il programma, quindi, fin qui ancora non si è differenziato nulla.

Ecco il metodo onStart:
	@Override
	public void onStart(){
		super.onStart();
		if(currentCat==null) currentCat="iniziale";
		refreshScreen();
		if(settingMode==false && !currentCat.equals("iniziale")) bttIniziale.setVisibility(View.VISIBLE);
		else {
			bttIniziale.setVisibility(View.INVISIBLE);
		}
		
	}
Qui viene chiamata in causa la variabile currentCat, che esprime la categoria corrente.
La variabile è stata dichiarata nella sezione dichiarazioni:
String currentCat;
Se è ancora nulla, significa che siamo appena entrati nel programma, e quindi non possiamo fare altro che trovarci nella pseudoschermata iniziale, quindi viene reimpostata a "iniziale".
Quindi viene chiamata la funzione refreshScreen() che è mia:
	private void refreshScreen(){
		mainLayout.removeAllViews();
		try{
			leggiDaDatabase(currentCat);
		} catch(Exception e){Log.e("ERRORE","ERRORE");} 
		txtBarraCategoria.setText(currentCat);
	}
Questa chiama in causa il metodo removeAllViews() del RelativeLayout mainLayout, allo scopo di rimuovere tutte le eventuali views.
Quindi chiama la mia funzione leggiDaDatabase() usando come parametro currentCat, allo scopo di leggere tutte le voci che hanno come categoria currentCat. Il catch ce l'ho aggiunto io a fini "debuggistici".
Dopo aver letto dal database e piazzato le views, imposta la textView txtBarraCategoria con il valore della categoria corrente.

Nessun commento:

Posta un commento