Enregistrement d’un client Android
Posted on: 1 juillet 2020 /
Categories: Androïd
Cet article est la suite de l’article Client Android JWT
activity_registration.xml :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RegistrationActivity">
<EditText
android:id="@+id/reg_user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Nom complet"
android:inputType="textPersonName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25" />
<EditText
android:id="@+id/reg_user_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="E-Mail"
android:inputType="textEmailAddress"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.339" />
<EditText
android:id="@+id/reg_user_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Mot de passe"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.423" />
<Button
android:id="@+id/btn_register_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="56dp"
android:text="S'ENREGISTRER"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.49" />
</androidx.constraintlayout.widget.ConstraintLayout>
RegistrationActivity.java :
package org.libreapps.rest;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.concurrent.ExecutionException;
public class RegistrationActivity extends AppCompatActivity {
private EditText userName, userPassword, userEmail;
private Button buttonRegistration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
userName = (EditText) findViewById(R.id.reg_user_name);
userEmail = (EditText) findViewById(R.id.reg_user_email);
userPassword = (EditText) findViewById(R.id.reg_user_password);
buttonRegistration = (Button) findViewById(R.id.btn_register_2);
buttonRegistration.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
ConnectionRest connectionRest = new ConnectionRest();
JSONObject jsonAuthentification = new JSONObject();
jsonAuthentification.put("name", userName.getText());
jsonAuthentification.put("email", userEmail.getText());
jsonAuthentification.put("password", userPassword.getText());
jsonAuthentification.put("licence", "<LICENCE>");
connectionRest.setObj(jsonAuthentification);
connectionRest.execute("CREATE_USER");
String token = connectionRest.get();
if(token.charAt(0)=='{') {
Log.v("LoginActivity", token);
}else {
Intent intent = new Intent(RegistrationActivity.this, MainActivity.class);
intent.putExtra("token", token);
startActivity(intent);
}
} catch (JSONException e1) {
Log.v("TAG", "[JSONException] e : " + e1.getMessage());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
});
}
}
Modifier la méthode get de votre classe ConnectionRest.java :
public String get(String methode) throws IOException, JSONException {
...
if(!methode.equals("POST")&&(jsonObj!=null)&&!methode.equals("CREATE_USER")){
url += jsonObj.getInt("id");
}
...
if (methode.equals("CREATE_USER")) {
methode = "POST";
url = URL + "register.php";
}
try {
final HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
...
}
}
Code source : https://github.com/emunier/Rest-resgister.git
