android中线程的开启,访问网络
来源:互联网 发布:java中异步请求 编辑:程序博客网 时间:2024/05/29 03:23
方式1
new Thread(runnableDjangoRegister).start();//注册
public Runnable runnableDjangoRegister = new Runnable() { @Override public void run() { Log.e("runnableDjangoRegister", "runnableDjangoRegister"); // 创建HttpPost对象 HttpPost httpPost = new HttpPost(Register_uri); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("phone", phoneNumber)); params.add(new BasicNameValuePair("nickname", nickName)); params.add(new BasicNameValuePair("realname", realName)); //Post返回的数据 HttpResponse httpResponse = null; String strResult = null; try { DefaultHttpClient httpClient = new DefaultHttpClient(); httpPost.setEntity(new UrlEncodedFormEntity(params, encoding)); httpPost.setHeader(new BasicHeader("csrftoken", FanShopApplication.getChatToken())); httpResponse = httpClient.execute(httpPost); Log.e("注册请求状态码", String.valueOf(httpResponse.getStatusLine().getStatusCode())); switch (httpResponse.getStatusLine().getStatusCode()) { case 200: case 201: case 202: strResult = EntityUtils.toString(httpResponse.getEntity(), encoding);//encoding,解决乱码的问题 Log.e("20X返回结果", strResult); Looper.prepare(); Toast.makeText(RegisterActivity.this, strResult, Toast.LENGTH_SHORT).show(); finishLoginActivity(); Looper.loop(); break; default: Log.e("非20X返回状态码", "非200返回状态码"); Looper.prepare(); Toast.makeText(RegisterActivity.this, "请求错误", Toast.LENGTH_SHORT).show(); Looper.loop(); break; } } catch (IOException e) { e.printStackTrace(); } } };
方式2
public void getProductBatch() { DjangoOperation.getJsonByUrl(new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); String json = (String) msg.obj; Log.e("获取批次信息", json); List<FSProductBatch> productBatchs = JsonUtils.fromJson(json, new TypeToken<List<FSProductBatch>>() { }); for (FSProductBatch fs : productBatchs) { Log.e("getProductBatch", String.valueOf(fs.getProduce_date() + fs.getPosition())); goodsBatch.add(fs.getProduce_date() + "\n" + fs.getPosition()); } } }, storeGoodsBatch, 1); }
public static void getJsonByUrl(final Handler mHandler, final String url, final int what) { new Thread(new Runnable() { @Override public void run() { Log.i("URL:", url); synchronized (httpClient) { try { HttpGet get = new HttpGet(new URI(url)); HttpResponse response = httpClient.execute(get); Log.i("StatusCode", "" + response.getStatusLine().getStatusCode()); dealStatusCode(response, mHandler, url, what); } catch (Exception e) { e.printStackTrace(); } } } }).start();}
0 0
- android中线程的开启,访问网络
- android 4.0下访问主进程访问网络和开启另外另外的线程
- android中开启线程
- android中开启线程
- android中开启线程
- android中开启线程
- android中开启线程
- android线程访问网络AsyncTask的用法
- android中开启子线程
- android中开启子线程
- Android——子线程中访问网络数据问题
- Android 网络访问 线程注意事项
- Android中访问网络的方式
- Android中访问网络的方式
- 【Android开发】范例1-开启新线程获取网络图片并显示到ImageView中
- android在其他线程中访问UI线程的方法
- android 线程中访问UI线程的方法
- MFC 中一个界面开启的线程函数如何访问另一个界面的成员
- [Memcached]Memcached 的分布式算法
- python 文件操作
- 基于git的源代码管理模型——git flow
- Windows平台下sbt的安装设置
- Android app 调试 一键杀进程脚本
- android中线程的开启,访问网络
- iOS网络状态(一)
- 韩顺平 javascript教学视频_学习笔记7_js自定义函数
- 新浪微博第三方登录
- 数据结构专题——线段树
- HBase编程实例
- 遍历iOS相册
- openfire之SSL认证
- 【设计模式】中介者模式