Android端调用java

一、准备一个java端的程序

如:http://192.168.43.37:8080/T212_easyui/jsp/userAction.action?methodName=userList 

这里用的是动态的IP地址,不能用localhost,动态地址会改变,可以先确认IP地址。以确保在手机和电脑都可以用。

二、通过httpclient调用java端。

1.简介httpclient

   httpclient 是 Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和协议。 HtppClient来提交请求、接收响应。在API 23中,Google已经移除了移除了Apache HttpClient相关的类 ,在Android中要在build.gradle中的android {}中加上useLibrary 'org.apache.http.legacy',写好之后要同步 Sync show.

2.使用httpclient

    2.1创建httpclient对象 HttpClient httpClient = new DefaultHttpClient();

    2.2创建get或post对象

         HttpGet HttpGet = new HttpGet("http://www.baidu.com");
         HttpPost httpPost = new HttpPost("http://www.baidu.com"

    2.3添加参数,有三种方式,可选一种

        第一: setParams(HttpParams params)//HttpGet和HttpPost共有
        第二:setEntity(HttpEntity entity)//HttpPost独有

        第三种:?传参 

    2.4发送个或post请求,做出响应。

三、将java串转成对象

 ObjectMapper om = new ObjectMapper();
     try {
           Map map = om.readValue(json, Map.class);
           Log.i("server:",map.get("total").toString());
           Log.i("server:",map.get("rows").getClass().getName());
          } catch (IOException e) {
              e.printStackTrace();
             }

注意:

1. 如果地址错误,或服务器未开户,HttpClient这SB会等待N久(>24小时)。 所以请记得设置超时时间,所以请记得设置超时时间,所以请记得设置超时时间

2.需要添加允许网络访问权限,不然会报错“java.lang.SecurityException: Permission denied (missing INTERNET permission?)”
           <uses-permission android:name="android.permission.INTERNET" />  。在manifests 下,找到 AndroidManifest.xml 文件写入<uses-permission android:name="android.permission.INTERNET" />即可。

3.HttpUriRequest为HttpGet和HttpPost的父类

4. 检查ip地址:
   启动的android模拟器吧自己也当成127.0.0.1和localhost,如果使用了localhost或者127.0.0.1则会被拒绝访问

 

猜你喜欢

转载自blog.csdn.net/oydl_1234/article/details/82713702
今日推荐