я не знаю почему, но мои вставки из CreationCompte.java больше не регистрируются в моей базе данных sqlite, у меня нет сообщения об ошибке, и моя функция insertUser вызывается в моем файле logcat, я не понимаю, что происходит, я новичок в Android, кто-то может помочь мне найти проблему, пожалуйста?
ps: мои XML-файлы, кажется, все ясно.
MainActivity.java:
package com.example.tp1;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private EditText Login;
private EditText password;
private Button submit;
private int counter = 5;
private TextView Info;
private Button inscription;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Login = (EditText)findViewById(R.id.Login);
password = (EditText)findViewById(R.id.password);
submit = (Button) findViewById(R.id.submit);
inscription = (Button) findViewById(R.id.inscription);
Info = (TextView) findViewById(R.id.Info);
Intent intent = getIntent();
if (intent != null) {
String login = "";
String mdp = "";
if (intent.hasExtra("login") && intent.hasExtra("mdp")) { // vérifie qu'une valeur est associée à la clé “login”
login = intent.getStringExtra("login"); // on récupère la valeur associée à la clé
mdp = intent.getStringExtra("mdp");
Login.setText(login);
password.setText(mdp);
}
}
Info.setText("No of attempts remaining : 5");
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
validate(Login.getText().toString(), password.getText().toString());
}
});
inscription.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sinscrire();
}
});
}
private void validate(String Login, String password) {
if(Login.equals(getString(R.string.Login)) && password.equals(getString(R.string.password))) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("Login", Login);
startActivity(intent);
} else {
counter--;
Info.setText("nb of attempts remaining" + String.valueOf(counter));
if (counter==0) {
submit.setEnabled(false);
}
}
}
private void sinscrire() {
Intent intent = new Intent(MainActivity.this, creationCompte.class);
startActivity(intent);
}
}
CreationCompte.java:
package com.example.tp1;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class creationCompte extends AppCompatActivity {
private EditText nom;
private EditText prenom;
private EditText telephone;
private EditText courriel;
private EditText login;
private EditText mdp;
private EditText confirmationmdp;
private Button valider;
private Button annuler;
private SQLiteDatabaseHelper DataBaseManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_creation_compte);
nom = (EditText)findViewById(R.id.nom);
prenom = (EditText)findViewById(R.id.prenom);
telephone = (EditText) findViewById(R.id.telephone);
courriel = (EditText) findViewById(R.id.courriel);
login = (EditText)findViewById(R.id.login);
mdp = (EditText)findViewById(R.id.mdp);
confirmationmdp = (EditText)findViewById(R.id.confirmationmdp);
valider = (Button) findViewById(R.id.valider);
annuler = (Button) findViewById(R.id.annuler);
valider.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
validation(nom, prenom, telephone, courriel, login, mdp, confirmationmdp);
}
});
annuler.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
annulation();
}
});
}
private void validation(EditText nom, EditText prenom, EditText telephone, EditText courriel, EditText login, EditText mdp, EditText confirmationmdp ) {
if (mdp.getText().toString().equals(confirmationmdp.getText().toString())) {
DataBaseManager = new SQLiteDatabaseHelper(this);
DataBaseManager.insertUser(nom.getText().toString(), prenom.getText().toString(), telephone.getText().toString(), courriel.getText().toString(), login.getText().toString(), mdp.getText().toString());
DataBaseManager.close();
Intent intent = new Intent(creationCompte.this, MainActivity.class);
intent.putExtra("login", login.getText().toString());
intent.putExtra("mdp", mdp.getText().toString());
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(),"nous n'avons pas compris votre mot de passe !", Toast.LENGTH_LONG).show();
}
}
private void annulation() {
Intent intent = new Intent(creationCompte.this, MainActivity.class);
startActivity(intent);
}
}
SQLiteDataBaseHelper.java:
package com.example.tp1;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class SQLiteDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "nt3.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "user_table";
public SQLiteDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String strSql = "create table user_table ("
+ " idUser integer primary key autoincrement,"
+ " nom text not null,"
+ " prenom text not null,"
+ " telephone text not null,"
+ " courriel text not null,"
+ " login text not null,"
+ " mdp text not null"
+ ")";
db.execSQL(strSql);
Log.i( "DATABASE", "onCreate invoked" );
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String strSql = "drop table user_table";
db.execSQL(strSql);
Log.i( "DATABASE", "onUpgrade invoked" );
}
public void insertUser(String nom, String prenom, String telephone, String courriel, String login, String password) {
nom = nom.replace("'", "''");
prenom = prenom.replace("'", "''");
telephone = telephone.replace("'", "''");
courriel = courriel.replace("'", "''");
login = login.replace("'", "''");
password = password.replace("'", "''");
String strSql = "insert into user_table (nom, prenom, telephone, courriel, login, mdp) values ('" + nom + "', '" + prenom + "', '" + telephone + "', '" + courriel + "', '" + login + "', '" + password + "')";
this.getWritableDatabase().execSQL(strSql);
Log.i( "DATABASE", "insertUser invoked" );
}
}