Autore Topic: Difficoltà nel capire come chiudere un'applicazione  (Letto 1798 volte)

Offline viir

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Mac OS X 10.10.5
Difficoltà nel capire come chiudere un'applicazione
« il: 25 Agosto 2012, 15:31:59 CEST »
0
Ciao a tutti, sono nuova del forum e ho bisogno di parlare con gente esperta in programmazione Android per avere alcuni chiarimenti. Per prima cosa chiedo scusa se ho aperto un topic simile a uno già esistente (ho visto che già un altro utente chiedeva informazioni circa "come chiudere un'applicazione"), però non mi andava di creare confusione in quel topic, pertanto spero non mi chiudiate questo thread.
Vi pongo il mio problema: sto creando un'applicazione e al momento ho realizzato due activity; nell'activity principale ho creato un pulsante "esci", il quale una volta premuto, dovrebbe farmi uscire dall'applicazione... però non so come fare. Ho letto varie guide ma niente, non riesco proprio a orientarmi come fare. Sono agli inizi della programmazione java, ed ecco le prime difficoltà! :) Vi posto il mio codice.. spero possiate essermi d'aiuto. Grazie in anticipo.

ACTIVITY PRINCIPALE:
Codice: [Seleziona]
package com.ing;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View.OnClickListener;
import android.view.View;
import android.content.Context;
import android.view.MotionEvent;
import android.widget.Button;
import android.widget.Toast;
import android.content.Intent;
import com.ing.*;


public class AdisysMobile extends Activity implements OnClickListener{

         @Override
         public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_adisys_mobile);
        Button login = (Button) findViewById(R.id.login);
        Button esci = (Button) findViewById(R.id.esci);
        Button registrati = (Button) findViewById(R.id.registrati);
        login.setOnClickListener(this);
        esci.setOnClickListener(this);
        registrati.setOnClickListener(this);
        }

         @Override
         public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_adisys_mobile, menu);
         return true;
        }

         public void onClick(View v) {

                 if(v.getId()==R.id.registrati){
                Intent myIntent = new Intent (getApplicationContext(), Registrazione.class);
                startActivity(myIntent);
                }
                 
                 else if(v.getId()==R.id.esci){
                         finish();

                 }
         }
         
       

         
}

ACTIVITY SECONDARIA
Codice: [Seleziona]
package com.ing;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.Context;
 import android.content.Intent;
import android.view.MotionEvent;
 import android.widget.Button;
 import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
import com.ing.*;

public class Registrazione extends Activity implements OnClickListener {

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registrazione);
Button indietro = (Button) findViewById(R.id.indietro);

indietro.setOnClickListener(this);
}


 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_registrazione, menu);

 return true;
}

 public void onClick(View v){
 if(v.getId()==R.id.indietro){
Intent myIntent = new Intent (getApplicationContext(), AdisysMobile.class);
startActivity(myIntent);
}
}

}






jfrankie

  • Visitatore
Re:Difficoltà nel capire come chiudere un'applicazione
« Risposta #1 il: 04 Settembre 2012, 13:27:42 CEST »
0
A prescindere dal fatto che non dovresti essere tu a chiudere l'app ma il SO dovresti chiamare o

finish()

o

finishAffinity()

Offline mdb

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +7
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Prometheo Apps
  • Sistema operativo:
    Windows
Re:Difficoltà nel capire come chiudere un'applicazione
« Risposta #2 il: 04 Settembre 2012, 14:46:51 CEST »
0
riguardo a:
Codice: [Seleziona]
         public void onClick(View v) {

                 if(v.getId()==R.id.registrati){
                Intent myIntent = new Intent (getApplicationContext(), Registrazione.class);
                startActivity(myIntent);
                }
                 
                 else if(v.getId()==R.id.esci){
                         finish();

                 }
         }

invece di fare un if per verificare quale button sia stato premuto, rendendo il codice meno leggibile (e un po' meno efficiente),
ti conviene predisporre due funzioni separate.
Ad esempio:
public void registrati(View v){...}
public void esci(View v){...}

poi da xml puoi indicare rispettivamente per ciascun button:
android:onClick="registrati"
e
android:onClick="esci"
:-)
         
App per Android:
Almanacco: Giorno per giorno, eventi, notizie, giochi e curiosità, da leggere e condividere
Proverbi Napoletani: Più di 50 proverbi da ascoltare in dialetto napoletano. Due sottofondi musicali.

Offline ivanp

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy next turbo, Samsung Galaxy note
  • Play Store ID:
    Shakesoft
  • Sistema operativo:
    Win 7; Centos 6.2
Re:Difficoltà nel capire come chiudere un'applicazione
« Risposta #3 il: 14 Maggio 2013, 16:14:57 CEST »
0
riguardo a:
Codice: [Seleziona]
         public void onClick(View v) {

                 if(v.getId()==R.id.registrati){
                Intent myIntent = new Intent (getApplicationContext(), Registrazione.class);
                startActivity(myIntent);
                }
                 
                 else if(v.getId()==R.id.esci){
                         finish();

                 }
         }

invece di fare un if per verificare quale button sia stato premuto, rendendo il codice meno leggibile (e un po' meno efficiente),
ti conviene predisporre due funzioni separate.
Ad esempio:
public void registrati(View v){...}
public void esci(View v){...}

poi da xml puoi indicare rispettivamente per ciascun button:
android:onClick="registrati"
e
android:onClick="esci"
:-)
         

Ciao,
scusa ma non capisco cosa intendi per " rendendo il codice meno leggibile (e un po' meno efficiente)" in che senso? le app si "appesantiscono" se faccio gestire dal codice il click di un bottone?
La mia è solo una curiosità  :-)

Offline zorcraft

  • Utente junior
  • **
  • Post: 108
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    note
  • Play Store ID:
    zorcraft
Re:Difficoltà nel capire come chiudere un'applicazione
« Risposta #4 il: 17 Maggio 2013, 14:23:42 CEST »
0
ciao io per ogni bottone faccio cosi:

Codice: [Seleziona]
esci.setOnClickListener(new OnClickListener() {
                       
                        @Override
                        public void onClick(View arg0) {
                                Activity pagina=Classifica.this;
                                pagina.finish();
                                Intent personaggio=new Intent(Classifica.this,Inizio.class);
                                startActivity(personaggio);
                        }
                });

esci e la variabile a cui hai dato il botttone
Classifica e la pagina che vuoi chiudere e Inizio e quella che vuoi aprire

spero ti sia utile