Inicio » Cursos » App Minimarket con lector QR

Curso App Minimarket con lector QR

Capitulo 11 ➜ 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","");

    }

}

 


1000 visitas

« Capítulo 10 – Login

Capítulo 12 – BD SqLite »

Descarga el código del proyecto

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

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Applications

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

© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024