ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android Studio 中引入org.apache.commons.*包具体做法

2021-03-17 19:59:29  阅读:431  来源: 互联网

标签:String commons mDefaultHttpParams Studio org apache new HttpClient


文章目录

Android Studio 中引入org.apache.commons.*包具体做法

1.可以直接在build.gradle(:app)中加入下面语句:

implementation 'org.apache.commons:commons-lang3:3.7'

如下图第4行代码,之后重新 sycn
在这里插入图片描述

2. 手动下载对应链接库jar,然后添加为项目的链接库

apache.commons 官网 下载

如下图:
在这里插入图片描述
找到你要的包下载下来,放到你的项目libs目录下
在这里插入图片描述
选中你要添加的包,右键 Add As Library ,然后重新 gradle sycn , 即可完成需要的链接jar的加入。

Android 网络编程时使用HttpClient :

1.import org.apache.http 找不到 (已解决)

参考博客

useLibrary 'org.apache.http.legacy'

具体见下图:文件build.gradle(:app)
在这里插入图片描述

2. 使用get、post方法访问URL地址(示例代码)

代码如下:

public class MainActivity extends AppCompatActivity {

    private static final String TAG="HttpClient";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                useHttpClientGet("http://www.baidu.com");
//            }
//        }).start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                useHttpClientPost("http://120.95.135.44:8980/web/a/login?__login=true&__ajax=json&username=system&password=235880C505ACCDA5C581A4F4CDB81DA0");
            }
        }).start();
    }

    private HttpClient createHttpClient(){
        HttpParams mDefaultHttpParams = new BasicHttpParams();
        //设置连接超时
        HttpConnectionParams.setConnectionTimeout(mDefaultHttpParams,15000);
        //设置请求超时
        HttpConnectionParams.setSoTimeout(mDefaultHttpParams,15000);
        HttpConnectionParams.setTcpNoDelay(mDefaultHttpParams,true);
        HttpProtocolParams.setContentCharset(mDefaultHttpParams, HTTP.UTF_8);
        //持续握手
        HttpProtocolParams.setUseExpectContinue(mDefaultHttpParams,true);
        HttpClient mHttpClient = new DefaultHttpClient(mDefaultHttpParams);
        return mHttpClient;
    }

    private void useHttpClientGet(String url){
        HttpGet mHttpGet = new HttpGet(url);
        mHttpGet.addHeader("Connection","Keep-Alive");

        try {
            HttpClient mHttpClient=createHttpClient();
            HttpResponse mHttpResponse = mHttpClient.execute(mHttpGet);
            HttpEntity mHttpEntity = mHttpResponse.getEntity();
            int code = mHttpResponse.getStatusLine().getStatusCode();
            if(null != mHttpEntity){
                InputStream mInputStream = mHttpEntity.getContent();
                String repose=converStreamToString(mInputStream);
                Log.d(TAG,"请求状态码:"+code+"\n请求结果:\n"+repose);
                mInputStream.close();;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    private String converStreamToString(InputStream is) throws IOException{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuffer sb = new StringBuffer();
        String line=null;
        while((line = reader.readLine()) != null){
            sb.append(line+"\n");
        }
        String repose = sb.toString();
        return repose;
    }

    private void useHttpClientPost(String url){
        HttpPost mHttpPost=new HttpPost(url);
        mHttpPost.addHeader("Connection","Keep-Alive");

        try {
            HttpClient mHttpClient=createHttpClient();
            List<NameValuePair> postParams = new ArrayList<>();
            //要传递的参数
            postParams.add(new BasicNameValuePair("ip","59.108.54.37"));
            mHttpPost.setEntity(new UrlEncodedFormEntity(postParams));
            HttpResponse mHttpResponse = mHttpClient.execute(mHttpPost);
            HttpEntity mHttpEntity = mHttpResponse.getEntity();
            int code = mHttpResponse.getStatusLine().getStatusCode();
            if ( null != mHttpEntity){
                InputStream mInputStream=mHttpEntity.getContent();
                String respose = converStreamToString(mInputStream);
                Log.d(TAG, "请求状态码:" + code + "\n请求结果:\n"+respose);
                mInputStream.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

标签:String,commons,mDefaultHttpParams,Studio,org,apache,new,HttpClient
来源: https://blog.csdn.net/weixin_44715384/article/details/114945463

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有