Bonjour,

je travail sur un projet de consultation d'état de capteur et de visionnage de vidéo surveillance sur mobile.

Pour sécuriser cela j'ai fait une interface de connexion avec la requête qui va bien et maintenant je tente de faire une page de création d'identifiant, cependant il me faut faire une requête INSERT et je ne vois pas du tout a quoi elle pourrait ressembler.

Je vous montre mon code pour la connexion afin que vous sachiez a quoi cela ressemble.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
145
146
 
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class MainActivity extends Activity
{
    String TAG= "MainActivity";
    Thread thread;
    Connection connexion;
    Statement statement;
    ResultSet resultat;
    // Variable de connexion
    //String serverAddress= "192.168.1.25";
    String serverAddress= "172.22.18.8";
    public String userName= "MaBase";
    public String passWord= "Mocopoc0*";
    public String dataBaseName= "mabase";
    int serverPort= 3306;
    String url= new String();
    String requete= new String();
    // Variables pour l'authentification grâce à la requête
    String utilisateur= new String();
    String motDePasse= new String();
    //variable pour création d'activity
    Intent intent;
    Intent intent2;
 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try
        {   Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
            Log.i(TAG, "driver JDBC chargé");
        }
        catch ( ClassNotFoundException e )
        {   Log.i(TAG,"Erreur de chargement du driver JDBC"+e.getMessage());
        } catch (IllegalAccessException e)
        {   Log.i(TAG,"Erreur (2) de chargement du driver JDBC"+e.getMessage());
        } catch (InstantiationException e)
        {	Log.i(TAG,"Erreur (3) de chargement du driver JDBC"+e.getMessage());
        }
 
        Button btnTeste2= (Button)findViewById(R.id.btnTest2);
        btnTeste2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                intent2 = new Intent(MainActivity.this,register.class);
                startActivity(intent2);
            }
        });
 
        Button btnTeste= (Button)findViewById(R.id.btnTest);
        btnTeste.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                EditText UserName= (EditText)findViewById(R.id.editUserName);
                utilisateur= UserName.getText().toString();
                EditText editPassword= (EditText)findViewById(R.id.editPassword);
                motDePasse= editPassword.getText().toString();
                url= "jdbc:mysql://"+serverAddress+String.format(":%d/",serverPort)+dataBaseName;
                requete= "SELECT password FROM login WHERE nom='"+utilisateur+"'";
                thread= new Thread(runDataBase);
                if(thread!=null)
                {	thread.start();
                    Log.i(TAG, "Thread crée "+thread.isAlive());
                }
                else
                {	Log.d(TAG, "Pb de création de Thread Connect");
                }
            }
        });
    }
 
 
    private Runnable runDataBase= new Runnable()
    {	public void run()
        {  	Log.i(TAG, "Connect start");
            Log.i(TAG,"url "+url+" "+userName+" "+passWord);
            try
            {	try
            {   connexion = DriverManager.getConnection(url, userName, passWord);
            }
            catch (java.sql.SQLException e)
            {	handler.sendEmptyMessage(-2);
                return;
            }
                // Création de l'objet gérant les requètes
                statement= connexion.createStatement();
                resultat= statement.executeQuery(requete);
                Log.i(TAG, "Requête "+requete);
                // Atention les colonnes démarrent à 1
                if( resultat.first() )
                {   if(resultat.getString(1).equals(motDePasse))
                    handler.sendEmptyMessage(0);
                else
                    handler.sendEmptyMessage(-1);
                }
                else
                    handler.sendEmptyMessage(-1);
                connexion.close();
            }
            catch (java.sql.SQLException e)
            {	handler.sendEmptyMessage(-1);
            }
        }
    };
 
    private Handler handler = new Handler()
    {
        public void handleMessage(android.os.Message msg)
        {	switch(msg.what)
        {   case 0: Toast.makeText(getBaseContext(), "Utilisateur authentifié", Toast.LENGTH_SHORT).show();
            intent = new Intent(MainActivity.this,viewserver.class);
            startActivity(intent);
            break;
            case -1:Toast.makeText(getBaseContext(), "Problème d'authentification", Toast.LENGTH_SHORT).show();
                break;
            case -2:Toast.makeText(getBaseContext(), "Erreur de connexion", Toast.LENGTH_SHORT).show();
                break;
            default:Toast.makeText(getBaseContext(), "Erreur inconnue", Toast.LENGTH_SHORT).show();
        }
        };
    };
 
}
 
cordialement