Documentación de un aplicación móvil en Android
-
Upload
danilso-diaz-ospino -
Category
Documents
-
view
229 -
download
0
Transcript of Documentación de un aplicación móvil en Android
-
7/25/2019 Documentacin de un aplicacin mvil en Android
1/117
APLICACIN MVIL PARA EVENTOS DEPORTIVOS
DANILSO DIAZ OSPINO
EDGAR PAEZ CARRILLO
UNIVERSIDAD DE LA COSTAFACULTAD DE INGENIERA DE SISTEMA
COMPUTACIN MVILBARRANQUILLA
2015
-
7/25/2019 Documentacin de un aplicacin mvil en Android
2/117
2
EVENTOS DEPORTIVOS APP
DANILSO DIAZ OSPINO
EDGAR PAEZ CARRILLO
PROYECTO DE AULA
ROBERTO MORALES
UNIVERSIDAD DE LA COSTAFACULTAD DE INGENIERA DE SISTEMAS
COMPUTACIN MVILBARRANQUILLA
2015
-
7/25/2019 Documentacin de un aplicacin mvil en Android
3/117
3
Nota de Aceptacin
Presidente del Jurado
Jurado
Jurado
Barranquilla 28/0572015
-
7/25/2019 Documentacin de un aplicacin mvil en Android
4/117
4
CONTENIDO
Pg.
Contenido
INTRODUCCIN ............................................................................................................... 8
OBJETIVOS ...................................................................................................................... 9
OBJETIVO GENERAL ................................................................................................... 9
OBJETIVOS ESPECFICOS .......................................................................................... 9
PLANTEAMIENTO DEL PROBLEMA .............................................................................. 10DEFINICIN DEL PROBLEMA .................................................................................... 10
JUSTIFICACIN .......................................................................................................... 10
DISEO BASE DE LA DATOS .................................................................................... 11
DESCRIPCIN DE LA APLICACIN ........................................................................... 12
DESARROLLO DEL PROYECTO ................................................................................... 13
INTERFACES DE LA APLICACIN MVIL ................................................................. 13
CDIGO DE LA APLICACIN MVIL ......................................................................... 27
CONCLUSIONES ......................................................................................................... 116
BIBLIOGRAFA .............................................................................................................. 117
-
7/25/2019 Documentacin de un aplicacin mvil en Android
5/117
5
LISTA DE FIGURAS
Pg
Figura 1. Diseo de la base de datos 13
Figura 2. Transicin de apertura 15
Figura 3. Interfaz de ingreso. 16
Figura 4. Interfaz de registro de datos 17
Figura 5. Interfaz de categoras de deportes 18
Figura 6. Interfaz del deporte futbol 19
Figura 7. Interfaz del basquetbol 20
Figura 8. Interfaz del deporte beisbol 21
Figura 9.Interfaz del deporte tenis 22
Figura 10. Interfaz para buscar por id de torneo 23
Figura 11. Interfaz para buscar por id de equipo 24
Figura 12. Interfaz de los equipos de un torneo 25
Figura 13. Interfaz de la lista de los torneos 26
Figura 14.Interfaz donde se listan los equipos 27
Figura 15.Interfaz cuando el usuario ha cerrado la sesin 28
-
7/25/2019 Documentacin de un aplicacin mvil en Android
6/117
6
GLOSARIO
SISTEMA OPERATIVO ANDROID: Android es un sistema operativo basado en elncleo Linux. Fue diseado principalmente para dispositivos mviles con pantallatctil, como telfonos inteligentes o tablets; y tambin para relojes inteligentes,televisores y automviles.
APLICACIN MVIL: una aplicacin mvil, apli o app (en ingls) es unaaplicacin informtica diseada para ser ejecutada en telfonos inteligentes,tabletas y otros dispositivos mviles.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
7/117
7
RESUMEN
En este proyecto de aula concerniente a la materia de computacin mvil, sepropone la creacin de una aplicacin mvil que brinde a los organizadores ogestores deportivos la facultad tecnolgica de llevar la administracin de loseventos deportivos que desee crear. Est aplicacin permite al organizadordeportivo crear un evento tal como un torneo, apartir del cual puede crear losequipos que lo conforman. Una vez hecho esto, el organizador pudo ver, revisar ymodificar la informacin de los torneos que cre (informacin que fue guardad en
la web), y as pudo gestionar todos sus eventos deportivos desde su celuar demanera gil, eficiente y definitivamente ms cmoda, si la comparamos con laanterior manera de registrar la informacin de los eventos, la cual era medianteplanillas de papel.
PALABRAS CLAVE: aplicacin mvil, telfonos inteligentes, sistema operativoandroid.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
8/117
8
INTRODUCCIN
Con la constante creacin y actualizacin que han tenido las aplicaciones mviles
y la concurrencia a ellas por parte de los usuarios, se ha aumentado la utilizacinde dichas aplicaciones mviles en diversos campos, no solo en el empresarial sinotambin en el educativo, cultural, deportivo y en las actividades diarias de laspersonas.
Por ejemplo, en el campo empresarial las aplicaciones mviles cumplen tareastales como la revisin de inventarios, la revisin de nmina, la solicitud de pedidos,etc. De modo que el alcance funcional que antes tenan los software de escritoriohoy la pueden tener las aplicaciones mviles, permitiendo hacer medianteaplicacin mvil todo lo que se puede con un software de computador, pero con laventaja que esto se hace desde un telfono mvil de una manera gil, cmoda yeficiente.
Las aplicaciones para telfonos mviles estn cambiando la manera no solo dehacer tecnologa sino tambin la forma de hacer empresa, esto es, la crecientedemanda de desarrollo de aplicaciones mviles por parte de las empresas enbusca de solucionar problemas de un modo definitivamente ms innovador. En laeducacin el uso de tabletas electrnicas ha solicitado la necesidad de crearaplicaciones mviles que sirvan de espacio de conocimiento cientfico al
alumnado, como son las aulas virtuales, a las que los estudiantes accedenmediante una tableta o celular. Tambin en el mbito cultural se han instalado lasaplicaciones mviles haciendo que la cultura vaya acompaada de la tecnologasiendo difundida en la web. Asimismo en las dems actividades diarias de laspersonas (recreacin, deporte, transporte) las aplicaciones mviles sonprometedoras. Su importancia ha llegado al punto de que en poco tiempo sernpocos los contextos en los que no se utilice las aplicaciones mviles como elmedio que comunica a las personas con el mundo tecnolgico, empresarial,cultural y social.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
9/117
9
OBJETIVOS
OBJETIVO GENERAL
Permitir a los organizadores de eventos deportivos llevar la administracin deestos.
OBJETIVOS ESPECFICOS
Desarrollar una aplicacin mvil para el sistema operativo android que permita alusuario crear eventos deportivos tales como torneos segn diversas categorasdeportivas.
Disear interfaces de la aplicacin mvil que le permita al usuario, de manerainteractiva, ver la informacin de los eventos deportivos que cree.
Aplicar tanto desarrollo como el diseo planteado para lograr una funcionalidadeficiente de la aplicacin mvil en el caso concerniente: la gestin de eventos
deportivos.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
10/117
10
PLANTEAMIENTO DEL PROBLEMA
DEFINICIN DEL PROBLEMA
En el mbito deportivo son muchas las personas que se dedican a la gestin deeventos deportivos. Llevar la informacin de un torneo y de los equipos que loconforman, revisar esta informacin y modificarla, son actividades que losorganizadores de eventos deportivos hacen de manera manual, esto es,registrando todo en plantillas de papel. Este modo de registrar la informacin delos eventos resulta tedioso para los organizadores deportivos, mxime cuando sonmuchos los torneos que pueden conformar un evento deportivo. Modificarsusodicha informacin aun es ms engorroso cuando se hace en plantillas otableros de papel. El hecho es que si no se cambia esta manera de administrar
los eventos deportivos, los organizadores de estos seguirn llevando una serie detareas de formas poco eficientes y modernas en trminos de practicidad.
JUSTIFICACIN
Con el aumento de eventos deportivos que se realizan en la ciudad, nace lanecesidad de hacer de la administracin de dichos eventos una actividad msrpida, cmoda y moderna. Dadas estas necesidades de nuestra actualidad, qu
mejor que una aplicacin mvil la que, precisamente, brinda rapidez, comodidad ymodernidad, haciendo actividades diarias, como es este caso de la gestin deeventos deportivos, de manera definitivamente prctica, eficiente y al alcance decualquier persona interesada en ello.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
11/117
11
MARCO TERICO
DISEO DE LA BASE DE DATOS
Figura 1.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
12/117
12
DESCRIPCIN DE LA APLICACIN MVIL
En primera instancia la aplicacin mvil permite al usuario registrarse, de talmanera que de inmediato sus datos se guardan en la nube. Una vez registrado elusuario accede a la aplicacin mediante su nombre de usuario y contrasea queaparecen en la interfaz de ingreso. Acto seguido el usuario se encuentra con unalista de deportes de diversas categoras, a los cuales se puede acceder haciendoclick en el icono correspondiente a cada deporte; esto lo dirigir a un formularioque contiene los datos necesarios para el torneo que desee crear. Una vez creadoel torneo el usuario ya podr administrarlo, pudiendo ver la lista de torneos que hacreado y editar su informacin cuando as lo quiera. A partir de esos torneos elusuario puede crear equipos, en los cuales, al igual que en los torneos, tiene la
facultad de revisar y editar su informacin. De esta forma la aplicacin permiteuna gil y eficiente manera de gestionar cada uno de los torneos del deporte quefuere usando su celular y salvando su informacin en la web, solucionando latediosa necesidad de registrar todo en planillas de papel.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
13/117
13
DESARROLLO DEL PROYECTO.
INTERFACES DE LA APLICACIN MVIL
Transicin de apertura.
Figura 2.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
14/117
14
Interfaz de ingreso
Figura 3.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
15/117
15
Interfaz de registro de datos:
Figura 4.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
16/117
16
Interfaz de categoras de deportes
Figura 5.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
17/117
17
Interfaz del deporte futbol
Figura 6.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
18/117
18
Interfaz del deporte basquetbol
Figura 7.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
19/117
19
Interfaz del deporte beisbol
Figura 8.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
20/117
20
Interfaz del deporte tenis
Figura 9.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
21/117
21
Interfaz de administrador para buscar por id
Figura 10.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
22/117
22
Figura 11.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
23/117
23
Interfaz donde se crean los equipos
Figura 12.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
24/117
24
Interfaz donde aparece la lista de torneos
Figura 13.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
25/117
25
Interfaz donde lista los equipos
Figura 14.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
26/117
26
Interfaz que aparece cuando el usuario ha cerrado sesin
Figura 15.
-
7/25/2019 Documentacin de un aplicacin mvil en Android
27/117
27
CDIGO DE LA APLICACIN MVIL
Cdigo de la actividad ingreso:
ingreso.javapackage com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Ingreso extends Activity implements OnClickListener {
private EditText user, pass;
private Button ingresar, registrar;
private ProgressDialog pDialog;
// Clase JSONParser
JSONParser jsonParser = new JSONParser();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
28/117
28
// si trabajan de manera local "localhost" :
// En windows tienen que ir, run CMD > ipconfig
// buscar su IP
// y poner de la siguiente manera// "http://xxx.xxx.x.x:1234/cas/login.php";
private static final String LOGIN_URL = "http://torneoapp.esy.es/app/login.php";
// La respuesta del JSON es
private static final String TAG_SUCCESS = "success";
private static final String TAG_MESSAGE = "message";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ingreso);
// setup input fields
user = (EditText) findViewById(R.id.txtUsuario);
pass = (EditText) findViewById(R.id.txtPassword);
// setup buttons
ingresar = (Button) findViewById(R.id.login);
registrar = (Button) findViewById(R.id.regis);
// register listeners
ingresar.setOnClickListener(this);
registrar.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.login:
new AttemptLogin().execute();
break;
http://xxx.xxx.x.x:1234/cas/login.phphttp://torneoapp.esy.es/app/login.phphttp://torneoapp.esy.es/app/login.phphttp://xxx.xxx.x.x:1234/cas/login.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
29/117
29
case R.id.regis:
Intent i = new Intent(Ingreso.this, Registro.class);
startActivity(i);
break;
default:
break;
}
}
class AttemptLogin extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Ingreso.this);
pDialog.setMessage("Ingresando Porfavor espere...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected String doInBackground(String... args) {
int success;
String username = user.getText().toString();
String password = pass.getText().toString();
try {
// Building Parameters
List params = new ArrayList();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
Log.d("request!", "starting");
// getting product details by making HTTP request
JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST",
params);
// check your log for json response
Log.d("Login attempt", json.toString());
-
7/25/2019 Documentacin de un aplicacin mvil en Android
30/117
30
// json success tag ingreso.java
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
-
7/25/2019 Documentacin de un aplicacin mvil en Android
31/117
31
import android.widget.EditText;
import android.widget.Toast;
public class Ingreso extends Activity implements OnClickListener {
private EditText user, pass;
private Button ingresar, registrar;
private ProgressDialog pDialog;
// Clase JSONParser
JSONParser jsonParser = new JSONParser();
// si trabajan de manera local "localhost" :
// En windows tienen que ir, run CMD > ipconfig
// buscar su IP
// y poner de la siguiente manera
// "http://xxx.xxx.x.x:1234/cas/login.php";
private static final String LOGIN_URL = "http://torneoapp.esy.es/app/login.php";
// La respuesta del JSON es
private static final String TAG_SUCCESS = "success";
private static final String TAG_MESSAGE = "message";
http://xxx.xxx.x.x:1234/cas/login.phphttp://torneoapp.esy.es/app/login.phphttp://torneoapp.esy.es/app/login.phphttp://xxx.xxx.x.x:1234/cas/login.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
32/117
32
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ingreso);
// setup input fields
user = (EditText) findViewById(R.id.txtUsuario);
pass = (EditText) findViewById(R.id.txtPassword);
// setup buttons
ingresar = (Button) findViewById(R.id.login);
registrar = (Button) findViewById(R.id.regis);
// register listeners
ingresar.setOnClickListener(this);
registrar.setOnClickListener(this);
}
@Override
public void onClick(View v) {
-
7/25/2019 Documentacin de un aplicacin mvil en Android
33/117
33
switch (v.getId()) {
case R.id.login:
new AttemptLogin().execute();
break;
case R.id.regis:
Intent i = new Intent(Ingreso.this, Registro.class);
startActivity(i);
break;
default:
break;
}
}
class AttemptLogin extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Ingreso.this);
pDialog.setMessage("Ingresando Porfavor espere...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
34/117
34
}
@Override
protected String doInBackground(String... args) {
int success;
String username = user.getText().toString();
String password = pass.getText().toString();
try {
// Building Parameters
List params = new ArrayList();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
Log.d("request!", "starting");
// getting product details by making HTTP request
JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST",
params);
// check your log for json response
Log.d("Login attempt", json.toString());
// json success tag
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
-
7/25/2019 Documentacin de un aplicacin mvil en Android
35/117
35
Log.d("Login Successful!", json.toString());
// save user data
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(Ingreso.this);
Editor edit = sp.edit();
edit.putString("username", username);
edit.commit();
Intent i = new Intent(Ingreso.this, Lista.class);
Bundle b = new Bundle();
b.putString("username",username); //se llama al usuario
i.putExtras(b);
//i.putExtra("username",username);
finish();
startActivity(i);
return json.getString(TAG_MESSAGE);
} else {
Log.d("Login Fallido!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
}
} catch (JSONException e) {
e.printStackTrace();
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
36/117
36
return null;
}
protected void onPostExecute(String file_url) {
// dismiss the dialog once product deleted
pDialog.dismiss();
if (file_url != null) {
Toast.makeText(Ingreso.this, file_url, Toast.LENGTH_LONG).show();
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.micorreo, menu);
return true;
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
37/117
37
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.contacto:
Intent i = new Intent(this, Contacto.class);
startActivity(i);
return true;
case R.id.salir:
finish();
return true;
}
return false;
}
}
activity_ingreso
-
7/25/2019 Documentacin de un aplicacin mvil en Android
38/117
38
android:layout_height="match_parent"
android:background="@drawable/futbol"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Ingreso">
-
7/25/2019 Documentacin de un aplicacin mvil en Android
39/117
39
android:id="@+id/txtUsuario"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textColor="#FFFFFF"
android:inputType="text">
-
7/25/2019 Documentacin de un aplicacin mvil en Android
40/117
40
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/key"
android:gravity="center"
android:text="@string/login"
android:textColor="#FFFFFF"/>
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
Log.d("Login Successful!", json.toString());
// save user data
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(Ingreso.this);Editor edit = sp.edit();
edit.putString("username", username);
edit.commit();
Intent i = new Intent(Ingreso.this, Lista.class);
Bundle b = new Bundle();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
41/117
41
b.putString("username",username); //se llama al usuario
i.putExtras(b);
//i.putExtra("username",username);
finish();
startActivity(i);return json.getString(TAG_MESSAGE);
} else {
Log.d("Login Fallido!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
// dismiss the dialog once product deleted
pDialog.dismiss();
if (file_url != null) {
Toast.makeText(Ingreso.this, file_url, Toast.LENGTH_LONG).show();
}
}
}
@Override
-
7/25/2019 Documentacin de un aplicacin mvil en Android
42/117
42
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.micorreo, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.contacto:
Intent i = new Intent(this, Contacto.class);
startActivity(i);
return true;
case R.id.salir:
finish();
return true;
}
return false;
}
}
activity_ingreso
-
7/25/2019 Documentacin de un aplicacin mvil en Android
43/117
43
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="center"
android:contentDescription= "@string/imagen"
android:src="@drawable/ic_launcher"/>
-
7/25/2019 Documentacin de un aplicacin mvil en Android
44/117
44
android:layout_gravity="center"
android:drawableLeft="@drawable/key"
android:gravity="center"
android:text="@string/login"
android:textColor="#FFFFFF"/>
Cdigo de la actividad inicio:
inicio.java
package com.example.eventosdeportivos;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.Window;
public class Inicio extends Activity {
protected boolean activo = true;
protected int Tiempo = 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_inicio);
Thread splashThread = new Thread(){
@Override
public void run(){
-
7/25/2019 Documentacin de un aplicacin mvil en Android
45/117
45
try{
int espera =0;
while(activo && (espera < Tiempo)){
sleep(100);
if (activo){espera += 100;
}
}
}catch (InterruptedException e){
}finally{
abrirApp();
}
}
};
splashThread.start();
}
private void abrirApp(){
finish();
startActivity(new Intent (this, Ingreso.class));
}
}
activity_inicio.xml
Cdigo de la actividad de registro:
registro.java
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
-
7/25/2019 Documentacin de un aplicacin mvil en Android
46/117
46
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.Toast;
public class Registro extends Activity implements OnClickListener {
private EditText usuario, pass, nombre, ape, edad, correo;
private Button registrar;
private RadioButton masculino, femenino;
// private TabHost tabs;
// Progress Dialog
private ProgressDialog pDialog;
// JSON parser class
JSONParser jsonParser = new JSONParser();
//si lo trabajan de manera local en xxx.xxx.x.x va su ip local
// private static final String REGISTER_URL = "http://xxx.xxx.x.x:1234/cas/register.php";
//testing on Emulator:
private static final String REGISTER_URL = "http://torneoapp.esy.es/app/register.php";
http://xxx.xxx.x.x:1234/cas/register.phphttp://torneoapp.esy.es/app/register.phphttp://torneoapp.esy.es/app/register.phphttp://xxx.xxx.x.x:1234/cas/register.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
47/117
47
//ids
private static final String TAG_SUCCESS = "success";
private static final String TAG_MESSAGE = "message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registro);
// tabs= (TabHost) findViewById(R.id.panelTab);
//tabs.setup();
//TabHost.TabSpec spec = tabs.newTabSpec("Tab1");
//spec.setContent(R.id.tab1);
//spec.setIndicator("Datos de Registro");
//tabs.addTab(spec);
//spec = tabs.newTabSpec("Tab2");
//spec.setContent(R.id.tab2);
//spec.setIndicator("Ingresar");
//tabs.addTab(spec);
//tabs.setCurrentTab(0);
usuario = (EditText)findViewById(R.id.txtusua);
pass = (EditText)findViewById(R.id.txtpass);
nombre = (EditText)findViewById(R.id.txtnombre);
ape =(EditText)findViewById(R.id.txtape);
edad = (EditText)findViewById(R.id.txtedad);
correo = (EditText)findViewById(R.id.txtcorreo);
masculino = (RadioButton) findViewById(R.id.radio0);
femenino = (RadioButton) findViewById(R.id.radio1);
ImageButton limpiar = (ImageButton) findViewById(R.id.btnlimpiar);
// button click event
limpiar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
-
7/25/2019 Documentacin de un aplicacin mvil en Android
48/117
48
usuario.setText("");
pass.setText("");
nombre.setText("");
ape.setText("");
edad.setText("");correo.setText("");
}
});
registrar = (Button)findViewById(R.id.btnregistra);
registrar.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if(validar()){
new CrearUsuario().execute(); //creando usuarios de la app
}else{
err_crear();
}
}
public boolean validar(){
if (usuario.getText().toString().trim().equals("")){
return false;
}else if(pass.getText().toString().trim().equals("")){
return false;
}else if(nombre.getText().toString().trim().equals("")){
return false;
}else if (ape.getText().toString().trim().equals("")){
return false;
}else if(edad.getText().toString().trim().equals("")){
return false;
-
7/25/2019 Documentacin de un aplicacin mvil en Android
49/117
49
}else if(correo.getText().toString().trim().equals("")){
return false;
}else if(!masculino.isChecked()&& !femenino.isChecked() ){
return false;
}else{return true;
}
}
class CrearUsuario extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Registro.this);
pDialog.setMessage("Creando Usuario...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected String doInBackground(String... args) {
// TODO Auto-generated method stub
// Check for success tag
int success;
String username = usuario.getText().toString();
String password = pass.getText().toString();
String nomb = nombre.getText().toString();
String apellido = ape.getText().toString();
String e = edad.getText().toString();
String email = correo.getText().toString();
String sexo="";
if(masculino.isChecked()){
-
7/25/2019 Documentacin de un aplicacin mvil en Android
50/117
50
sexo="Masculino";
}else if(femenino.isChecked()){
sexo="Femenino";
}
try {
// Building Parameters
List params = new ArrayList();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
params.add(new BasicNameValuePair("name", nomb));
params.add(new BasicNameValuePair("lastname", apellido));
params.add(new BasicNameValuePair("age", e));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("sex", sexo));
Log.d("request!", "starting");
//Posting user data to script
JSONObject json = jsonParser.makeHttpRequest(
REGISTER_URL, "POST", params);
// full json response
Log.d("Registering attempt", json.toString());
// json success element
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
Log.d("User Created!", json.toString());
Intent i = new Intent(Registro.this, Lista.class);
Bundle b = new Bundle();
b.putString("username",username);
i.putExtras(b);
//i.putExtra("username",username);
finish();
startActivity(i);
return json.getString(TAG_MESSAGE);
}else{
Log.d("Registering Failure!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
51/117
51
}
} catch (JSONException exe) {
exe.printStackTrace();}
return null;
}
public void borrar(View view){
if(validar()){
usuario.setText("");
pass.setText("");
nombre.setText("");
ape.setText("");
edad.setText("");
correo.setText("");
}else{
Toast toast2 = Toast.makeText(getApplicationContext(),"Datos incompletos, que
pretendes Borrar?", Toast.LENGTH_SHORT);
toast2.show();
}
}
protected void onPostExecute(String file_url) {
// dismiss the dialog once product deleted
pDialog.dismiss();
if (file_url != null){
Toast.makeText(Registro.this, file_url, Toast.LENGTH_LONG).show();
}
}
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
52/117
52
public void err_crear(){
Vibrator vibrator =(Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(200);
Toast toast1 = Toast.makeText(getApplicationContext(),"Datos incompletosdigite todos los campos", Toast.LENGTH_SHORT);
toast1.show();
}
}
activity_registro.xml
-
7/25/2019 Documentacin de un aplicacin mvil en Android
53/117
53
android:id="@+id/nombretorneo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:textColor="#FFFFFF"/>
-
7/25/2019 Documentacin de un aplicacin mvil en Android
54/117
54
-
7/25/2019 Documentacin de un aplicacin mvil en Android
55/117
55
android:layout_height="wrap_content">
Cdigo de la actividad crear torneo:Creartorneo.java
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
-
7/25/2019 Documentacin de un aplicacin mvil en Android
56/117
56
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.Toast;
public class Creartorneo extends Activity {
// Progress Dialog
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
private EditText cod;
private EditText nombretorneo;
private EditText lugartorneo;
private EditText ciudad;
private EditText modalidadtorneo;
private EditText fechainiciotorneo;
private EditText fechafintorneo;
private EditText deporte;
private TabHost tabs;
private static String url_creartorneo =
"http://torneoapp.esy.es/crudtorneo/crear_torneo.php";
private static final String TAG_SUCCESS = "success";
//private static final String TAG_MENSAJE = "message";
http://torneoapp.esy.es/crudtorneo/crear_torneo.phphttp://torneoapp.esy.es/crudtorneo/crear_torneo.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
57/117
57
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_creartorneo);
cod = (EditText) findViewById(R.id.txtcodigotorneo);
nombretorneo = (EditText) findViewById(R.id.txtnombredeltorneo);
lugartorneo = (EditText) findViewById(R.id.txtlugartorneo);
ciudad = (EditText) findViewById(R.id.txtciudadtorneo);
modalidadtorneo = (EditText) findViewById(R.id.txtmodalidaddeltorneo);
fechainiciotorneo= (EditText) findViewById(R.id.txtfechainiciodeltorneo);
fechafintorneo= (EditText) findViewById(R.id.txtfechafindeltorneo);
deporte= (EditText) findViewById(R.id.txtdeportetorneo);
tabs= (TabHost) findViewById(R.id.panelTab);
tabs.setup();
TabHost.TabSpec spec = tabs.newTabSpec("Tab1");
spec.setContent(R.id.tab1);
spec.setIndicator("Datos de Registro del torneo");
tabs.addTab(spec);
spec = tabs.newTabSpec("Tab2");
spec.setContent(R.id.tab2);
spec.setIndicator("Ingresar Torneo");
tabs.addTab(spec);
tabs.setCurrentTab(0);
Button guardartorneo = (Button) findViewById(R.id.guardar);
// button click event
guardartorneo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(validar()){
new CrearTorneo().execute(); //creando torneo de futbol
}else{
-
7/25/2019 Documentacin de un aplicacin mvil en Android
58/117
58
err_crear();
}
}
});
}
public boolean validar(){
if (cod.getText().toString().trim().equals("")){
return false;
}else if(nombretorneo.getText().toString().trim().equals("")){
return false;
}else if(lugartorneo.getText().toString().trim().equals("")){
return false;
}else if (ciudad.getText().toString().trim().equals("")){
return false;
}else if(modalidadtorneo.getText().toString().trim().equals("")){
return false;
}else if(fechainiciotorneo.getText().toString().trim().equals("")){
return false;
}else if (fechafintorneo.getText().toString().trim().equals("")){
return false;
}else if (deporte.getText().toString().trim().equals("")){
return false;
}else{
return true;
}
}
class CrearTorneo extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Creartorneo.this);
pDialog.setMessage("Registrando Torneo de futbol...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
59/117
59
/**
* Creaando torneos
* */
protected String doInBackground(String... args) {String codigo = cod.getText().toString();
String nombre = nombretorneo.getText().toString();
String lugar = lugartorneo.getText().toString();
String ciu = ciudad.getText().toString();
String modalidad = modalidadtorneo.getText().toString();
String fechai = fechainiciotorneo.getText().toString();
String fechaf = fechafintorneo.getText().toString();
String depor = deporte.getText().toString();
try {
//trabajando con parametros del POSt
List params = new ArrayList();
params.add(new BasicNameValuePair("nombretorneo", nombre));
params.add(new BasicNameValuePair("codigo", codigo));
params.add(new BasicNameValuePair("lugar", lugar));
params.add(new BasicNameValuePair("ciudad",ciu));
params.add(new BasicNameValuePair("modalidad", modalidad));
params.add(new BasicNameValuePair("fecha_i", fechai));
params.add(new BasicNameValuePair("fecha_f", fechaf));
params.add(new BasicNameValuePair("deporte", depor));
//se obtiene el objeto JSON mediante la respuesta http
JSONObject json = jsonParser.makeHttpRequest(url_creartorneo,
"POST", params);
Log.d("Create Response", json.toString());
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// el torneo se crea correctamente
Intent i = new Intent(Creartorneo.this,
-
7/25/2019 Documentacin de un aplicacin mvil en Android
60/117
60
EquiposFutbol.class);
Bundle b = new Bundle();
b.putString("nombretorneo",nombre);
i.putExtras(b);
startActivity(i);
//finish();
} else {
// falla al crear el torneo
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
}
public void err_crear(){
Vibrator vibrator =(Vibrator)
getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(200);
Toast toast1 = Toast.makeText(getApplicationContext(),"Datos
incompletos", Toast.LENGTH_SHORT);
toast1.show();
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
61/117
61
}
activity_crear_torneo.xml
-
7/25/2019 Documentacin de un aplicacin mvil en Android
62/117
62
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/codigo"/>
-
7/25/2019 Documentacin de un aplicacin mvil en Android
63/117
63
-
7/25/2019 Documentacin de un aplicacin mvil en Android
64/117
64
Cdigo de la actividad que lista los torneos:todoslostorneos.java
-
7/25/2019 Documentacin de un aplicacin mvil en Android
65/117
65
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class Todoslostorneos extends ListActivity {
private ProgressDialog pDialog;
// Creating JSON Parser object
JSONParser jParser = new JSONParser();
ArrayList torneosList;
// url to get all products list
private static String url_torneos
="http://torneoapp.esy.es/reportetorneo/reporte_pdo.php";
// JSON Node names
private static final String TAG_SUCCESS = "success";
private static final String TAG_TORNEOS = "torneos";
-
7/25/2019 Documentacin de un aplicacin mvil en Android
66/117
66
private static final String TAG_PID = "id";
private static final String TAG_NAME = "nombretorneo";
// products JSONArray
JSONArray torneos = null;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_todoslostorneos);
// Hashmap for ListView
torneosList = new ArrayList();
// Loading products in Background Thread
new CargarTorneos().execute();
// Get listview
ListView lv = getListView();
// on seleting single product
// launching Edit Product Screen
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View
view,
int position, long id) {
// getting values from selected ListItem
String pid = ((TextView)
view.findViewById(R.id.tid)).getText()
.toString();
// Starting new intent
Intent in = new Intent(getApplicationContext(),
EditarTorneos.class);
// sending pid to next activity
in.putExtra(TAG_PID, pid);
// starting new activity and expecting some
response back
-
7/25/2019 Documentacin de un aplicacin mvil en Android
67/117
67
startActivityForResult(in, 100);
}
});
}// Response from Edit Product Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if result code 100
if (resultCode == 100) {
// if result code 100 is received
// means user edited/deleted product
// reload this screen again
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
/**
* Background Async Task to Load all product by making HTTP Request
* */
class CargarTorneos extends AsyncTask {
/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Todoslostorneos.this);
pDialog.setMessage("Cargando torneos. Porfavor espere...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
/**
-
7/25/2019 Documentacin de un aplicacin mvil en Android
68/117
68
* getting All products from url
* */
protected String doInBackground(String... args) {
// Building Parameters
List params = new ArrayList();// getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(url_torneos, "GET",
params);
// Check your log cat for JSON reponse
Log.d("All Products: ", json.toString());
try {
// Checking for SUCCESS TAG
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// products found
// Getting Array of Products
torneos = json.getJSONArray(TAG_TORNEOS);
// looping through All Products
for (int i = 0; i < torneos.length(); i++) {
JSONObject c = torneos.getJSONObject(i);
// Storing each json item in variable
String tid = c.getString(TAG_PID);
String nombre = c.getString(TAG_NAME);
// creating new HashMap
HashMap map = new
HashMap();
// adding each child node to HashMap key
=> value
map.put(TAG_PID, tid);
map.put(TAG_NAME, nombre);
// adding HashList to ArrayList
torneosList.add(map);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
69/117
69
}
} else {
// no products found
// Launch Add New product Activity
Intent i = new Intent(getApplicationContext(),Creartorneo.class);
// Closing all previous activities
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog after getting all products
pDialog.dismiss();
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed JSON data into ListView
* */
ListAdapter adapter = new SimpleAdapter(
Todoslostorneos.this, torneosList,
R.layout.control, new String[] {
TAG_PID,
TAG_NAME},
new int[] { R.id.tid, R.id.nombre });
// updating listview
setListAdapter(adapter);
}
});
-
7/25/2019 Documentacin de un aplicacin mvil en Android
70/117
70
}
}
}
activity_todos_los_torneos.xml
Cdigo de la actividad para crear un deporte deseado:creartorneobaseball.java
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
-
7/25/2019 Documentacin de un aplicacin mvil en Android
71/117
71
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Vibrator;import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.Toast;
public class CreartorneoBaseball extends Activity {
// Progress Dialog
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
private EditText cod;
private EditText nombretorneo;
private EditText lugartorneo;
private EditText ciudad;
private EditText modalidadtorneo;
private EditText fechainiciotorneo;
private EditText fechafintorneo;
private EditText deporte;
private TabHost tabs;
private static String url_creartorneo =
"http://torneoapp.esy.es/crudtorneo/crear_torneo.php";
private static final String TAG_SUCCESS = "success";
//private static final String TAG_MENSAJE = "message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_creartorneo_baseball);
http://torneoapp.esy.es/crudtorneo/crear_torneo.phphttp://torneoapp.esy.es/crudtorneo/crear_torneo.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
72/117
72
cod = (EditText) findViewById(R.id.txtcodigotorneobaseball);
nombretorneo = (EditText) findViewById(R.id.txtnombredeltorneobaseball);
lugartorneo = (EditText) findViewById(R.id.txtlugartorneobaseball);
ciudad = (EditText) findViewById(R.id.txtciudadtorneobaseball);
modalidadtorneo = (EditText) findViewById(R.id.txtmodalidaddeltorneobaseball);fechainiciotorneo= (EditText) findViewById(R.id.txtfechainiciodeltorneobaseball);
fechafintorneo= (EditText) findViewById(R.id.txtfechafindeltorneobaseball);
deporte= (EditText) findViewById(R.id.txtbaseball);
tabs= (TabHost) findViewById(R.id.panelTab);
tabs.setup();
TabHost.TabSpec spec = tabs.newTabSpec("Tab1");
spec.setContent(R.id.tab1);
spec.setIndicator("Datos de Registro del torneo");
tabs.addTab(spec);
spec = tabs.newTabSpec("Tab2");
spec.setContent(R.id.tab2);
spec.setIndicator("Ingresar Torneo");
tabs.addTab(spec);
tabs.setCurrentTab(0);
Button guardartorneo = (Button) findViewById(R.id.guardarbaseball);
// button para guardar torneo
guardartorneo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(validar()){
new CrearTorneoBaseball().execute(); //creando torneo de futbol
}else{
err_crear();
}
}
});
-
7/25/2019 Documentacin de un aplicacin mvil en Android
73/117
73
}
//valida que todos los campos esten llenos o vacios
public boolean validar(){if (cod.getText().toString().trim().equals("")){
return false;
}else if(nombretorneo.getText().toString().trim().equals("")){
return false;
}else if(lugartorneo.getText().toString().trim().equals("")){
return false;
}else if (ciudad.getText().toString().trim().equals("")){
return false;
}else if(modalidadtorneo.getText().toString().trim().equals("")){
return false;
}else if(fechainiciotorneo.getText().toString().trim().equals("")){
return false;
}else if (fechafintorneo.getText().toString().trim().equals("")){
return false;
}else if (deporte.getText().toString().trim().equals("")){
return false;
}else{
return true;
}
}
class CrearTorneoBaseball extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(CreartorneoBaseball.this);
pDialog.setMessage("Registrando Torneo de Baseball...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* Creating Torneo de baseball
-
7/25/2019 Documentacin de un aplicacin mvil en Android
74/117
74
* */
protected String doInBackground(String... args) {
String codigo = cod.getText().toString();
String nombre = nombretorneo.getText().toString();
String lugar = lugartorneo.getText().toString();String ciu = ciudad.getText().toString();
String modalidad = modalidadtorneo.getText().toString();
String fechai = fechainiciotorneo.getText().toString();
String fechaf = fechafintorneo.getText().toString();
String depor = deporte.getText().toString();
try {
List params = new ArrayList();
params.add(new BasicNameValuePair("nombretorneo", nombre));
params.add(new BasicNameValuePair("codigo", codigo));
params.add(new BasicNameValuePair("lugar", lugar));
params.add(new BasicNameValuePair("ciudad",ciu));
params.add(new BasicNameValuePair("modalidad", modalidad));
params.add(new BasicNameValuePair("fecha_i", fechai));
params.add(new BasicNameValuePair("fecha_f", fechaf));
params.add(new BasicNameValuePair("deporte", depor));
JSONObject json = jsonParser.makeHttpRequest(url_creartorneo,
"POST", params);
Log.d("Create Response", json.toString());
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// el torneo se crea correctamente
Intent i = new Intent(CreartorneoBaseball.this,
EquiposBaseball.class);
Bundle b = new Bundle();
b.putString("nombretorneo",nombre);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
75/117
75
i.putExtras(b);
startActivity(i);
//finish();
} else {
// falla al crear el torneo
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss();
}
public void err_crear(){
Vibrator vibrator =(Vibrator)
getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(200);
Toast toast1 = Toast.makeText(getApplicationContext(),"Datos
incompletos", Toast.LENGTH_SHORT);
toast1.show();
}
}
activity_crear_torneo_baseball.xml
-
7/25/2019 Documentacin de un aplicacin mvil en Android
76/117
76
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fondobaseball"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".CreartorneoBaseball">
-
7/25/2019 Documentacin de un aplicacin mvil en Android
77/117
77
android:id="@+id/txtcodigotorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text">
-
7/25/2019 Documentacin de un aplicacin mvil en Android
78/117
78
android:text="@string/ciudad"/>
-
7/25/2019 Documentacin de un aplicacin mvil en Android
79/117
79
android:inputType="text"/>
Cdigo de la actividad que muestra los equipos de un torneo:
equiposfutbol.java
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
-
7/25/2019 Documentacin de un aplicacin mvil en Android
80/117
80
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class EquiposFutbol extends Activity {
String nombretorneo;
TextView nomtorneo;
EditText equipo1, equipo2, equipo3, equipo4;
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
private static String url_crearequipos =
"http://torneoapp.esy.es/crearequipos/crear_equipo.php";
// JSON Node names
private static final String TAG_SUCCESS = "success";
private static final String TAG_MESSAGE = "message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_equipos_futbol);
http://torneoapp.esy.es/crearequipos/crear_equipo.phphttp://torneoapp.esy.es/crearequipos/crear_equipo.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
81/117
81
nomtorneo = (TextView) findViewById(R.id.nombrtorneofutbol);
equipo1 = (EditText) findViewById(R.id.equipofut1);
equipo2 = (EditText) findViewById(R.id.equipofut2);
equipo3 = (EditText) findViewById(R.id.equipofut3);
equipo4 = (EditText) findViewById(R.id.equipofut4);
Bundle bundle = this.getIntent().getExtras();
nomtorneo.setText(bundle.getString("nombretorneo"));//Nombre del torneo
Button registrar = (Button) findViewById(R.id.registrarequiposfut);
// button click event
registrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(validar()){
new CrearEquipoFutbol().execute(); //creando equipos de futbol
}else{
err_crear();
}
}
});
Button borrar = (Button) findViewById(R.id.borrar);
// button click event
borrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
equipo1.setText("");
equipo2.setText("");
equipo3.setText("");
equipo4.setText("");
-
7/25/2019 Documentacin de un aplicacin mvil en Android
82/117
82
}
});
}
public boolean validar(){
if (nomtorneo.getText().toString().trim().equals("")){
return false;
}else if(equipo1.getText().toString().trim().equals("")){
return false;
}else if(equipo2.getText().toString().trim().equals("")){
return false;
}else if (equipo3.getText().toString().trim().equals("")){
return false;
}else if (equipo4.getText().toString().trim().equals("")){
return false;
}else{
return true;
}
}
class CrearEquipoFutbol extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(EquiposFutbol.this);
pDialog.setMessage("Registrando Equipos de futbol...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* Creating equipos
* */
protected String doInBackground(String... args) {
String nombre = nomtorneo.getText().toString();
String equi1 = equipo1.getText().toString();
String equi2 = equipo2.getText().toString();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
83/117
83
String equi3 = equipo3.getText().toString();
String equi4 = equipo4.getText().toString();
try {// trabajando parametros del post
List params = new ArrayList();
params.add(new BasicNameValuePair("nombretorneo", nombre));
params.add(new BasicNameValuePair("equipo1", equi1));
params.add(new BasicNameValuePair("equipo2", equi2));
params.add(new BasicNameValuePair("equipo3",equi3));
params.add(new BasicNameValuePair("equipo4", equi4));
JSONObject json = jsonParser.makeHttpRequest(url_crearequipos,
"POST", params);
Log.d("Create Response", json.toString());
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
//los equipos de futbol se crea correctamente
Intent i = new Intent(getApplicationContext(), Lista.class);
finish();
startActivity(i);
return json.getString(TAG_MESSAGE);
//finish();
} else {
return json.getString(TAG_MESSAGE); // falla al crear
equipos de futbol
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
84/117
84
} catch (JSONException e) {
e.printStackTrace();
}
return null;}
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
}
public void err_crear(){
Vibrator vibrator =(Vibrator)
getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(200);
Toast toast1 = Toast.makeText(getApplicationContext(),"Debe ingresar
los equipos de futbol", Toast.LENGTH_SHORT);
toast1.show();
}
//Definimos que para cuando se presione la tecla BACK no volvamos para atras
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Toast toast2 = Toast.makeText(getApplicationContext(),"Ya ha registrado
este torneo, continue con el registro de Equipos", Toast.LENGTH_SHORT);
toast2.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
85/117
85
}
activity_equipos_futbol.xml
-
7/25/2019 Documentacin de un aplicacin mvil en Android
86/117
86
-
7/25/2019 Documentacin de un aplicacin mvil en Android
87/117
87
Cdigo de la actividad que la administracin general de torneos:
codigo Administrador.javapackage com.example.eventosdeportivos;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
public class Administrador extends Activity {
-
7/25/2019 Documentacin de un aplicacin mvil en Android
88/117
88
//Button btnlistado;
ImageView listado, listadoequipos;
String busquedapor="";
EditText buscar;
Button busqueda;private static final String TAG_PID = "id";
private static final String TAG_BUSCAR = "buscar";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_administrador);
listado = (ImageView) findViewById(R.id.imageView1);
listadoequipos = (ImageView) findViewById(R.id.imageView2);
busqueda = (Button) findViewById (R.id.btnbuscar);
final Spinner opcionbuscar = (Spinner)findViewById(R.id.spinnerbusqueda);
final String[] datos =
new String[]{"Id","Nombre"};
ArrayAdapter adaptador =
new ArrayAdapter(this,
android.R.layout.simple_list_item_checked, datos);
adaptador.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
opcionbuscar.setAdapter(adaptador);
opcionbuscar.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView parent,
android.view.View v, int position, long id) {
busquedapor= datos[position];
}
public void onNothingSelected(AdapterView parent) {
busquedapor ="Id";
}
-
7/25/2019 Documentacin de un aplicacin mvil en Android
89/117
89
});
listado.setOnClickListener(new View.OnClickListener() {
@Overridepublic void onClick(View view) {
// muestra toda la lista de los torneos creados
Intent i = new Intent(Administrador.this, Todoslostorneos.class);
startActivity(i);
}
});
listadoequipos.setOnClickListener(new View.OnClickListener() {
//se muestra la lista de el nombre de torneo y equipos correspondientes
@Override
public void onClick(View view) {
// Launching All products Activity
Intent i = new Intent(Administrador.this, ListEquipos.class);
startActivity(i);
}
});
busqueda.setOnClickListener(new View.OnClickListener() {
//se realiza la busqueda por id o por el nombre del torneo
@Override
public void onClick(View view) {
if(busquedapor.equals("Id")){
// getting values from selected ListItem
buscar = (EditText) findViewById(R.id.txtbuscar);
String TID;
TID = buscar.getText().toString();
// Starting new intent
Intent in = new Intent(Administrador.this,
EditarTorneos.class);
// sending pid to next activity
in.putExtra(TAG_PID, TID);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
90/117
90
// starting new activity and expecting some response back
startActivity(in);
}else if(busquedapor.equals("Nombre")){
// getting values from selected ListItembuscar = (EditText) findViewById(R.id.txtbuscar);
String buscarpornombre;
buscarpornombre = buscar.getText().toString();
// Starting new intent
Intent i = new Intent(Administrador.this,
Buscartorneo.class);
i.putExtra(TAG_BUSCAR, buscarpornombre);
// sending pid to next activity
//i.putExtra(TAG_BUSCAR, buscar);
// starting new activity and expecting some response back
startActivity(i);
}
}
});
}
//se crean los menus
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.administrador, menu);
return true;
}
//item de los menus en la activity administrador
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.crearfutbol:
-
7/25/2019 Documentacin de un aplicacin mvil en Android
91/117
91
Intent i = new Intent(this, Creartorneo.class);
startActivity(i);
return true;
case R.id.crearbasket:Intent in = new Intent(this, CreartorneoBasketball.class);
startActivity(in);
return true;
case R.id.crearbaseball:
Intent inte = new Intent(this, CreartorneoBaseball.class);
startActivity(inte);
return true;
case R.id.creartenis:
Intent intent = new Intent(this, CreartorneoTennis.class);
startActivity(intent);
return true;
}
return false;
}
}
activity_administrador.xml
-
7/25/2019 Documentacin de un aplicacin mvil en Android
92/117
92
android:layout_alignTop="@+id/imageView1"
android:layout_toRightOf= "@+id/imageView1"
android:src="@drawable/schedule"
android:contentDescription= "@string/bolatenis"/>
-
7/25/2019 Documentacin de un aplicacin mvil en Android
93/117
93
Cdigo de la actividad que busca torneos segn su id:
codigo Buscartorneo.java
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class Buscartorneo extends ListActivity {
String buscar;
private static final String TAG_BUSCAR = "buscar";
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
ArrayList torneosList;
//url donde se encuentra el archivo buscar_pdo.php importante para esta clase
private static String url_torneos =
"http://www.torneoapp.esy.es/buscartorneo/buscar_pdo.php";
http://www.torneoapp.esy.es/buscartorneo/buscar_pdo.phphttp://www.torneoapp.esy.es/buscartorneo/buscar_pdo.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
94/117
94
// JSON parametros de nodos en el POST
private static final String TAG_SUCCESS = "success";
private static final String TAG_TORNEOS = "torneos";
private static final String TAG_ID = "id";private static final String TAG_NOMBRE = "nombretorneo";
private static final String TAG_CODIGO = "codigo";
private static final String TAG_LUGAR = "lugar";
private static final String TAG_CIUDAD = "ciudad";
private static final String TAG_MODALIDAD = "modalidad";
private static final String TAG_FECHAINICIO = "fecha_i";
private static final String TAG_FECHAFIN = "fecha_f";
private static final String TAG_DEPORTE = "deporte";
// torneos JSONArray
JSONArray torneos = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_todoslostorneos);
Intent i = getIntent();
buscar = i.getStringExtra(TAG_BUSCAR);
torneosList = new ArrayList();
new CargandoTorneos().execute();
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View view,
int position, long id) {
// se obtiene el valor del id en la lista
String pid = ((TextView) view.findViewById(R.id.tid)).getText()
.toString();
// se selecciona la posicion y entra a la activity Editartorneos
Intent in = new Intent(getApplicationContext(),
EditarTorneos.class);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
95/117
95
// se envia a la siguiente activity
in.putExtra(TAG_ID, pid);
// comienza la activity
startActivityForResult(in, 100);}
});
}
// Response from Edit Empleado Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// si result code 100
if (resultCode == 100) {
// si el result code 100 es recivido
// para actualizar o eliminar torneos
// se recarga de nuevo la activity
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
class CargandoTorneos extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Buscartorneo.this);
pDialog.setMessage("Cargando lista de torneos...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
96/117
96
}
protected String doInBackground(String... args) {
// trabajando con los parametrosList params = new ArrayList();
params.add(new BasicNameValuePair("buscar", buscar));
// se obtiene el String JSON mediante la url
JSONObject json = jParser.makeHttpRequest(url_torneos, "GET", params);
// se cargan todos los torneos
Log.d("todos los torneos: ", json.toString());
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
//si succes es 1 se encuentran los torneos
torneos = json.getJSONArray(TAG_TORNEOS);
// por lo tanto se hace un ciclo para la busqueda
for (int i = 0; i < torneos.length(); i++) {
JSONObject c = torneos.getJSONObject(i);
String nombre = c.getString(TAG_NOMBRE);
String codigo = c.getString(TAG_CODIGO);
String lugar = c.getString(TAG_LUGAR);
String ciudad = c.getString(TAG_CIUDAD);
String modalidad = c.getString(TAG_MODALIDAD);
String fechai = c.getString(TAG_FECHAINICIO);
String fechaf = c.getString(TAG_FECHAFIN);
String depor = c.getString(TAG_DEPORTE);
// creando el nuevo HasMap o mapeo para
encontrar los datos
HashMap map = new
HashMap();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
97/117
97
// se mapean los datos
map.put(TAG_CODIGO, codigo);
map.put(TAG_NOMBRE, nombre);
map.put(TAG_LUGAR, lugar);
map.put(TAG_CIUDAD, ciudad);map.put(TAG_MODALIDAD, modalidad);
map.put(TAG_FECHAINICIO, fechai);
map.put(TAG_FECHAFIN, fechaf);
map.put(TAG_DEPORTE, depor);
// y luego se agregan en el array
torneosList.add(map);
}
} else {
//sino se encontraron empleados se va a la activity de
crear torneos
Intent i = new Intent(getApplicationContext(),
Creartorneo.class);
// Closing all previous activities
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
ListAdapter adapter = new SimpleAdapter(
-
7/25/2019 Documentacin de un aplicacin mvil en Android
98/117
98
Buscartorneo.this, torneosList,
R.layout.control, new String[] { TAG_ID,
TAG_NOMBRE },
new int[] { R.id.tid, R.id.nombre });
// updating listviewsetListAdapter(adapter);
}
});
}
}
}
Cdigo de la actividad que permite modificar la informacin de los torneos segn su id:
package com.example.eventosdeportivos;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TabHost;
public class EditarTorneos extends Activity {
-
7/25/2019 Documentacin de un aplicacin mvil en Android
99/117
99
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
private EditText cod;
private EditText nombretorneo;private EditText lugartorneo;
private EditText ciudad;
private EditText modalidadtorneo;
private EditText fechainiciotorneo;
private EditText fechafintorneo;
private EditText deporte;
private TabHost tabs;
Button btnactualiza;
Button btneliminar;
String TID;
// datos de los torneos
private static final String url_datostorneo =
"http://torneoapp.esy.es/reportetorneo/reporte_pdo.php";
// url para actualizar los torneos
private static final String url_actualizartorneo =
"http://www.torneoapp.esy.es/actualizartorneo/actualizar_pdo.php";
// url para eliminar los torneos
private static final String url_eliminartorneo =
"http://www.torneoapp.esy.es/borrartorneo/borrar_pdo.php";
// JSON nodos o los post que se encuentran en el archivo php
private static final String TAG_SUCCESS = "success";
private static final String TAG_TORNEOS = "torneos";
private static final String TAG_PID = "id";
private static final String TAG_NOMBRE = "nombretorneo";
private static final String TAG_LUGAR = "lugar";
private static final String TAG_CIUDAD = "ciudad";
private static final String TAG_MODALIDAD = "modalidad";
private static final String TAG_FECHAINI = "fecha_i";
private static final String TAG_FECHAFIN = "fecha_f";
private static final String TAG_DEPORTE = "deporte";
http://torneoapp.esy.es/reportetorneo/reporte_pdo.phphttp://www.torneoapp.esy.es/actualizartorneo/actualizar_pdo.phphttp://www.torneoapp.esy.es/borrartorneo/borrar_pdo.phphttp://www.torneoapp.esy.es/borrartorneo/borrar_pdo.phphttp://www.torneoapp.esy.es/actualizartorneo/actualizar_pdo.phphttp://torneoapp.esy.es/reportetorneo/reporte_pdo.php -
7/25/2019 Documentacin de un aplicacin mvil en Android
100/117
100
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editar_torneos);
//se llama el tabhost de edicion de torneos
tabs= (TabHost) findViewById(R.id.panelTorneo);
tabs.setup();
TabHost.TabSpec spec = tabs.newTabSpec("Tab1");
spec.setContent(R.id.tab1);
spec.setIndicator("Datos de Registro del torneo");
tabs.addTab(spec);
spec = tabs.newTabSpec("Tab2");
spec.setContent(R.id.tab2);
spec.setIndicator("Actualizar torneo");
tabs.addTab(spec);
tabs.setCurrentTab(0);
// botones para actualizar y eliminar torneo
btnactualiza = (Button) findViewById(R.id.btnactualiza);
btneliminar = (Button) findViewById(R.id.btnelimina);
// obteniendo los detalles de torneos
Intent i = getIntent();
// obteniendo los torneos por id
TID = i.getStringExtra(TAG_PID);
// se obtiene por completo todos los datos del torneo
new ObtenerTorneos().execute();
// boton actualizar
btnactualiza.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// comienza la accion de actualizar los torneos
-
7/25/2019 Documentacin de un aplicacin mvil en Android
101/117
101
new Actualizar().execute();
}
});
// boton del evento eliminarbtneliminar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// se eliminan los productos
new Eliminar().execute();
}
});
}
/**
* Background Async Task para el completado del detalle de torneos
* */
class ObtenerTorneos extends AsyncTask {
/**
* antes empieza el hilo de codigo para arrancar el progress dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(EditarTorneos.this);
pDialog.setMessage("Cargando detalles de torneos. Porfavor espera...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* obteniendo los detalles de productos
* */
protected String doInBackground(String... params) {
// corriendo la secuencia
runOnUiThread(new Runnable() {
-
7/25/2019 Documentacin de un aplicacin mvil en Android
102/117
102
public void run() {
// se chequean las etiquetas donde se encuentran los
nodos JSON
int success;
try {// buscando los parametros
List params = new
ArrayList();
params.add(new BasicNameValuePair("id", TID));
//se obtienen los detalles del torneo por medio de
la respuesta http por el metodo GET
JSONObject json = jsonParser.makeHttpRequest(
url_datostorneo, "GET", params);
// respuesta de log para JSON
Log.d("Single Product Details", json.toString());
// Etiqueta es exitosa
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// si succes es 1 se realiza la llamada de el
array de JSON torneos
JSONArray productObj = json
.getJSONArray(TAG_TORNEOS); // JSON Array
// primero se obtiene el array de json
JSONObject torneos =
productObj.getJSONObject(0);
// torneos segun su id encontrados
// se llaman los EDITTEXT de los campos
de la app
cod = (EditText)
findViewById(R.id.inputcodigo);
nombretorneo = (EditText)
findViewById(R.id.inputnombre);
lugartorneo = (EditText)
findViewById(R.id.imputlugar);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
103/117
103
ciudad = (EditText)
findViewById(R.id.inputciudad);
modalidadtorneo = (EditText)
findViewById(R.id.inputmodalidad);
fechainiciotorneo= (EditText)findViewById(R.id.inputfechai);
fechafintorneo = (EditText)
findViewById(R.id.inputfechaf);
deporte= (EditText)
findViewById(R.id.inputdeporte);
// se muestran los POST de nuestro
archivo php a nuestra app
cod.setText(torneos.getString(TAG_PID));
nombretorneo.setText(torneos.getString(TAG_NOMBRE));
lugartorneo.setText(torneos.getString(TAG_LUGAR));
ciudad.setText(torneos.getString(TAG_CIUDAD));
modalidadtorneo.setText(torneos.getString(TAG_MODALIDAD));
fechainiciotorneo.setText(torneos.getString(TAG_FECHAINI));
fechafintorneo.setText(torneos.getString(TAG_FECHAFIN));
deporte.setText(torneos.getString(TAG_DEPORTE));
}else{
// sino los torneos no fueron encontrados
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
-
7/25/2019 Documentacin de un aplicacin mvil en Android
104/117
104
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
}
}
class Actualizar extends AsyncTask {
//clase AsyncTask para actualizar los torneos
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(EditarTorneos.this);
pDialog.setMessage("Actualizando torneo ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
// se obtiene lo que se edito en los EditText de nuestra app
String nombre = nombretorneo.getText().toString();
String lugar = lugartorneo.getText().toString();
String ciu = ciudad.getText().toString();
String modalidad = modalidadtorneo.getText().toString();
String fechai = fechainiciotorneo.getText().toString();
String fechaf = fechafintorneo.getText().toString();
String depor = deporte.getText().toString();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
105/117
105
// recontruyendo los parametros de los POST
List params = new ArrayList();
params.add(new BasicNameValuePair(TAG_PID, TID));
params.add(new BasicNameValuePair(TAG_NOMBRE, nombre));
params.add(new BasicNameValuePair(TAG_LUGAR, lugar));params.add(new BasicNameValuePair(TAG_CIUDAD, ciu));
params.add(new BasicNameValuePair(TAG_MODALIDAD, modalidad));
params.add(new BasicNameValuePair(TAG_FECHAINI, fechai));
params.add(new BasicNameValuePair(TAG_FECHAFIN, fechaf));
params.add(new BasicNameValuePair(TAG_DEPORTE, depor));
//enviando la respuesta por http
JSONObject json = jsonParser.makeHttpRequest(url_actualizartorneo,
"POST", params);
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// si es exitoso se actualizan los datos
Intent i = getIntent();
setResult(100, i);
finish();
} else {
// sino falla la actualizacion
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
-
7/25/2019 Documentacin de un aplicacin mvil en Android
106/117
106
}
}
class Eliminar extends AsyncTask {//clase AsyncTask para eliminar torneos
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(EditarTorneos.this);
pDialog.setMessage("Eliminando Torneo...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
int success;
try {
List params = new ArrayList();
params.add(new BasicNameValuePair("pid", TID));
// obteniendo respuesta http
JSONObject json = jsonParser.makeHttpRequest(
url_eliminartorneo, "POST", params);
// respuesta de parte de json
Log.d("Delete Product", json.toString());
// json success tag
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
//si es 1 el torneo fue eliminado
Intent i = getIntent();
setResult(100, i);
-
7/25/2019 Documentacin de un aplicacin mvil en Android
107/117
107
finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
}
}
}
activity_editar_torneo.xml
-
7/25/2019 Documentacin de un aplicacin mvil en Android
108/117
108
-
7/25/2019 Documentacin de un aplicacin mvil en Android
109/117
109
android:paddingTop="10dip"
android:text="@string/nomtorneo"
/>
-
7/25/2019 Documentacin de un aplicacin mvil en Android
110/117
110
android:id="@+id/inputciudad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inp