Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matricula: 98707
Grupo: K05
Actividad: N°. 4
Fecha: 26/03/2021
Para empezar este proyecto hay que crear la siguiente vista en un proyecto Django que será el respaldo
de la aplicación móvil. La vista almacena usuario, contraseña, correo electrónico y organización.
@csrf_exempt
def androidRegister(request):
if request.method==’POST’:
user_form = UserForm(data=request.POST)
profile_form = UserProfileForm(data=request.POST)
if user_form.is_valid():
if profile_form.is_valid():
user = user_form.save()
user.set_password(user.password)
user.save()
profile = profile_form.save(commit=False)
profile.user = user
profile.save()
return HttpResponse(“success”)
else:
return HttpResponse(“Invalid User or Organizacion”)
else:
return HttpResponse(“Username exist or Invalid Email”)
else:
print “entrando por get”
return HttpResponse()
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextUsername" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="email" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextEmail" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:password="true"
android:id="@+id/editTextPassword" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Organizacion" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:password="true"
android:id="@+id/editTextOrganizacion" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/buttonRegister" />
</LinearLayout>
En esta parte se inicializan los componentes y se declaran las KEYS que vamos a utilizar para transmitir
información con el servidor:
public static final String REGISTER_URL = "http://192.168.1.34:8000/androidRegister/";
public static final String KEY_USERNAME = "username";
public static final String KEY_PASSWORD = "password";
public static final String KEY_EMAIL = "email";
public static final String KEY_ORGANIZACION = "organizacion";
private EditText editTextUsername;
private EditText editTextEmail;
private EditText editTextPassword;
private EditText editTextOrganizacion;
private Button buttonRegister;
Este es el método onCreate que se ejecutará al comenzar la actividad. Se encarga de inicializar la vista de
la actividad asi como los listener:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextUsername = (EditText)findViewById(R.id.editTextUsername);
editTextEmail= (EditText)findViewById(R.id.editTextEmail);
editTextPassword = (EditText)findViewById(R.id.editTextPassword);
editTextOrganizacion = (EditText)findViewById(R.id.editTextOrganizacion);
buttonRegister = (Button)findViewById(R.id.buttonRegister);
buttonRegister.setOnClickListener(this);
}
Este es el método que realiza el registro de usuario, obteniendo los datos del formulario de registro y
enviandolos al servidor:
Si nos fijamos en la petición, utiliza el método POST por lo que tenemos que indicar los parametros que
vamos a enviar al servidor, para ello, es necesario sobrecargar el método getParams():
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put(KEY_USERNAME,username);
params.put(KEY_EMAIL, email);
params.put(KEY_PASSWORD,password);
params.put(KEY_ORGANIZACION,organizacion);
return params;
}
};
Además se va añadir r dos métodos más, onClick(View v) para controlar cuando el usuario quiere realizar
el registro y openLogin() que permite al usuario iniciar sesión si el registro se ha completado
sadisfactoriamente:
@Override
public void onClick(View v) {
if(v == buttonRegister){
registerUser();
}
}
private void openLogin(){
Intent intent = new Intent(this,Login.class);
startActivity(intent);
}
}
Finalmente, si ejecutamos la aplicación podemos observar como realiza registro correctamente e inicia
una nueva actividad para hacer login.