xml解析,httputils网络请求,imageloder图片加载
2016-10-18 21:12
393 查看
图片加载 public class Myapption extends Application{ @Override public void onCreate() { startimage(); } private void startimage() { DisplayImageOptions options=new DisplayImageOptions.Builder().cacheOnDisc(true).cacheInMemory(true) .showImageOnLoading(R.drawable.li_logo).showImageOnFail(R.drawable.li_logo).showImageOnFail(R.drawable.li_logo) .build(); int Maxsize=(int) (Runtime.getRuntime().maxMemory()/8); ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(getApplicationContext()).discCache(new UnlimitedDiskCache(getCacheDir())) .memoryCache(new UsingFreqLimitedMemoryCache(Maxsize)).threadPoolSize(3).threadPriority(Thread.NORM_PRIORITY-1) .defaultDisplayImageOptions(options).build(); ImageLoader.getInstance().init(configuration); } }
xml解析 public class MainActivity extends Activity { private ArrayList<Books> data=new ArrayList<Books>(); private ByteArrayInputStream input = null; private String path = "http://172.17.29.120/localuser/loupengfei/kaoshi/student.xml"; private ListView list; private Mylist adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list = (ListView) findViewById(R.id.list); adapter = new Mylist(); list.setAdapter(adapter); startpull(); } public class Mylist extends BaseAdapter{ private TextView name; private TextView address; @Override public int getCount() { // TODO Auto-generated method stub return data.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } @Override public View getView(int arg0, View arg1, ViewGroup arg2) { View view=View.inflate(MainActivity.this,R.layout.list,null); name=(TextView) view.findViewById(R.id.name); address=(TextView) view.findViewById(R.id.address); name.setText(data.get(arg0).getName()); address.setText(data.get(arg0).getAddress()); return view; } } private void startpull() { new Thread() { public void run() { String string; // 创建HttpClient HttpClient client = new DefaultHttpClient(); // 设置请求方式 HttpGet get = new HttpGet(path); try { // 执行 HttpResponse response = client.execute(get); // 得到一个结果码 int statusCode = response.getStatusLine().getStatusCode(); // 判断这个结果码 if (statusCode == 200) { string = EntityUtils.toString(response.getEntity(), "utf-8"); input = new ByteArrayInputStream(string.getBytes()); System.out.println(string + "11111111111"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { ArrayList<Books> books = new ArrayList<Books>(); Books book = null; // 获得工厂类对象 XmlPullParserFactory factory = XmlPullParserFactory .newInstance(); // 获得对应解析器 XmlPullParser parser = factory.newPullParser(); // 把文件放进去,开始解析 parser.setInput(input, "UTF-8"); int type = parser.getEventType(); while (type != XmlPullParser.END_DOCUMENT) { if (type == XmlPullParser.START_TAG) { if ("student".equals(parser.getName())) { book = new Books(); book.setId(Integer.parseInt(parser .getAttributeValue(0))); } else if ("address".equals(parser.getName())) { if (book != null) { book.setAddress(parser.nextText()); } } else if ("name".equals(parser.getName())) { if (book != null) { book.setName(parser.nextText()); } } } else if (type == XmlPullParser.END_TAG) { if ("student".equals(parser.getName())) { books.add(book); } } type = parser.next(); } data.addAll(books); } catch (Exception e) { e.printStackTrace(); } }; }.start(); } }
httputils请求加listview分页加载数据 public class MainActivity extends Activity { public Myname adapter; private ArrayList<Goodbean.Data> datas; private ArrayList<Goodbean.Data> fenlist = new ArrayList<Goodbean.Data>(); int index = 0; final int PAGE_NUMBER = 7; private ListView list; private String url = "http://m.yunifang.com/yunifang/mobile/goods/getall?random=87749&encode=ac6bd45b8f50b626a6843b294af8fed5"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list=(ListView) findViewById(R.id.list); list.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView absListView, int i) { if (i == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { if (absListView.getLastVisiblePosition() == fenlist.size()-1) { index = index + PAGE_NUMBER; addData(); } } } @Override public void onScroll(AbsListView absListView, int i, int i1, int i2) { } }); httpjson(); } private void addData() { Log.i("---", datas.size() + "+++fen"); for (int i = index; i < index + PAGE_NUMBER; i++) { if (i < datas.size()) { fenlist.add(datas.get(i)); } } if (fenlist.size()==datas.size()) { Toast.makeText(MainActivity.this,"没有更多了...", Toast.LENGTH_SHORT).show(); } if (adapter == null) { adapter = new Myname(MainActivity.this, fenlist); list.setAdapter(adapter); }else { adapter.notifyDataSetChanged(); } } private void httpjson() { HttpUtils http = new HttpUtils(); http.send(HttpRequest.HttpMethod.GET, url, new RequestCallBack<String>() { @Override public void onSuccess(ResponseInfo<String> responseInfo) { String jsonto=responseInfo.result; Gson gson=new Gson(); Goodbean good=gson.fromJson(jsonto,Goodbean.class); datas=good.data; addData(); } @Override public void onFailure(HttpException e, String s) { } }); } public class Myname extends BaseAdapter{ private ArrayList<Goodbean.Data> datas; private Context context; public Myname(Context context, ArrayList<Goodbean.Data> datas) { this.datas=datas; this.context=context; } @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder hr=null; convertView=View.inflate(context,R.layout.list,null); if(convertView!=null){ hr=new ViewHolder(); hr.textname=(TextView) convertView.findViewById(R.id.textView); hr.image=(ImageView) convertView.findViewById(R.id.imageView); convertView.setTag(hr); }else { hr=(ViewHolder)convertView.getTag(); } hr.textname.setText(datas.get(position).efficacy); ImageLoader.getInstance().displayImage(datas.get(position).goods_img,hr.image); return convertView; } public class ViewHolder{ private TextView textname; private ImageView image; } } } 加权限 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
相关文章推荐
- 通过httpUtils请求网络xml数据进行解析
- xUtils中的HttpUtils请求网络数据和BitmapUtils加载网络图片
- xListView(上拉刷新下拉加载,xml解析)中添加网络请求
- Demo XML 、 JSON 解析 AND 网络HTTP请求
- httpUtils获取网络信息解析xml
- 关于http网络请求Imageloder图片SharedPreferences封装Banner无限轮播
- Android Volley完全解析(二),使用Volley加载网络图片 转载:http://blog.csdn.net/guolin_blog/article/details/174
- Android Volley完全解析(二),使用Volley加载网络图片
- [原]Android Volley完全解析(二),使用Volley加载网络图片
- Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题
- 简单的AFNetWorking用法:加载网络图片和请求JSON数据
- Android Volley完全解析(二),使用Volley加载网络图片
- 网络数据请求和XML 数据解析
- Android Volley完全解析(二),使用Volley加载网络图片
- Universal-Image-Loader解析(三)——用ListView和ViewPager加载网络中的图片
- Android Volley完全解析(二),使用Volley加载网络图片
- Android Volley完全解析(二),使用Volley加载网络图片
- Android Volley完全解析(二),使用Volley加载网络图片
- Android Volley完全解析(二),使用Volley加载网络图片
- Android Volley完全解析(二),使用Volley加载网络图片