Hi guys there is an activity on my current android app that has a webview in it. I was wondering how I could take and store a variable from the php on that website (yes I co
I would explain the things need to be done in general. First, at your android app side, there should be code something like this.
1)At your android side
String url = "www.yoururl.com/yourphpfile.php";
List parmeters = new ArrayList();
parameters.add(new BasicNameValuePair("category",category));
parameters.add(new BasicNameValuePair("subcategory",subcategory));// These are the namevalue pairs which you may want to send to your php file. Below is the method post used to send these parameters
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url); // You can use get method too here if you use get at the php scripting side to receive any values.
httpPost.setEntity(new UrlEncodedFormEntity(parameters));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8); // From here you can extract the data that you get from your php file..
StringBuilder builder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
builder.append(line + "\n");
}
is.close();
json = sb.toString(); // Here you are converting again the string into json object. So that you can get values with the help of keys that you send from the php side.
String message = json.getString("message");
int success = json.getInt("success"); // In this way you again convert json object into your original data.
2) At your php side
$response = array();
// check for post fields
if (isset($_POST['category']) && isset($_POST['subcategory'])) {
$category = $_POST['category'];
$subcategory = $_POST['subcategory'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql inserting a new row
$result = mysql_query("INSERT INTO categorytable(category, subcategory) VALUES('$category', '$subcategory')");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Data inserted into database.";
// echoing JSON response
echo json_encode($response);// Here you are echoing json response. So in the inputstream you would get the json data. You need to extract it over there and can display according to your requirement.
}
As you said you are fairly proficient in php, you might have found that the above things in php made as simple as possible and It's not secured. So, you can follow some pdo or some other secured ways to code at php side. Make sure you surround the code at your android side in asynctask in order to run in separate thread wherever you need. Hope this helps.