Академический Документы
Профессиональный Документы
Культура Документы
UNIVERSIDAD DE LA COSTA
FACULTAD DE INGENIERA DE SISTEMA
COMPUTACIN MVIL
BARRANQUILLA
2015
PROYECTO DE AULA
ROBERTO MORALES
UNIVERSIDAD DE LA COSTA
FACULTAD DE INGENIERA DE SISTEMAS
COMPUTACIN MVIL
BARRANQUILLA
2015
Nota de Aceptacin
Jurado
Jurado
Barranquilla 28/0572015
CONTENIDO
Pg.
Contenido
INTRODUCCIN ............................................................................................................... 8
OBJETIVOS ...................................................................................................................... 9
OBJETIVO GENERAL ................................................................................................... 9
OBJETIVOS ESPECFICOS .......................................................................................... 9
PLANTEAMIENTO DEL PROBLEMA .............................................................................. 10
DEFINICIN 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
LISTA DE FIGURAS
Pg
Figura 1. Diseo de la base de datos
13
15
16
17
18
19
20
21
22
23
24
25
26
27
28
GLOSARIO
RESUMEN
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 utilizacin
de dichas aplicaciones mviles en diversos campos, no solo en el empresarial sino
tambin en el educativo, cultural, deportivo y en las actividades diarias de las
personas.
Por ejemplo, en el campo empresarial las aplicaciones mviles cumplen tareas
tales 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 escritorio
hoy la pueden tener las aplicaciones mviles, permitiendo hacer mediante
aplicacin mvil todo lo que se puede con un software de computador, pero con la
ventaja que esto se hace desde un telfono mvil de una manera gil, cmoda y
eficiente.
Las aplicaciones para telfonos mviles estn cambiando la manera no solo de
hacer tecnologa sino tambin la forma de hacer empresa, esto es, la creciente
demanda de desarrollo de aplicaciones mviles por parte de las empresas en
busca de solucionar problemas de un modo definitivamente ms innovador. En la
educacin el uso de tabletas electrnicas ha solicitado la necesidad de crear
aplicaciones mviles que sirvan de espacio de conocimiento cientfico al
alumnado, como son las aulas virtuales, a las que los estudiantes acceden
mediante una tableta o celular. Tambin en el mbito cultural se han instalado las
aplicaciones mviles haciendo que la cultura vaya acompaada de la tecnologa
siendo difundida en la web. Asimismo en las dems actividades diarias de las
personas (recreacin, deporte, transporte) las aplicaciones mviles son
prometedoras. Su importancia ha llegado al punto de que en poco tiempo sern
pocos los contextos en los que no se utilice las aplicaciones mviles como el
medio que comunica a las personas con el mundo tecnolgico, empresarial,
cultural y social.
OBJETIVOS
OBJETIVO GENERAL
Permitir a los organizadores de eventos deportivos llevar la administracin de
estos.
OBJETIVOS ESPECFICOS
Desarrollar una aplicacin mvil para el sistema operativo android que permita al
usuario crear eventos deportivos tales como torneos segn diversas categoras
deportivas.
JUSTIFICACIN
Con el aumento de eventos deportivos que se realizan en la ciudad, nace la
necesidad de hacer de la administracin de dichos eventos una actividad ms
rpida, cmoda y moderna. Dadas estas necesidades de nuestra actualidad, qu
mejor que una aplicacin mvil la que, precisamente, brinda rapidez, comodidad y
modernidad, haciendo actividades diarias, como es este caso de la gestin de
eventos deportivos, de manera definitivamente prctica, eficiente y al alcance de
cualquier persona interesada en ello.
10
MARCO TERICO
Figura 1.
11
12
Figura 2.
13
Interfaz de ingreso
Figura 3.
14
Figura 4.
15
Figura 5.
16
Figura 6.
17
Figura 7.
18
Figura 8.
19
Figura 9.
20
Figura 10.
21
Figura 11.
22
Figura 12.
23
Figura 13.
24
Figura 14.
25
Figura 15.
26
27
28
case R.id.regis:
Intent i = new Intent(Ingreso.this, Registro.class);
startActivity(i);
break;
default:
break;
}
}
class AttemptLogin extends AsyncTask<String, String, String> {
@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());
29
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;
30
import android.widget.EditText;
import android.widget.Toast;
// Clase JSONParser
JSONParser jsonParser = new JSONParser();
31
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ingreso);
// 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) {
32
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;
}
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Ingreso.this);
pDialog.setMessage("Ingresando Porfavor espere...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
33
@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);
34
}
} catch (JSONException e) {
e.printStackTrace();
}
35
return null;
@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;
}
36
@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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
37
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" >
<ImageView
android:id="@+id/icono"
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" />
<TextView
android:id="@+id/cerrarsesion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/usuario"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF" />
<EditText
38
android:id="@+id/txtUsuario"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textColor="#FFFFFF"
android:inputType="text" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/usuario"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:textColor="#FFFFFF"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txtPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textColor="#FFFFFF"
android:inputType="textPassword" />
<Button
39
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" />
<Button
android:id="@+id/regis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/registro"
android:text="@string/registro" />
</LinearLayout>
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();
40
@Override
41
}
activity_ingreso
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
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" >
<ImageView
android:id="@+id/icono"
42
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" />
<TextView
android:id="@+id/cerrarsesion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/usuario"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF" />
<EditText
android:id="@+id/txtUsuario"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textColor="#FFFFFF"
android:inputType="text" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/usuario"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:textColor="#FFFFFF"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txtPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textColor="#FFFFFF"
android:inputType="textPassword" />
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
43
android:layout_gravity="center"
android:drawableLeft="@drawable/key"
android:gravity="center"
android:text="@string/login"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/regis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/registro"
android:text="@string/registro" />
</LinearLayout>
44
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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="@drawable/nuevo" >
</LinearLayout>
45
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;
46
//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) {
47
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();
}
}
48
}else if(correo.getText().toString().trim().equals("")){
return false;
}else if(!masculino.isChecked()&& !femenino.isChecked() ){
return false;
}else{
return true;
}
}
@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()){
49
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);
50
}
} 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();
}
}
51
52
android:id="@+id/nombretorneo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:textColor="#FFFFFF"/>
<EditText
android:id="@+id/txtpass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/escribapass"
android:inputType="textPassword"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/lblnombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nombre"
android:textColor="#FFFFFF"/>
<EditText
android:id="@+id/txtnombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/escribanombre"
android:inputType="text"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/apellido"
android:textColor="#FFFFFF"/>
<EditText
android:id="@+id/txtape"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/escribaape"
android:inputType="text"
android:textColor="#FFFFFF" />
53
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/edad"
android:textColor="#FFFFFF"/>
<EditText
android:id="@+id/txtedad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/escribaedad"
android:inputType="number"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/correo"
android:textColor="#FFFFFF"/>
<EditText
android:id="@+id/txtcorreo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/correo"
android:inputType="textEmailAddress"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sexo"
android:textColor="#FFFFFF"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
54
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/masculino"
android:textColor="#FFFFFF"/>
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/femenini"
android:textColor="#FFFFFF"/>
</RadioGroup>
<Button
android:id="@+id/btnregistra"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/registro"
android:textColor="#FFFFFF" />
<ImageButton
android:id="@+id/btnlimpiar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/botonlimpiar"
android:src="@drawable/limpiar" />
</LinearLayout>
</LinearLayout>
55
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";
56
@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{
57
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<String, String, String> {
@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();
}
58
/**
* 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<NameValuePair> params = new ArrayList<NameValuePair>();
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);
59
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;
}
}
60
}
activity_crear_torneo.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fondotorneofutbol"
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=".Creartorneo" >
<TabHost
android:id="@+id/panelTab"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tid"
61
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/codigo" />
<EditText
android:id="@+id/txtcodigotorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/nombretorneo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nomtorneo" />
<EditText
android:id="@+id/txtnombredeltorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lugar" />
<EditText
android:id="@+id/txtlugartorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
62
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ciudad" />
<EditText
android:id="@+id/txtciudadtorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/modalidad" />
<EditText
android:id="@+id/txtmodalidaddeltorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fechaini" />
<EditText
android:id="@+id/txtfechainiciodeltorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/formatofecha"
android:inputType="text" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fechafin" />
63
<EditText
android:id="@+id/txtfechafindeltorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/formatofecha"
android:inputType="text" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/depor" />
<EditText
android:id="@+id/txtdeportetorneo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:cursorVisible="false"
android:ems="10"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="text"
android:text="@string/futbol" />
<Button
android:id="@+id/guardar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/trofeo"
android:text="@string/ingresartorneo" >
</Button>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
64
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<HashMap<String, String>> 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";
65
66
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<String, String, String> {
/**
* 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();
}
/**
67
68
}
} 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);
}
});
69
}
}
}
activity_todos_los_torneos.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
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=".Todoslostorneos" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
70
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;
71
72
@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
73
* */
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<NameValuePair> params = new ArrayList<NameValuePair>();
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));
74
i.putExtras(b);
startActivity(i);
//finish();
} else {
// falla al crear el torneo
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
}
activity_crear_torneo_baseball.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
75
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" >
<TabHost
android:id="@+id/panelTab"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/codigo" />
<EditText
76
android:id="@+id/txtcodigotorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/nombretorneo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nomtorneo" />
<EditText
android:id="@+id/txtnombredeltorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lugar" />
<EditText
android:id="@+id/txtlugartorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
77
android:text="@string/ciudad" />
<EditText
android:id="@+id/txtciudadtorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/modalidad" />
<EditText
android:id="@+id/txtmodalidaddeltorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fechaini" />
<EditText
android:id="@+id/txtfechainiciodeltorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fechafin" />
<EditText
android:id="@+id/txtfechafindeltorneobaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
78
android:inputType="text" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/depor" />
<EditText
android:id="@+id/txtbaseball"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:clickable="false"
android:cursorVisible="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="text"
android:text="@string/baseball" />
<Button
android:id="@+id/guardarbaseball"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/trofeo"
android:text="@string/ingresartorneo" >
</Button>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
import java.util.ArrayList;
import java.util.List;
79
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();
80
81
}
});
}
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<String, String, String> {
@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();
82
try {
// trabajando parametros del post
List<NameValuePair> params = new ArrayList<NameValuePair>();
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));
} else {
return json.getString(TAG_MESSAGE); // falla al crear
equipos de futbol
}
83
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
84
}
activity_equipos_futbol.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fondotorneofutbol"
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=".EquiposFutbol" >
<TextView
android:id="@+id/label1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nomtorneo"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@string/balonfutbol"
android:src="@drawable/balonfutbol" />
<TextView
android:id="@+id/nombrtorneofutbol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_gravity="center"/>
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1">
<TableRow>
85
<TextView
android:layout_column="1"
android:padding="3dip"
android:text="@string/Equiposfutbol" />
</TableRow>
<EditText
android:id="@+id/equipofut1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/Equipo1"
android:inputType="text" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/equipofut2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/equipo2"
android:inputType="text" />
<EditText
android:id="@+id/equipofut3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/equipo3"
android:inputType="text" />
<EditText
android:id="@+id/equipofut4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/equipo4"
android:inputType="text" />
<View
android:layout_height="2dip"
android:background="#FF909090" />
86
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/registrarequiposfut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/bande"
android:text="@string/registrarequipo" />
<Button
android:id="@+id/borrar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/limpiar"
android:text="@string/borrardatosequipos" />
</LinearLayout>
</TableLayout>
</LinearLayout>
87
//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<String> adaptador =
new ArrayAdapter<String>(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";
}
88
});
listado.setOnClickListener(new View.OnClickListener() {
@Override
public 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);
89
}
//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:
90
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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/fondoadmin"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
91
android:layout_alignTop="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:src="@drawable/schedule"
android:contentDescription="@string/bolatenis"/>
<EditText
android:id="@+id/txtbuscar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:ems="10"
android:hint="@string/buscar" />
<Spinner
android:id="@+id/spinnerbusqueda"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/txtbuscar"
android:layout_below="@+id/txtbuscar"
android:layout_marginTop="18dp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="75dp"
android:layout_marginLeft="24dp"
android:contentDescription="@string/bolatenis"
android:src="@drawable/home" />
<Button
android:id="@+id/btnbuscar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/spinnerbusqueda"
android:layout_centerHorizontal="true"
android:layout_marginTop="21dp"
android:drawableLeft="@drawable/bus"
android:text="@string/buscar" />
</RelativeLayout>
92
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<HashMap<String, String>> 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";
93
buscar = i.getStringExtra(TAG_BUSCAR);
torneosList = new ArrayList<HashMap<String, String>>();
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);
94
@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();
95
96
97
Buscartorneo.this, torneosList,
R.layout.control, new String[] { TAG_ID,
TAG_NOMBRE },
new int[] { R.id.tid, R.id.nombre });
// updating listview
setListAdapter(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 {
98
99
@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
100
new Actualizar().execute();
}
});
// boton del evento eliminar
btneliminar.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<String, String, String> {
/**
* 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() {
101
102
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);
}else{
// sino los torneos no fueron encontrados
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
103
return null;
}
104
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;
}
105
}
}
int success;
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
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);
106
finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
107
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="10dip"
android:text="@string/codigo"/>
<EditText
android:id="@+id/inputcodigo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:layout_marginBottom="15dip"
android:inputType="text"
android:singleLine="true" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:paddingRight="10dip"
108
android:paddingTop="10dip"
android:text="@string/nomtorneo"
/>
<EditText
android:id="@+id/inputnombre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:layout_marginBottom="15dip"
android:inputType="numberDecimal"
android:singleLine="true" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="10dip"
android:text="@string/lugar"
/>
<EditText
android:id="@+id/imputlugar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:singleLine="true">
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ciudad" />
<EditText
109
android:id="@+id/inputciudad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:singleLine="true"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/modalidad" />
<EditText
android:id="@+id/inputmodalidad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:singleLine="true"/>
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/inputfechai"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:singleLine="true"/>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fechafin" />
110
<EditText
android:id="@+id/inputfechaf"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:singleLine="true"/>
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/depor" />
<EditText
android:id="@+id/inputdeporte"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:singleLine="true"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnactualiza"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/actualizar" />
<Button
android:id="@+id/btnelimina"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/eliminar" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
111
112
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Seleciona un cliente de correo"));
}else{
Toast toast1 = Toast.makeText(getApplicationContext(),"Debe ingresar el asunto y
el mensaje para poder enviar", Toast.LENGTH_SHORT);
toast1.show();
}
113
android:layout_height="match_parent"
android:id="@+id/scrollView" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:drawableLeft="@drawable/asunto"
android:text="@string/asunto"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/et_EmailAsunto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/asunto">
</EditText>
<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/mensaje"
android:text="@string/mensaje"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/et_EmailMensaje"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:hint="@string/mensaje"
android:inputType="textMultiLine"
android:lines="5" />
<Button
android:id="@+id/btnEnviarMail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
114
android:drawableLeft="@drawable/enviar"
android:text="@string/enviar" />
</LinearLayout>
</ScrollView>
</LinearLayout>
115
Se comprob que est aplicacin mvil puede gestionar cualquier evento deportivo
sea de cualquier deporte.
116
BIBLIOGRAFA