Reputation: 221
http://hopscriber.com/log.php
this [{"uname":"faith"},{"uname":"losh"},{"uname":"loshi"},{"uname":"test"}]
i want to get it to the list view but i dont know how to do so, and the methods in tutorials are not clear to me.
hope some one could help me out...
thank you
php that give the above outcome
<?php
include "db_config.php";
$sql=mysql_query("SELECT`uname` FROM `user`");
while($row=mysql_fetch_assoc($sql)) $output[]=$row;
print(json_encode($output));
mysql_close();
?>
activity
THis is the corrected one but the list view shows only pwd column.... why is that?
package hopscriber.com;
public class Menu extends Activity {
TextView result;
Intent intent;
// JSON Node names
private static final String TAG_Name = null;
private static final String TAG_Pass = null;
// contacts JSONArray
JSONArray contacts = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
// Name of the User
result = (TextView) findViewById(R.id.result);
intent = getIntent();
String Naming = intent.getStringExtra("name1");
result.setText("Hey " + Naming);
ListView list = (ListView) findViewById(R.id.list);
try {
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setSoTimeout(params, 0);
HttpClient httpClient = new DefaultHttpClient(params);
// prepare the HTTP GET call
HttpGet httpget = new HttpGet("http://hopscriber.com/log.php");
// get the response entity
HttpEntity entity = httpClient.execute(httpget).getEntity();
if (entity != null) {
// get the response content as a string
String response = EntityUtils.toString(entity);
// consume the entity
entity.consumeContent();
// When HttpClient instance is no longer needed, shut down the
// connection manager to ensure immediate deallocation of all
// system resources
httpClient.getConnectionManager().shutdown();
// return the JSON response
ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
JSONArray jsonArray = new JSONArray(response.trim());
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = (JSONObject) jsonArray.get(i);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_Name, object.getString("uname"));
map.put(TAG_Pass, object.getString("pwd"));
contactList.add(map);
}
}
ListAdapter adapter = new SimpleAdapter(this, contactList,
R.layout.menu_list_row, new String[] { TAG_Name,
TAG_Pass }, new int[] { R.id.LR_Name,
R.id.LR_date });
list.setAdapter(adapter);
}
} catch (Exception e) {
e.printStackTrace();
}
// Launching new screen on Selecting Single ListItem
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(getBaseContext(), "Booyah", Toast.LENGTH_SHORT)
.show();
}
});
}
}
Upvotes: 1
Views: 3096
Reputation: 15973
Try this, i did not test it, but i'm using same code with different data and it works..
try {
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setSoTimeout(params, 0);
HttpClient httpClient = new DefaultHttpClient(params);
//prepare the HTTP GET call
HttpGet httpget = new HttpGet(urlString);
//get the response entity
HttpEntity entity = httpClient.execute(httpget).getEntity();
if (entity != null) {
//get the response content as a string
String response = EntityUtils.toString(entity);
//consume the entity
entity.consumeContent();
// When HttpClient instance is no longer needed, shut down the connection manager to ensure immediate deallocation of all system resources
httpClient.getConnectionManager().shutdown();
//return the JSON response
JSONArray jsonArray = new JSONArray(response.trim());
if(jsonArray != null) {
String[] unames = new String[jsonArray.length()];
for(int i = 0 ; i < jsonArray.length() ; i++) {
JSONObject object = (JSONObject) jsonArray.get(i);
unames[i] = object.getString("uname");
}
ListAdapter adapter = new SimpleAdapter(this, contactList,
R.layout.menu_list_row, unames, new int[] { R.id.LR_Name });
list.setAdapter(adapter);
}
}
}catch (Exception e) {
e.printStackTrace();
}
To add the result to a ListView
, follow this link http://www.mkyong.com/android/android-listview-example/ passing the String[] unames
Upvotes: 1