文章目录Android Studio 中引入org.apache.commons.*包具体做法1.可以直接在build.gradle(:app)中加入下面语句:2. 手动下载对应链接库jar,然后添加为项目的链接库Android 网络编程时使用HttpClient :1.import or...

文章目录
- Android Studio 中引入org.apache.commons.*包具体做法
- 1.可以直接在build.gradle(:app)中加入下面语句:
- 2. 手动下载对应链接库jar,然后添加为项目的链接库
- Android 网络编程时使用HttpClient :
- 1.import org.apache.http 找不到 (已解决)
- 2. 使用get、post方法访问URL地址(示例代码)
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();
}
}
}
沃梦达教程
本文标题为:Android Studio 中引入org.apache.commons.*包具体做法


猜你喜欢
- 阿里云ECS排查CPU数据分析 2022-10-06
- IIS搭建ftp服务器的详细教程 2022-11-15
- CentOS_mini下安装docker 之 安装docker CE 2023-09-23
- CentOS7安装GlusterFS集群的全过程 2022-10-10
- nginx中封禁ip和允许内网ip访问的实现示例 2022-09-23
- 利用Docker 运行 python 简单程序 2022-10-16
- KVM虚拟化Linux Bridge环境部署的方法步骤 2023-07-11
- 教你在docker 中搭建 PHP8 + Apache 环境的过程 2022-10-06
- 解决:apache24 安装后闪退和配置端口映射和连接超时设置 2023-09-11
- 【转载】CentOS安装Tomcat 2023-09-24