在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有:
1:基于Http协议获取数据方法。
2:基于SAOP协议获取数据方法。
一、首页,在WEB服务器上创建一个测试文件(test.php),只显示一个字符串“真的很奇怪,日本人!”。
假如网址为:http://www.hao513.com/test.php
二、接下来在手机客户端里写入以下代码:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
//模拟器自己把自己当成localhost了,服务器应该为10.0.2.2
private static String url="http://www.hao513.com/test.php";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getPDAServerData(url);
}
/**
* 请求服务
* @param url
*/
private void getPDAServerData(String url){
HttpClient client=new DefaultHttpClient();
HttpPost request;
try {
request = new HttpPost(new URI(url));
HttpResponse response=client.execute(request);
//判断请求是否成功
if(response.getStatusLine().getStatusCode()==200){
HttpEntity entity=response.getEntity();
if(entity!=null){
String out=EntityUtils.toString(entity);
new AlertDialog.Builder(this).setMessage(out).create().show();
}
}
}catch (URISyntaxException e) {
e.printStackTrace();
}catch (ClientProtocolException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果如下:
成功了吧:当然读者可以根据这个思路扩展下应用。数据方面可以用json,也可以使用xml。android已经提供了JSON的API,struts2中也可以使用JSON插件。自己扩展吧。
1:基于Http协议获取数据方法。
2:基于SAOP协议获取数据方法。
一、首页,在WEB服务器上创建一个测试文件(test.php),只显示一个字符串“真的很奇怪,日本人!”。
假如网址为:http://www.hao513.com/test.php
二、接下来在手机客户端里写入以下代码:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
//模拟器自己把自己当成localhost了,服务器应该为10.0.2.2
private static String url="http://www.hao513.com/test.php";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getPDAServerData(url);
}
/**
* 请求服务
* @param url
*/
private void getPDAServerData(String url){
HttpClient client=new DefaultHttpClient();
HttpPost request;
try {
request = new HttpPost(new URI(url));
HttpResponse response=client.execute(request);
//判断请求是否成功
if(response.getStatusLine().getStatusCode()==200){
HttpEntity entity=response.getEntity();
if(entity!=null){
String out=EntityUtils.toString(entity);
new AlertDialog.Builder(this).setMessage(out).create().show();
}
}
}catch (URISyntaxException e) {
e.printStackTrace();
}catch (ClientProtocolException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果如下:
成功了吧:当然读者可以根据这个思路扩展下应用。数据方面可以用json,也可以使用xml。android已经提供了JSON的API,struts2中也可以使用JSON插件。自己扩展吧。