Android 通过Http访问Web端的Servlet
16lz
2021-01-23
/////Http工具类
////调用方法
import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.util.EntityUtils;public class HttpUtil {public static String getHttpJSON(String url) {// String httpUrl =// "http://www.weixiweb.cn/memberOrder.do?op=memberOrderJson";HttpGet httpRequest = new HttpGet(url);try {HttpClient httpclient = new DefaultHttpClient();HttpResponse httpResponse = httpclient.execute(httpRequest);if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {String jsonStr = EntityUtils.toString(httpResponse.getEntity(),"UTF-8");return jsonStr;}} catch (Exception e) {e.printStackTrace();System.out.println("==============e.printStackTrace() : "+ e.getMessage());}return null;}public static int getHttpStatus() {int status = 0;HttpGet httpRequest = new HttpGet("http://192.168.0.214/vote/AndroidConnServlet");try { ///生成HttpParams对象,设置网络连接的时间HttpParams httpParameters = new BasicHttpParams();HttpConnectionParams.setConnectionTimeout(httpParameters, 5000);HttpConnectionParams.setSoTimeout(httpParameters, 5000);HttpConnectionParams.setTcpNoDelay(httpParameters, true);HttpClient httpclient = new DefaultHttpClient(httpParameters);//HttpParams params = httpclient.getParams();HttpResponse httpResponse = httpclient.execute(httpRequest);//HttpConnectionParams.setConnectionTimeout(params, 3000);//HttpConnectionParams.setSoTimeout(params, 5000);status = httpResponse.getStatusLine().getStatusCode();} catch (Exception e) {e.printStackTrace();System.out.println("==============connection wifi fail,e.printStackTrace() : "+ e.getMessage());}return status;}}
////调用方法
public void ensureVote() {String URL = "http://192.168.0.214/vote/VoteServlet";codeText = codeEdit.getText().toString();if (codeText == null || codeText.length() == 0) {Toast.makeText(VoteActivity.this, "投票失败,请输入投票码.",Toast.LENGTH_LONG).show();return;}URL = URL + "?project=" + radioVoteText + "&voteCode=" + codeText+ "&source=Android";String httpStatus = "0";httpStatus = HttpUtil.getHttpJSON(URL);if (httpStatus != null && httpStatus.equals("1")) {new AlertDialog.Builder(VoteActivity.this).setTitle("success").setMessage("投票成功,非常感谢.").setNeutralButton("返回",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dlg,int sumthin) {}}).show();} else if (httpStatus != null && httpStatus.equals("2")) {new AlertDialog.Builder(VoteActivity.this).setTitle("warn").setMessage("投票失败,投票码已经使用.").setNeutralButton("返回",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dlg,int sumthin) {}}).show();} else if (httpStatus != null && httpStatus.equals("0")) {new AlertDialog.Builder(VoteActivity.this).setTitle("error").setMessage("投票失败,请联系网管.").setNeutralButton("返回",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dlg,int sumthin) {}}).show();}}}
更多相关文章
- Android的跨进程通信介绍----------------aidl,传递复杂对象以及S
- listView显示对象以及access any RESTFull service that uses JS
- android 面向对象数据库 db40使用demo
- 33、Android 中子fragment控制父对象改变布局
- Android 中的Parcelable序列化对象
- Android样式化的定型对象 — Style样式的定义
- 对android里布局文件当中的TextView对象设置事件监听,但是不响应
- Retrofit系列文章翻译7—在请求体里发送对象