Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
java
package com.example.yoreciclo;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.Intent;
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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView registro=(TextView)findViewById(R.id.btnRegistro);
Button btnLogin = (Button)findViewById(R.id.btnlogin);
final EditText usuarioT =
(EditText)findViewById(R.id.correoLogin);
final EditText contrasT =
(EditText)findViewById(R.id.contrasLogin);
registro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent registro = new Intent(MainActivity.this,
registro.class);
MainActivity.this.startActivity(registro);
finish();
}
});
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String usuario = usuarioT.getText().toString();
final String contras = contrasT.getText().toString();
Response.Listener<String> respuesta = new
Response.Listener<String>() {
@Override
public void onResponse(String response) {
try{
JSONObject jsonRespuesta = new
JSONObject(response);
boolean ok=
jsonRespuesta.getBoolean("success");
if(ok==true){
String
nombre=jsonRespuesta.getString("nombre");
int
celular=jsonRespuesta.getInt("celular");
Intent actividad =new
Intent(MainActivity.this, Actividad.class);
actividad.putExtra("nombre", nombre);
actividad.putExtra("celular", celular);
MainActivity.this.startActivity(actividad);
MainActivity.this.finish();
}else{
AlertDialog.Builder alerta = new
AlertDialog.Builder(MainActivity.this);
alerta.setMessage("Fallo el login")
.setNegativeButton("Reintentar",
null)
.create()
.show();
}
}catch (JSONException e){
e.getMessage();
}
}
};
LoginRequest r = new LoginRequest(usuario, contras,
respuesta);
RequestQueue cola=
Volley.newRequestQueue(MainActivity.this);
cola.add(r);
}
});
}
}
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.util.HashMap;
import java.util.Map;
@Override
protected Map<String, String> getParams() {
return parametros;
}
}
interface Login:
<?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:background="#649481"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/correoLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:hint="Correo" />
<EditText
android:id="@+id/contrasLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:hint="Contraseña"
android:inputType="textPassword" />
<Button
android:id="@+id/btnlogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:text="Ingresar" />
<TextView
android:id="@+id/btnRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Registro"
android:textSize="18sp"
android:visibility="visible" />
</LinearLayout>
Registro: Registro.java
package com.example.yoreciclo;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.app.DownloadManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registro);
final EditText nombreT =
(EditText)findViewById(R.id.nombreRegistro);
final EditText apellidoT =
(EditText)findViewById(R.id.apellidoRegistro);
final EditText correoT =
(EditText)findViewById(R.id.correoRegistro);
final EditText contrasT =
(EditText)findViewById(R.id.contrasRegistro);
final EditText celularT =
(EditText)findViewById(R.id.celularRegistro);
Button btnRegistro = (Button)
findViewById(R.id.btnRegistro);
btnRegistro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nombre = nombreT.getText().toString();
String apellido =
apellidoT.getText().toString();
String correo = correoT.getText().toString();
String contras = contrasT.getText().toString();
int celular =
Integer.parseInt(celularT.getText().toString());
Response.Listener<String> respuesta =new
Response.Listener<String>() {
@Override
public void onResponse(String response) {
try{
JSONObject jsonRespuesta = new
JSONObject(response);
boolean
ok=jsonRespuesta.getBoolean("success");
if(ok==true){
Intent i = new Intent(registro.this,
MainActivity.class);
registro.this.startActivity(i);
registro.this.finish();
}else{
AlertDialog.Builder alerta = new
AlertDialog.Builder(registro.this);
alerta.setMessage("Fallo el registro")
.setNegativeButton("Reintentar",
null)
.create()
.show();
}
}catch (JSONException e){
e.getMessage();
}
}
};
RegistroRequest r = new RegistroRequest(nombre, apellido,
correo, contras, celular, respuesta);
RequestQueue cola= Volley.newRequestQueue(registro.this);
cola.add(r);
}
});
}
}
Conexión registro a servidor:
RegistroRequest.java
package com.example.yoreciclo;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.util.HashMap;
import java.util.Map;
Interface registro:
<?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"
tools:context=".registro">
<EditText
android:id="@+id/nombreRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:hint="Nombre" />
<EditText
android:id="@+id/apellidoRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:hint="Apellido" />
<EditText
android:id="@+id/correoRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:hint="Correo"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/contrasRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:hint="Cotraseña"
android:inputType="textPassword" />
<EditText
android:id="@+id/celularRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:ems="10"
android:hint="Celular"
android:inputType="phone" />
<Button
android:id="@+id/btnRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:text="Registro" />
</LinearLayout>
GEOLOCALIZACION Y MAPS:
public class Main extends MapActivity implements LocationListener
@Override
public void onProviderDisabled(String provider) {
Intent intent = new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
class MyOverlay extends Overlay { }
GeoPoint point;
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long
when) {
super.draw(canvas, mapView, shadow);
return true;
}
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow,
long when) {
super.draw(canvas, mapView, shadow);
return true;
}
}
Android manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.yoreciclo">
<uses-permission android:name="android.permission.INTERNET"></uses-
permission>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Actividad"></activity>
<activity android:name=".registro" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>
Librerías GRADEL:
Android manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.yoreciclo">
<uses-permission android:name="android.permission.INTERNET"></uses-
permission>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Actividad"></activity>
<activity android:name=".registro" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>