Android关于远程服务器请求
2014-06-24 00:00
253 查看
// 在Andorid开发过程中,要有http请求,这就需要我们先要验证手机网络状态,再想服务器端发出请求
/* http请求代码 */
// 在AndroidManifest.xml文件中添加获取联网状态权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
/* http请求代码 */
// 在AndroidManifest.xml文件中添加联网权限 <uses-permission android:name="android.permission.INTERNET" /> // public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static JSONArray jArr = null; static String json = ""; //List<NameValuePair> 键值对,相当于一维关联数组 // 使用方法 // List<NameValuePair> params = new ArrayList<NameValuePair>(); // params.add(new BasicNameValuePair("phone", "手机号码")); public JSONObject getJSONObjectFROMURL(String url, String method, List<NameValuePair> params) { // Making HTTP request try { // check for request method if(method == "POST"){ // request method is POST // defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); }else if(method == "GET"){ // request method is GET DefaultHttpClient httpClient = new DefaultHttpClient(); String paramString = URLEncodedUtils.format(params, "utf-8"); url += "?" + paramString; HttpGet httpGet = new HttpGet(url); HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } } catch (UnsupportedEncodingException e) { //printStackTrace 深层次的输出异常调用的流程 e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "UTF-8"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString()); } // try parse the string to a JSON Array try { jObj = new JSONObject(json); } catch (JSONException e) { Log.e("JSON Object Parser", "Error parsing data " + e.toString()); } // return JSON String return jObj; } }
相关文章推荐
- android 关于发起不同网络请求与服务器session不一致问题
- 关于DateTime在远程服务器使用以及日期与时间格式的问题
- 关于用ASP.Net识别远程主机服务器种类
- Android连接远程服务器
- 关于URL 请求服务器,权限问题
- 关于2003远程无法连接,重启服务器后就可以正常连接
- 关于"错误 18483:未能连接到服务器 "XXX",因为 'distributor_admin'未在该服务器上定义为远程登陆"
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 HKE
- 关于win2003服务器远程断开后自动注销的问题解决
- 关于win2003服务器远程断开后自动注销的问题解决
- PHP 服务器请求远程XML并显示
- HttpWebRequest加载证书请求远端https服务器时 : 基础连接已经关闭: 无法与远程服务器建立信任关系
- OpenLDAP服务器Kerberos 4 Bind请求远程栈溢出漏洞
- SQL 2005远程连接是出错(provider: SQL 网络接口, error: 28 - 服务器不支持请求的协议
- 关于获取远程服务器目录
- 关于远程无法访问服务器的webServices
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- 关于连接远程服务器本地Net Configuration Assistant设置
- Google回应关于Android恶意程序的远程应用删除
- 关于获取远程服务器上虚拟机的开机时间