1 package com.example.furt.myapplication;
3 import android.app.Activity;
4 import android.content.Intent;
5 import android.content.SharedPreferences;
6 import android.os.Bundle;
7 import android.view.Menu;
8 import android.view.MenuItem;
9 import android.view.View;
10 import android.widget.Button;
11 import android.widget.EditText;
12 import android.widget.TextView;
13 import android.widget.Toast;
15 /*possiamo chiavare la mainActiviti in due casi, il primo è aprendo l'applicazione, il secondo è effettuando il
16 * logout. nel primo caso viene controllato se sono state memorizzate delle credenziali e nel caso, il login viene
17 * efetttuato direttamente. nel caso in cui si effettua il logout o non sono state memorizzate le credenziali,
18 * viene data la possibilità di registrarsi o loggarsi, è possibile tramite il menù recuperare la password o aggiornarla
19 * una volta effettuato il login viene passato il controllo ad "aggiorna.java"*/
21 public class mainActivity extends Activity {
24 public static final String PREFS_NAME = "MyPrefsFile";
25 private static final String PREF_USERNAME = "username";
26 private static final String PREF_PASSWORD = "password";
29 protected void onCreate(Bundle savedInstanceState) {
30 super.onCreate(savedInstanceState);
31 setContentView(R.layout.activity_login);
32 t = (TextView) findViewById(R.id.login);
33 SharedPreferences pref = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);//recupero le ultime credenziali valide inserite
34 String username = pref.getString(PREF_USERNAME, null);
35 String password = pref.getString(PREF_PASSWORD, null);
37 Bundle dati=getIntent().getExtras();
38 if(dati!=null)//controllo se la mainActivity è stata chiamata dopo un logout
39 logout=dati.getString("logout");
46 if (username == null && password == null) {//viene effettuato solo se ci sono delle credenziali memorizzate e se mainActivity non è stata chiamata da un logout
47 Button b = (Button) findViewById(R.id.logout);
48 b.setOnClickListener(new View.OnClickListener() {//routin di gestione del login
50 public void onClick(View v) {
52 EditText txt = (EditText) findViewById(R.id.userId);//recupero username inserito
53 EditText txt2 = (EditText) findViewById(R.id.oldPass);//recupero la password inserita
54 String testo = txt.getText().toString();
55 String testo2 = txt2.getText().toString();
56 if(testo.contains("/") || testo2.contains("/"))//controllo che non siano inseriti valori vietati
57 Toast.makeText(getApplicationContext(),"il carattere '/' non è consentito", Toast.LENGTH_SHORT).show();
58 else if(testo.isEmpty() || testo2.isEmpty())//controllo che tutti i campi siano completati
59 Toast.makeText(getApplicationContext(),"riempi i campi", Toast.LENGTH_SHORT).show();
60 else {//login effettuato con successo
61 String request = serverComunication.connessioneMain("1/" + testo + "/" + testo2);//richiedo il login al server
62 if (!request.contains("error")) {
63 getSharedPreferences(PREFS_NAME, MODE_PRIVATE)//salvo username e password per i prossimi accessi
65 .putString(PREF_USERNAME, testo)
66 .putString(PREF_PASSWORD, testo2)
68 Intent i = new Intent(getApplicationContext(), aggiornamento.class);
69 i.putExtra("user", testo);
70 i.putExtra("pass", testo2);
71 i.putExtra("sessionKey", request);
72 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
73 getApplicationContext().startActivity(i);//avvio la "aggiornamento.class"
76 Toast.makeText(getApplicationContext(),"credenziali errate", Toast.LENGTH_SHORT).show();
78 } catch (Exception e) {
83 Button b2 = (Button) findViewById(R.id.button2);
84 b2.setOnClickListener(new View.OnClickListener() {//routine di gestione della registrazione
86 public void onClick(View v) {
88 EditText txt = (EditText) findViewById(R.id.userId);
89 EditText txt2 = (EditText) findViewById(R.id.oldPass);
90 String testo = txt.getText().toString();
91 String testo2 = txt2.getText().toString();
92 if(testo.isEmpty() || testo2.isEmpty())
93 Toast.makeText(getApplicationContext(),"riempi i campi", Toast.LENGTH_SHORT).show();
96 serverComunication connect = new serverComunication();
97 String request = connect.connessioneMain("0/" + testo + "/" + testo2);
98 Toast.makeText(getApplicationContext(), request, Toast.LENGTH_SHORT).show();
99 } catch (Exception e) {
106 Intent i = new Intent(getApplicationContext(), aggiornamento.class);
107 i.putExtra("user", username);
108 i.putExtra("pass", password);
109 i.putExtra("sessionKey", "000000000");
110 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
111 getApplicationContext().startActivity(i);
117 public boolean onCreateOptionsMenu(Menu menu) {
118 // Inflate the menu; this adds items to the action bar if it is present.
119 getMenuInflater().inflate(R.menu.login_set, menu);
124 public boolean onOptionsItemSelected(MenuItem item) {
125 // Handle action bar item clicks here. The action bar will
126 // automatically handle clicks on the Home/Up button, so long
127 // as you specify a parent activity in AndroidManifest.xml.
128 int id = item.getItemId();
129 if(id==R.id.recupera)//routine di gestione di recupero password
131 EditText txt = (EditText) findViewById(R.id.userId);
132 String testo = txt.getText().toString();
134 Toast.makeText(getApplicationContext(),"inserisci l'indirizzo email", Toast.LENGTH_SHORT).show();
137 serverComunication connect = new serverComunication();
138 String request = connect.connessioneMain("2/" + testo);
139 Toast.makeText(getApplicationContext(), request, Toast.LENGTH_SHORT).show();
140 } catch (Exception e) {
145 if(id==R.id.reimposta)
147 Intent i = new Intent(getApplicationContext(), recuperaPass.class);
148 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
149 getApplicationContext().startActivity(i);
151 return super.onOptionsItemSelected(item);