Here we are accessing a mysql database and get the table values and show it in the Android side as tables.
These are some tutorials that I have posted on connection with php and getting tablevalues.
1. Android phpmySQL connection redone.
Here we have 3 classes
1. GetDataFromDB.java – Gets value from DB in the form of JSON.
2. Users.java _ Class which holds the one row table object.
3. MainActivity.java _ Which implements these classes and show the tables.
MainActivity.java
package com.coderzheaven.gettablefromphp; import java.util.ArrayList; import java.util.Iterator; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android. graphics. Color; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TableRow.LayoutParams; import android.widget.TextView; public class MainActivity extends Activity { String data = ""; TableLayout tl; TableRow tr; TextView label; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tl = (TableLayout) findViewById(R.id.maintable); final GetDataFromDB getdb = new GetDataFromDB(); new Thread(new Runnable() { public void run() { data = getdb.getDataFromDB(); System.out.println(data); runOnUiThread(new Runnable() { @Override public void run() { ArrayList<Users> users = parseJSON(data); addData(users); } }); } }).start(); } public ArrayList<Users> parseJSON(String result) { ArrayList<Users> users = new ArrayList<Users>(); try { JSONArray jArray = new JSONArray(result); for (int i = 0; i < jArray.length(); i++) { JSONObject json_data = jArray.getJSONObject(i); Users user = new Users(); user.setId(json_data.getInt("id")); user.setName(json_data.getString("name")); user.setPlace(json_data.getString("place")); users.add(user); } } catch (JSONException e) { Log.e("log_tag", "Error parsing data " + e.toString()); } return users; } void addHeader(){ /** Create a TableRow dynamically **/ tr = new TableRow(this); /** Creating a TextView to add to the row **/ label = new TextView(this); label.setText("User"); label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); label.setPadding(5, 5, 5, 5); label.setBackgroundColor(Color.RED); LinearLayout Ll = new LinearLayout(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.setMargins(5, 5, 5, 5); //Ll.setPadding(10, 5, 5, 5); Ll.addView(label,params); tr.addView((View)Ll); // Adding textView to tablerow. /** Creating Qty Button **/ TextView place = new TextView(this); place.setText("Place"); place.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); place.setPadding(5, 5, 5, 5); place.setBackgroundColor(Color.RED); Ll = new LinearLayout(this); params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.setMargins(0, 5, 5, 5); //Ll.setPadding(10, 5, 5, 5); Ll.addView(place,params); tr.addView((View)Ll); // Adding textview to tablerow. // Add the TableRow to the TableLayout tl.addView(tr, new TableLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); } @SuppressWarnings({ "rawtypes" }) public void addData(ArrayList<Users> users) { addHeader(); for (Iterator i = users.iterator(); i.hasNext();) { Users p = (Users) i.next(); /** Create a TableRow dynamically **/ tr = new TableRow(this); /** Creating a TextView to add to the row **/ label = new TextView(this); label.setText(p.getName()); label.setId(p.getId()); label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); label.setPadding(5, 5, 5, 5); label.setBackgroundColor(Color.GRAY); LinearLayout Ll = new LinearLayout(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.setMargins(5, 2, 2, 2); //Ll.setPadding(10, 5, 5, 5); Ll.addView(label,params); tr.addView((View)Ll); // Adding textView to tablerow. /** Creating Qty Button **/ TextView place = new TextView(this); place.setText(p.getPlace()); place.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); place.setPadding(5, 5, 5, 5); place.setBackgroundColor(Color.GRAY); Ll = new LinearLayout(this); params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.setMargins(0, 2, 2, 2); //Ll.setPadding(10, 5, 5, 5); Ll.addView(place,params); tr.addView((View)Ll); // Adding textview to tablerow. // Add the TableRow to the TableLayout tl.addView(tr, new TableLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); } } }
GetDataFromDB.java
package com.coderzheaven.gettablefromphp; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.DefaultHttpClient; public class GetDataFromDB { public String getDataFromDB() { try { HttpPost httppost; HttpClient httpclient; httpclient = new DefaultHttpClient(); httppost = new HttpPost( "http://10.0.2.2/test/GetUsers.php"); // change this to your URL..... ResponseHandler<String> responseHandler = new BasicResponseHandler(); final String response = httpclient.execute(httppost, responseHandler); return response.trim(); } catch (Exception e) { System.out.println("ERROR : " + e.getMessage()); return "error"; } } }
Users.java
package com.coderzheaven.gettablefromphp; public class Users { int id; String name; String place; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPlace() { return place; } public void setPlace(String place) { this.place = place; } }
The activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fillViewport="true" android: scrollbars = "none" android:layout_below="@+id/textView1"> <TableLayout android:layout_width="wrap_content" android:layout_height="0dp" android:stretchColumns="1,0,0" android:id="@+id/maintable" > </TableLayout> </ScrollView> </RelativeLayout>
The server Side php.
GetUsers.php
<?php mysql_connect("localhost","root",""); // host, username, password... mysql_select_db("testdb"); // db name... $q=mysql_query("SELECT * FROM users"); while($row=mysql_fetch_assoc($q)) $json_output[]=$row; print(json_encode($json_output)); mysql_close(); ?>
Download the complete source code from here.
Join the Forum discussion on this post
Link to this post!