1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
public class Consultation extends ActionBarActivity implements OnClickListener
{
private EditText immat, ata, num;
private Button btRechercher, btAnnuler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_consultation);
//liaison des objets graphiques et de prog
this.immat = (EditText) findViewById(R.id.idtxtImmat);
this.ata = (EditText) findViewById(R.id.idtxtAta);
this.num = (EditText) findViewById(R.id.idtxtNum);
this.btAnnuler = (Button) findViewById(R.id.idAnnuler);
this.btRechercher =(Button) findViewById(R.id.idRechercher);
//rendre les boutons cliquables
this.btAnnuler.setOnClickListener(this);
this.btRechercher.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.consultation, menu);
return true;
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.idAnnuler:
this.immat.setText("");
this.ata.setText("");
this.num.setText("");
break;
case R.id.idRechercher:
final String immat = this.immat.getText().toString();
final String ata = this.ata.getText().toString();
final String num = this.num.getText().toString();
final Consultation cons = this;
final Intent unIntent = new Intent(this, ConsultationDoc.class);
unIntent.putExtra("immat", immat);
unIntent.putExtra("ata", ata);
unIntent.putExtra("num", num);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
final boolean ok = rechDoc(immat, ata, num);
runOnUiThread(new Runnable() {
@Override
public void run()
{
if(ok)
{
Toast.makeText(cons, "Document trouvé.", Toast.LENGTH_LONG).show();
startActivity(unIntent);
}
else
{
Toast.makeText(cons, "Document non trouvé", Toast.LENGTH_LONG).show();
}
}
});
}
});
//on demarre la tache
thread.start();
break;
}
}
private boolean rechDoc(String immat, String ata, String num)
{
boolean retour = false;
String url = "###lien###";
//passage des parametres email et mdp en arrayList
ArrayList<NameValuePair> mesDonnees = new ArrayList<NameValuePair>();
mesDonnees.add(new BasicNameValuePair("immat", immat));
mesDonnees.add(new BasicNameValuePair("ata", ata));
mesDonnees.add(new BasicNameValuePair("num", num));
//ouverture d'une connection cliente http
//definition d'un fichier
InputStream is = null;
String resultat = null;
try
{
HttpClient httpClient = new DefaultHttpClient(new BasicHttpParams());
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(mesDonnees));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity entity = httpResponse.getEntity();
is = entity.getContent();
}
catch(Exception e)
{
Log.e("HTTP ouverture", "Erreur de connexion a l'url"+url);
}
//lecture du fichier et sa conversion en String
try
{
BufferedReader bf = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String ligne = null;;
while ((ligne = bf.readLine()) != null)
{
sb.append(ligne);
}
is.close();
resultat = sb.toString();
}
catch(Exception e)
{
Log.e("Parse de fichier impossible", "Erreur du parsing du fichier");
}
//parse en Json de la chaine de caracteres
try
{
Log.e("resultat", "resulutat = "+resultat);
JSONArray ja = new JSONArray(resultat); //parsing resultat en JSON
JSONObject jo = ja.getJSONObject(0); //un seul resultat donc pas de for
int nb = jo.getInt("nb");
if (nb == 1)
retour = true;
}
catch (Exception e)
{
Log.e("erreur", "Erreur de parsing JSON");
}
return retour;
}
} |
Partager