package com.example.test___1; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import com.example.test___1.XListView.IXListViewListener; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest.HttpMethod; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.util.Xml; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment1 extends Fragment { int index = 1; String url = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex=" + index + "&pageSize=15"; List<News> newsList = new ArrayList<News>(); Handler handler = new Handler(){ private News news; private String name; private MyBaseAdapter myBaseAdapter; public void handleMessage(android.os.Message msg) { List<News> list = new ArrayList<News>(); String xml = (String) msg.obj; int tag = msg.arg1; XmlPullParser pullParser = Xml.newPullParser(); // 鎶奡tring鏁版嵁杞垚娴� ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( xml.getBytes()); try { pullParser .setInput(new InputStreamReader(byteArrayInputStream)); int eventType = pullParser.getEventType(); // 濡傛灉涓嶆槸缁撴潫鏂囨。灏辩户缁В鏋� while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { // 璇诲埌寮�濮嬫爣绛� case XmlPullParser.START_TAG: // 鑾峰緱鏍囩鍚� name = pullParser.getName(); if ("news".equals(name)) { news = new News(); } else if ("title".equals(name)) { // 寰楀埌title鏍囩閲岀殑鏂囨湰 news.title = pullParser.nextText(); } else if ("body".equals(name)) { news.body = pullParser.nextText(); } else if ("commentCount".equals(name)) { news.commentCount = pullParser.nextText(); } else if ("author".equals(name)) { news.author = pullParser.nextText(); } else if ("pubDate".equals(name)) { news.pubDate = pullParser.nextText(); } break; // 璇诲埌缁撴潫鏍囩 case XmlPullParser.END_TAG: name = pullParser.getName(); if ("news".equals(name)) { list.add(news); } break; } eventType = pullParser.next(); } } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } switch (tag) { case 1: newsList.addAll(list); myBaseAdapter = new MyBaseAdapter(getActivity(), newsList); xlistView.setAdapter(myBaseAdapter); break; // 鍒锋柊 case 2: newsList.clear(); newsList.addAll(list); myBaseAdapter.notifyDataSetChanged(); break; // 鍔犺浇鏇村 case 3: newsList.addAll(list); myBaseAdapter.notifyDataSetChanged(); break; } }; }; private XListView xlistView; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.fragment, null); xlistView = (XListView) view.findViewById(R.id.xlistView); xlistView.setPullLoadEnable(true); xlistView.setXListViewListener(new IXListViewListener() { @Override public void onRefresh() { index += 1; getData("http://www.oschina.net/action/api/news_list?catalog=1&pageIndex=" + index + "&pageSize=15", 2); // 鍋滄鍒锋柊 xlistView.stopRefresh(); } @Override public void onLoadMore() { index += 1; getData("http://www.oschina.net/action/api/news_list?catalog=1&pageIndex=" + index + "&pageSize=15", 3); // 鍋滄鍔犺浇鏇村 xlistView.stopLoadMore(); } }); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { getData(url, 1); super.onActivityCreated(savedInstanceState); } private void getData(String url, final int tag) { HttpUtils httpUtils = new HttpUtils(); httpUtils.configCurrentHttpCacheExpiry(0); httpUtils.send(HttpMethod.GET, url, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { // TODO Auto-generated method stub } @Override public void onSuccess(ResponseInfo<String> arg0) { // 寰楀埌鏁版嵁xml String result = arg0.result; // 缁檋andler鍙戦�佹暟鎹� Message msg = Message.obtain(); msg.obj = result; msg.arg1 = tag; handler.sendMessage(msg); } }); } }
package com.example.day04; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; import java.util.List; import com.example.day04.adapter.Adapter; import com.example.day04.bean.Bean; import com.example.day04.bean.Bean.Myresult.Data; import com.google.gson.Gson; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; public class MainActivity extends Activity { private EditText ed; private Button btn; private ListView lv; Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { switch (msg.what) { case 1: String json = (String) msg.obj; Gson gson = new Gson(); Bean bean = gson.fromJson(json, Bean.class); List<Data> list = bean.result.data; System.out.println(list + "------------------------"); lv.setAdapter(new Adapter(list, MainActivity.this)); break; case 2: System.out.println("请求失败"); default: break; } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Init(); } public void Init() { ed = (EditText) findViewById(R.id.mname); btn = (Button) findViewById(R.id.button1); lv = (ListView) findViewById(R.id.lv); btn.setOnClickListener(listener); } OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { new Thread() { public void run() { String name = "http://apis.juhe.cn/cook/query.php"; try { String path = "?menu=" + URLEncoder.encode(ed.getText().toString(), "utf-8") + "&dtype=&pn=1&rn=5&albums=&=&key=f2158617de65461d79db8b1a597726d5"; URL url = new URL(name + path); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); int code = connection.getResponseCode(); if (code == 200) { InputStream is = connection.getInputStream(); ByteArrayOutputStream array = new ByteArrayOutputStream(); byte[] by = new byte[1024]; int length = 0; while ((length = is.read(by)) != -1) { array.write(by, 0, length); } String str = array.toString("utf-8"); System.out.println(str + "----------"); Message mess = Message.obtain(); mess.obj = str; mess.what = 1; handler.sendMessage(mess); } else { Message mess = Message.obtain(); mess.what = 2; handler.sendMessage(mess); } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }; }.start(); } }; }
相关推荐
`HttpUtils`类提供了一个无参数的构造函数,用于创建一个空的`HttpUtils`对象。这个构造函数没有执行任何操作(NOOP),意味着它仅仅初始化了一个`HttpUtils`实例,而不进行任何额外的设置或配置。 #### 局部字符串...
在 HttpUtils 工具类中,有一些关键的代码需要特别注意: 1. `init()` 方法:该方法用于初始化连接池,设置最大连接数和每路由最大连接数。 2. `getHttpClient()` 方法:该方法用于获取 HttpClient 对象,用于发送 ...
httpUtils封装上传图片api
本篇文章将详细讲解xUtils中的HttpUtils模块,主要涉及GET和POST两种常见的网络请求方式。 首先,我们来看GET请求。GET请求是HTTP协议中最基础的一种请求方式,通常用于获取服务器上的资源。在xUtils中,HttpUtils...
例如,`httpUtils.get(url)`可以发送一个GET请求到指定的URL,而`httpUtils.post(url, params)`则用于发送POST请求,并携带参数。此类通常还会包含处理响应数据、设置请求头、处理异步请求等功能,以满足不同场景的...
本文将深入探讨HttpUtils类及其在Java中的应用。 HttpUtils类通常是开发者自定义的一个工具集,它封装了常见的HTTP请求方法,如GET、POST等,使得开发者在处理网络请求时能更加便捷。下面,我们将详细解析HttpUtils...
另外,为了处理上传和下载的进度显示,`HTTPUtils`可能会提供回调接口,允许调用者监听并更新进度。这些回调可能在读写流的过程中触发,传递已上传/下载的字节数。 安全性也是关键,`HTTPUtils`可能会处理HTTPS连接...
HttpUtils网络请求工具类,可以获取网络上的数据转化给JSON数据然后处理成自己的想要的数据 http://blog.csdn.net/qq_30552993/article/details/51774509
HttpUtils工具类
HttpUtils httpUtils = new HttpUtils(); ``` 3. **发送GET请求**:要发送GET请求,调用`send`方法并传入请求URL和回调。 ```java httpUtils.send(HttpMethod.GET, "http://example.com", new HttpCallback() { @...
"HttpUtils Java get post 工具类" 提供了便捷的方法来发送GET和POST请求,简化了网络请求的操作。以下是对这两个主要HTTP方法的详细解释以及如何在Java中实现它们。 **1. GET方法** GET是HTTP中最常见的请求方法,...
综上所述,`HttpUtils`这个示例涵盖了网络请求的基本要素,包括认证、请求方法、重试策略,以及对OkHttp的模仿。通过学习和理解这个示例,开发者可以更好地掌握Android中的网络编程,提高应用的网络性能和用户体验。...
`HttpUtils.zip`文件提供了一种便捷的方式来使用这两种工具,旨在简化开发过程,提升开发效率。下面我们将详细探讨HttpClient、OkHttp以及HttpUtils的相关知识点。 1. **HttpClient**:HttpClient是Apache基金会...
《HttpUtils-ok.zip:模拟浏览器进行网络爬虫的利器》 在互联网大数据时代,网络爬虫作为一种高效的数据获取工具,已经广泛应用于各种领域,如市场分析、舆情监测、学术研究等。而`HttpUtils-ok.zip`这个压缩包,...
最全httpClient工具类 .
自己写的基于Java自带URL请求 处理get,post 不明白的,里面直接运行可以跑,
- 我们可以为HttpUtils提供静态方法,如`get(String url, Callback callback)`和`post(String url, RequestBody body, Callback callback)`,以处理GET和POST请求。Callback接口用于接收服务器的响应。 3. **构建...
使用java代码的方式发出http请求并且转成json对象转成pojo对象,发送http请求,并且尝试重试请求等功能。 支持restful形式的请求方式。
下面将详细探讨`HttpUtils`类中的主要知识点。 1. **HTTP协议基础**:HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。它是基于TCP/IP通信协议来...
http请求第三方接口工具类,sendGet请求get请求,sendPost请求post接口。map参数类型