Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Mobile / Android

Send and Recive Parameter with Android To Mysql PHP

2.67/5 (7 votes)
24 Nov 2011CPOL 86.2K  
Send and Recive Parameter with Android To Mysql PHP
Java
package com.phpserver;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.net.ParseException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class send1 extends ListActivity {
	int ct_id;
	String[] ct_name = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// setContentView(R.layout.main);
		String result = null;
		InputStream is = null;
		StringBuilder sb = null;
		// http post
		try {
			HttpClient httpclient = new DefaultHttpClient();
			HttpPost httppost = new HttpPost("http://10.0.2.2:8086/city.php");
			// httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
			HttpResponse response = httpclient.execute(httppost);
			HttpEntity entity = response.getEntity();
			is = entity.getContent();
		} catch (Exception e) {
			Log.e("log_tag", "Error in http connection" + e.toString());
		}
		// convert response to string
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					is, "iso-8859-1"), 8);
			sb = new StringBuilder();
			sb.append(reader.readLine() + "\n");
			String line = "0";
			while ((line = reader.readLine()) != null) {
				sb.append(line + "\n");
			}
			is.close();
			result = sb.toString();
		} catch (Exception e) {
			Log.e("log_tag", "Error converting result " + e.toString());
		}
		// paring data
		JSONArray jArray;
		try {
			jArray = new JSONArray(result);
			JSONObject json_data = null;
			ct_name = new String[jArray.length()];
			for (int i = 0; i < jArray.length(); i++) {
				json_data = jArray.getJSONObject(i);
				ct_id = json_data.getInt("CITY_ID");
				ct_name[i] = json_data.getString("CITY_NAME");
			}
		} catch (JSONException e1) {
			Toast.makeText(getBaseContext(), "No City Found", Toast.LENGTH_LONG)
					.show();
		} catch (ParseException e1) {
			e1.printStackTrace();
		}
		setListAdapter(new ArrayAdapter<string>(this,
				android.R.layout.simple_list_item_1, ct_name));
		ListView lv;
		lv = getListView();
		lv.setTextFilterEnabled(true);
		lv.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView					int position, long id) {
				// When clicked, show a toast with the TextView text
				Toast.makeText(getApplicationContext(),
						ct_name[position] + " wasClicked", Toast.LENGTH_SHORT)
						.show();
			}

			
		});
	}
}</string>

-------------------------------------------------------------------------
PHP code for receiving data:
-------------------------------------------------------------------------

PHP
$hostname_localhost ="localhost";
$database_localhost ="mydatabase";
$username_localhost ="root";
$password_localhost ="";

$localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost)
or
trigger_error(mysql_error(),E_USER_ERROR);

mysql_select_db("Deal");
$sql=mysql_query("select * from CITY where CITY_NAME like 'A%'");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>


-------------------------------------------------------------------------
java code for Insert data:
-------------------------------------------------------------------------
Java
 package com.Insert;

import java.io.InputStream;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.ListActivity;
import android.os.Bundle;
import android.util.Log;


public class Insert extends ListActivity {
	String[] ct_name = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// setContentView(R.layout.main);
		
		InputStream is = null;
		// http post
		ArrayList<namevaluepair> nameValuePairs = new ArrayList<namevaluepair>();		nameValuePairs.add(new BasicNameValuePair("c_name","KL"));
		try{
			HttpClient httpclient = new DefaultHttpClient();
			HttpPost httppost = new HttpPost("http://10.0.2.2:8086/city1.php");
			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
			HttpResponse response = httpclient.execute(httppost);
			HttpEntity entity = response.getEntity();
			is = entity.getContent();
			}catch(Exception e){
			Log.e("log_tag", "Error in http connection"+e.toString());
			}
		}
		
	}


-------------------------------------------------------------------------
PHP code for Insert data:
-------------------------------------------------------------------------

PHP
 $hostname_localhost ="localhost";
$database_localhost ="mydatabase";
$username_localhost ="root";
$password_localhost ="";

$localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost)
or
trigger_error(mysql_error(),E_USER_ERROR);

mysql_select_db("Deal");
$sql=mysql_query("INSERT INTO CITY (CITY_NAME)VALUES('".$_REQUEST['c_name']."')");
//for updation
//$sql=update CITY set CITY_NAME='".$_REQUEST['c_name']."' where CITY_ID=22
$r=mysql_query($sql);
if(!$r)
echo "Error in query: ".mysql_error();
mysql_close();
?>



********************Add
HTML
<uses-permission android:name="android.permission.INTERNET" xmlns:android="#unknown"></uses-permission>

to AndroidManifest


To connect to your emulator, you can use this link: http://10.0.2.2:8080/.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)