网络存储即应用可以通过网络实现数据的存储和获取。在android中我们可以通过调用WebService,HTTP协议,Socket编程等实现网络数据库的交互。
我们可以同过标准的java接口(java.net.*),Apache接口(org.apache.http.*),android网络接口(android.net.*)来实现网络通信。
下面简单实现一个Http通信如下:
package com.network; import java.io.IOException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import com.example.R; import android.app.Activity; import android.os.Bundle; public class Activity6 extends Activity{ //http访问路径 private final String HTTP_URL = "http://www.baidu.com"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); //向sdcar中写入数据文件 http(); } public void http(){ HttpGet httpRequest = new HttpGet(HTTP_URL); //取得HttpClient对象 HttpClient httpClient = new DefaultHttpClient(); try { //请求HttpClient,取得HttpResponse HttpResponse httpResponse = httpClient.execute(httpRequest); //请求成功 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){ //取得返回的字符串 String strResult = EntityUtils.toString(httpResponse.getEntity()); System.out.println(strResult); }else{ System.out.println("request error!"); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
要想该程序能访问网络数据,还需修改AndroidManifest.xml配置文件,配置允许访问网络的权限:
<!-- 配置允许网络访问 --> <uses-permission android:name="android.permission.INTERNET" />
源代码下载: http://xmong.iteye.com/blog/1852204