Sunteți pe pagina 1din 13

Clase en Java LoginRequest

package com.tallerdepoo.americo.app1;

import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

public class LoginRequest extends StringRequest{


private static final String
LOGIN_REQUEST_URL="http://192.168.15.4/Login.php";
private Map<String,String> params;
public LoginRequest(String username,String password,
Response.Listener<String> listener){
super(Method.POST,LOGIN_REQUEST_URL,listener,null);
params=new HashMap<>();
params.put("username",username);
params.put("password",password);
}

@Override
public Map<String, String> getParams() {
return params;
}
}
Clase en Java “Activity main” en mi caso lo nombre PayBills
package com.tallerdepoo.americo.app1;

import android.content.Intent;
import android.support.v7.app.AlertDialog;
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;

import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;

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

public class PayBills extends AppCompatActivity {


EditText et_usuario, et_password;
Button btn_registrar;
Button btn_log;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app);
et_usuario = (EditText) findViewById(R.id.TV_usu);
et_password = (EditText) findViewById(R.id.TV_pas);
btn_log = (Button) findViewById(R.id.btn_log);

btn_registrar = findViewById(R.id.btn_registrar);
btn_registrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentReg = new Intent(PayBills.this, Registro.class);
PayBills.this.startActivity(intentReg);
}
});
btn_log.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String username= et_usuario.getText().toString();
final String password= et_password.getText().toString();

Response.Listener<String> responseListener = new


Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if(success) {
String name = jsonResponse.getString("name");
String email = jsonResponse.getString("email");
Intent intent = new
Intent(PayBills.this,Usuario.class);
intent.putExtra("name", name);
intent.putExtra("username",username);
intent.putExtra("email", email);
intent.putExtra("password",password);
PayBills.this.startActivity(intent);

}else{
AlertDialog.Builder builder = new
AlertDialog.Builder(PayBills.this);
builder.setMessage("Error en el Logeo")
.setNegativeButton("Retry",null)
.create().show();
}
} catch (JSONException e) {
e.printStackTrace();
}

}
};
LoginRequest loginRequest = new
LoginRequest(username,password,responseListener);
RequestQueue queue = Volley.newRequestQueue(PayBills.this);
queue.add(loginRequest);
}
});

}
}

Clase en Java RegisterRequest


package com.tallerdepoo.americo.app1;

import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

public class RegisterRequest extends StringRequest {

private static final String


REGISTER_REQUEST_URL="http://192.168.15.4/Register.php";
private Map<String,String> params;
public RegisterRequest(String name, String username, String email, String
password, Response.Listener<String> listener){
super(Method.POST,REGISTER_REQUEST_URL,listener,null);
params=new HashMap<>();
params.put("name",name);
params.put("username",username);
params.put("email",email);
params.put("password",password);
}

@Override
public Map<String, String> getParams() {
return params;
}
}
Clase en Java Registro
package com.tallerdepoo.americo.app1;

import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;

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

public class Registro extends AppCompatActivity implements View.OnClickListener {


EditText etnombre, etusuario, etpassword, etcorreo;
Button btn_registrar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registro);

etnombre = findViewById(R.id.EditT_nombre);
etusuario =findViewById(R.id.EditT_usuario);
etpassword =findViewById(R.id.EditT_password);
etcorreo =findViewById(R.id.EditT_correo);

btn_registrar =findViewById(R.id.Btn_reg);

btn_registrar.setOnClickListener(this);

}
@Override
public void onClick(View view) {

final String name=etnombre.getText().toString();


final String username=etusuario.getText().toString();
final String password=etpassword.getText().toString();
final String email=etcorreo.getText().toString();

Response.Listener<String> respoListener= new Response.Listener<String>()


{
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");

if (success) {
Intent intent = new Intent(Registro.this,
PayBills.class);
Registro.this.startActivity(intent);
} else{
AlertDialog.Builder builder = new
AlertDialog.Builder(Registro.this);
builder.setMessage("Error en el Registro")
.setNegativeButton("Retry",null)
.create().show();
}

} catch (JSONException e) {
e.printStackTrace();
}

}
};

RegisterRequest registerRequest = new


RegisterRequest(name,username,email,password,respoListener);
RequestQueue queue = Volley.newRequestQueue(Registro.this);
queue.add(registerRequest);

}
}

Clase en Java Usuario


package com.tallerdepoo.americo.app1;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class Usuario extends AppCompatActivity {


TextView tvNombre, tvUsuario, tvEmail, tvPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usuario);

tvNombre = findViewById(R.id.TextV_nombre);
tvUsuario = findViewById(R.id.TextV_usuario);
tvEmail = findViewById(R.id.TextV_email);
tvPassword = findViewById(R.id.TextV_password);

Intent intent = getIntent();


String name = intent.getStringExtra("name");
String username = intent.getStringExtra("username");
String password = intent.getStringExtra("password");
String email = intent.getStringExtra("email");

tvNombre.setText(name);
tvUsuario.setText(username);
tvEmail.setText(email);
tvPassword.setText(password);

}
}
Clase en XML en la carpeta layout activity_app.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/PayBills"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fact">

<TextView
android:layout_width="300dp"
android:layout_height="60dp"
android:gravity="center"
android:layout_marginTop="30dp"
android:layout_marginLeft="40dp"
android:background="@drawable/borderpaybills"
android:textColor="#000"
android:text="PayBills"
android:textSize="40dp"
android:layout_gravity="center"
/>

<LinearLayout
android:paddingTop="100dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<EditText
android:id="@+id/TV_usu"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:layout_marginTop="60dp"
android:background="@drawable/edittextstyle"
android:hint="@string/username"
android:gravity="center"
android:textColor="#f000"
android:textColorHint="#f000" />

<EditText
android:id="@+id/TV_pas"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:background="@drawable/edittextstyle"
android:gravity="center"
android:hint="@string/password"
android:textColor="#f000"
android:textColorHint="#f000" />

<Button
android:id="@+id/btn_log"
android:textColor="#fff"
android:layout_gravity="center"
android:background="@drawable/buttonstyleselector"
android:layout_marginTop="50dp"
android:layout_width="200dp"
android:text="@string/login"
android:layout_height="60dp"
/>
<Button
android:id="@+id/btn_registrar"
android:textColor="#fff"
android:layout_gravity="center"
android:background="@drawable/buttonstyleselector"
android:layout_marginTop="20dp"
android:layout_width="200dp"
android:layout_height="60dp"
android:text="Registrar"

/>

</LinearLayout>

</RelativeLayout>

Clase en XML en la carpeta layout 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:background="@drawable/reg"
tools:context="com.tallerdepoo.americo.app1.Registro">
<TextView
android:layout_margin="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nombre"
android:textSize="25dp"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginTop="20dp"
android:textColor="#f000"
/>
<EditText
android:id="@+id/EditT_nombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nombre"
android:textColor="#f000"
android:inputType="text"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Usuario:"
android:textSize="25dp"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginTop="20dp"
android:textColor="#f000"
/>
<EditText
android:id="@+id/EditT_usuario"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Usuario"
android:textColor="#f000"
android:inputType="text"
/>
<TextView
android:layout_margin="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Contraseña:"
android:textSize="25dp"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginTop="20dp"
android:textColor="#f000"
/>
<EditText
android:id="@+id/EditT_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Contraseña"
android:textColor="#f000"
android:inputType="text"
/>

<TextView
android:layout_margin="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Correo Electronico:"
android:textSize="25dp"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginTop="20dp"
android:textColor="#f000"
/>
<EditText
android:id="@+id/EditT_correo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Correo Electronico"
android:textColor="#f000"
android:inputType="text"
/>
<Button
android:id="@+id/Btn_reg"
android:text="Registrar"
android:layout_marginTop="15dp"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="50dp"
android:background="@drawable/buttonstyleselector"
android:textColor="#f000"/>

</LinearLayout>
Clase en XML en la carpeta layout activity_usuario.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:background="@drawable/usu"
tools:context="com.tallerdepoo.americo.app1.Usuario">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bienvenido"
android:textSize="30sp"
android:layout_gravity="center"
android:textColor="#f000"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Nombre:"
android:textColor="#f000"
android:textSize="30sp"/>
<TextView
android:id="@+id/TextV_nombre"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text=""
android:textColor="#f000"
android:textSize="30sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Usuario:"
android:textColor="#f000"
android:textSize="30sp"/>
<TextView
android:id="@+id/TextV_usuario"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text=""
android:textColor="#f000"
android:textSize="30sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Contraseña:"
android:textColor="#f000"
android:textSize="30sp"/>
<TextView
android:id="@+id/TextV_password"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text=""
android:textColor="#f000"
android:textSize="30sp"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Email:"
android:textColor="#f000"
android:textSize="30sp"/>
<TextView
android:id="@+id/TextV_email"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text=""
android:textColor="#f000"
android:textSize="30sp"/>
</LinearLayout>

</LinearLayout>

En la carpeta drawable borderpaybills.xml


<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">

<stroke android:width="5dp" android:color="#000" />


<padding android:left="6dp" />

</shape>

En la carpeta drawable buttonstyleclicked.xml


<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFA500" />
</shape>
En la carpeta drawable buttonstylenormal.xml
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ff00" />
</shape>

En la carpeta drawable buttonstyleselector.xml


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/buttonstyleclicked"
android:state_pressed="true" />
<item android:drawable="@drawable/buttonstylenormal"/>
</selector>

En la carpeta drawable edittextstyle.xml


<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">

<stroke android:width="1dp" android:color="#f0000000" />


<padding android:left="5dp" />

</shape>

Imagenes usadas en la elaboracion de la app

Nombre: fact.png
Nombre: reg.png

Nombre: usu.png
Gradle Scripts> build.gradle
apply plugin: 'com.android.application'

android {
compileSdkVersion 26

defaultConfig {
applicationId "com.tallerdepoo.americo.app1"
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"

testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.1'
compile 'com.android.volley:volley:1.0.0'
}

S-ar putea să vă placă și