Android[中级教程]第十章 Mysql+Json+Android的组合
这一章,我们重点来介绍服务器Mysql数据库通过PHP将Json数据交给Android来处理,同学们初看一定觉得好多专业术语哦,呵呵,其实,等我讲完,大家应该都能理解,好了,首先我们来看数据库,Mysql数据库,做过网站的同学应该对Mysql数据库不陌生,我们先在Mysql数据库中创建库表跟数据
接下来就要将Mysql的数据暴露给Android了,这里我用了ThinkPHP模板
这里就不讲ThinkPHP的数据库连接之类的了,通过ThinkPHP将数据返回成Json数据
这里先上图吧
好,接下来就是如何将网络Json数据转入Android中了
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import com.kang.http.HttpConnectionUtil;
import com.kang.http.HttpConnectionUtil.HttpConnectionCallback;
import com.kang.http.HttpConnectionUtil.HttpMethod;
public class JsonFromPHPDemo extends Activity
{
private ListView listView;
private SimpleAdapter adapter;
protected List<Person> persons;
private Person person;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.xml_handler);
listView = (ListView) findViewById(R.id.xml_list);
try
{
// 自完义适配方法
getAdapter();
} catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 自定义方法,从网络取得数据,并将数据放入ListView中
*/
private void getAdapter()
{
//网址
String url = "http://192.168.1.105/PHPDemo/index.php/Index/show";
//上节课讲的网络连接方法
HttpConnectionUtil connUtil = new HttpConnectionUtil();
connUtil.asyncConnect(url, HttpMethod.POST,
new HttpConnectionCallback()
{
@Override
public void execute(String response)
{
persons = JsonToList(response);
setInAdapter();
listView.setAdapter(adapter);
}
});
}
/**
* 将数据配入ListView中
*/
protected void setInAdapter()
{
List<Map<String, String>> lists = new ArrayList<Map<String, String>>();
// 将persons中的数据转换到ArrayList<Map<String,String>>中
// String>>中,因为SimpleAdapter要用这个类型的数据进行适配
Map<String, String> map;
for (Person p : persons)
{
map = new HashMap<String, String>();
map.put("id", p.getId());
map.put("status", p.getStatus());
map.put("name", p.getName());
map.put("tool", p.getTool());
map.put("number", p.getNumber());
lists.add(map);
}
// HashMap<String, String>中的key
String[] from = { "id", "status", "name", "tool",
补充:移动开发 , Android ,