Capitulo 11 del Módulo 4 App Android QR

➜ Registro

¿Cómo programar un registro de usuarios en Android ? | Para programar un registro de usuarios usamos una API Rest que devuelve el resultado de insertar al usuario en la BD Mysql, con esta creamos una sesión en

Para programar un registro de usuarios usamos una API Rest que devuelve el resultado de insertar al usuario en la BD Mysql, con esta creamos una sesión en 

activity_registro.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".RegistroActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_margin="100dp"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content">
        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/txtnombre"
            android:hint="Nombre:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/txtemail"
            android:hint="Email:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/txtpassword"
            android:hint="Password:"
            android:inputType="textPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <Button
            android:id="@+id/btnregistro"
            android:text="REGISTRO"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>

</LinearLayout>

RegistroActivity.java

package com.example.minimarketqr;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.material.textfield.TextInputEditText;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler;
import com.loopj.android.http.RequestParams;

import org.json.JSONException;
import org.json.JSONObject;

import cz.msebera.android.httpclient.Header;

public class RegistroActivity extends AppCompatActivity {

    private Button btnregistro;
    private TextInputEditText txtnombre,txtemail, txtpassword;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registro);
        setTitle("REGISTRO");
        String sesion = GetSession();

        if(!sesion.isEmpty()){
            startActivity(new Intent(getApplicationContext(),CategoriasActivity.class));
            finish();
        }

        btnregistro = findViewById(R.id.btnregistro);
        txtnombre = findViewById(R.id.txtnombre);
        txtemail = findViewById(R.id.txtemail);
        txtpassword = findViewById(R.id.txtpassword);

        btnregistro.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(txtnombre.getText().toString().isEmpty())
                    Toast.makeText(getApplicationContext(),"INGRESE NOMBRE", Toast.LENGTH_LONG).show();
                else if(txtemail.getText().toString().isEmpty())
                    Toast.makeText(getApplicationContext(),"INGRESE EMAIL", Toast.LENGTH_LONG).show();
                else if(txtpassword.getText().toString().isEmpty())
                    Toast.makeText(getApplicationContext(),"INGRESE PASSWORD", Toast.LENGTH_LONG).show();
                else
                    registro(txtnombre.getText().toString(),txtemail.getText().toString(),txtpassword.getText().toString());
            }
        });
    }

    private void registro(String nombre, String email, String password){
        // http
        RequestParams params = new RequestParams();
        params.put("registro",true);
        params.put("nombre",nombre);
        params.put("email",email);
        params.put("password",password);

        AsyncHttpClient client = new AsyncHttpClient();
        client.post(Config.urlsite+"registro.php",params, new JsonHttpResponseHandler(){
            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                super.onSuccess(statusCode, headers, response);
                try {
                    if(response.getBoolean("success")){

                        SaveSession(response.getString("id"));
                        startActivity(new Intent(getApplicationContext(),CategoriasActivity.class));
                        Log.d("mensaje","Bienvenido"+response.getString("id"));
                    }else{
                        Log.d("mensaje","No se puedo registrar");
                    }
                }catch (JSONException e){
                    e.printStackTrace();
                }
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
                super.onFailure(statusCode, headers, throwable, errorResponse);
                Log.d("mensaje error",errorResponse.toString());
            }
        });

    }


    private void SaveSession(String id){
        SharedPreferences s = getSharedPreferences("user", Context.MODE_PRIVATE);
        SharedPreferences.Editor e = s.edit();
        e.putString("user",id);
        e.apply();
    }
    private String GetSession(){
        SharedPreferences s = getSharedPreferences("user",Context.MODE_PRIVATE);
        return s.getString("user","");

    }

}

 


1614 visitas

Capítulo 12 – BD SqLite »

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

¡Qué aprenderás?

tooltip bs-tooltip-top bs-tooltip-end bs-tooltip-bottom bs-tooltip-start show fade tooltip-inner

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú