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(); ?>
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Download the complete source code from here.
Image may be NSFW.
Clik here to view.
.
Join the Forum discussion on this post