kakashi20
08/07/14, 04:45:32
Hola
Hice este código para enviar variables a un archivo. Php dando url y esta insterta la variable en una bd mysql.
Cuando finaliza el proceso, muestra un mensaje a través del "Toast", que dice que inserto correctamente y limpia los EditText.
El problema es que como haría para que cuando se ejecute con el botón, este inserte los datos y me lleve a otra pagina o activity y mostrar los resultado que obtengo dle archivo .php ?
Nota: use AsyncTask para enviar las variables al archivo .php
Les agradecería sus comentario y ayuda. Estoy aprendiendo este nuevo lenguaje.
Gracias
package com.example.pruebaenviarvariables;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity ;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.AsyncTask;
import android.os.Bundle;
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.Toast;
import com.example.pruebaenviarvariables.R;
public class MainActivity extends Activity {
private EditText dni;
private EditText nombre;
private EditText telefono;
private EditText email;
private Button insertar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENT ATION_SENSOR_PORTRAIT);
setContentView(R.layout.fragment_main);
nombre = (EditText) findViewById(R.id.nombre);
dni=(EditText)findViewById(R.id.dni);
telefono=(EditText)findViewById(R.id.telefono);
email=(EditText)findViewById(R.id.email);
//Insertamos los datos de la persona.
insertar=(Button)findViewById(R.id.insertar);
Log.v("Insertar value ", "= "+insertar);
insertar.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Insertar(MainActivity.this).execute();
}
});
}
//Inserta los datos de las Personas en el servidor.
private boolean insertar(){
HttpClient httpclient;
List<NameValuePair> nameValuePairs;
HttpPost httppost;
httpclient=new DefaultHttpClient();
httppost= new HttpPost("xxxxx.insert.php"); // Url del Servidor
//Añadimos nuestros datos
nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("dni",dni.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("nombre",nombre.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("telefono",telefono.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("email",email.getText().toString().trim()));
try {
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
return true;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//AsyncTask para insertar Personas
class Insertar extends AsyncTask<Void,String,Boolean>{
private Activity context;
Insertar(Activity context){
this.context=context;
}
@Override
protected Boolean doInBackground(Void... params) {
// TODO Auto-generated method stub
insertar();
return true;
}
@Override
protected void onPostExecute(Boolean result) {
if(result)
Toast.makeText(context, "Persona insertada con éxito", Toast.LENGTH_LONG).show();
nombre.setText("");
dni.setText("");
telefono.setText("");
email.setText("");
}
}
}
Hice este código para enviar variables a un archivo. Php dando url y esta insterta la variable en una bd mysql.
Cuando finaliza el proceso, muestra un mensaje a través del "Toast", que dice que inserto correctamente y limpia los EditText.
El problema es que como haría para que cuando se ejecute con el botón, este inserte los datos y me lleve a otra pagina o activity y mostrar los resultado que obtengo dle archivo .php ?
Nota: use AsyncTask para enviar las variables al archivo .php
Les agradecería sus comentario y ayuda. Estoy aprendiendo este nuevo lenguaje.
Gracias
package com.example.pruebaenviarvariables;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity ;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.AsyncTask;
import android.os.Bundle;
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.Toast;
import com.example.pruebaenviarvariables.R;
public class MainActivity extends Activity {
private EditText dni;
private EditText nombre;
private EditText telefono;
private EditText email;
private Button insertar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENT ATION_SENSOR_PORTRAIT);
setContentView(R.layout.fragment_main);
nombre = (EditText) findViewById(R.id.nombre);
dni=(EditText)findViewById(R.id.dni);
telefono=(EditText)findViewById(R.id.telefono);
email=(EditText)findViewById(R.id.email);
//Insertamos los datos de la persona.
insertar=(Button)findViewById(R.id.insertar);
Log.v("Insertar value ", "= "+insertar);
insertar.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Insertar(MainActivity.this).execute();
}
});
}
//Inserta los datos de las Personas en el servidor.
private boolean insertar(){
HttpClient httpclient;
List<NameValuePair> nameValuePairs;
HttpPost httppost;
httpclient=new DefaultHttpClient();
httppost= new HttpPost("xxxxx.insert.php"); // Url del Servidor
//Añadimos nuestros datos
nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("dni",dni.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("nombre",nombre.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("telefono",telefono.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("email",email.getText().toString().trim()));
try {
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
return true;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//AsyncTask para insertar Personas
class Insertar extends AsyncTask<Void,String,Boolean>{
private Activity context;
Insertar(Activity context){
this.context=context;
}
@Override
protected Boolean doInBackground(Void... params) {
// TODO Auto-generated method stub
insertar();
return true;
}
@Override
protected void onPostExecute(Boolean result) {
if(result)
Toast.makeText(context, "Persona insertada con éxito", Toast.LENGTH_LONG).show();
nombre.setText("");
dni.setText("");
telefono.setText("");
email.setText("");
}
}
}