轮播图+xlistview异步请求的数据+imglode获取图片数据
来源:互联网 发布:mysql 余数 编辑:程序博客网 时间:2024/05/16 05:18
package com.example.zkt;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import com.example.zkt.view.XListView;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { int index; private XListView xl; private MyBase myBase; private LinearLayout lt; private Mydapter mydapter; private ViewPager vp; private ListView lv; private List<JsonBean.DataBean> list=new ArrayList<>(); //数据源 int ids[]=new int[]{R.drawable.r, R.drawable.tt,R.drawable.w,R.drawable.x}; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { index++; while (index>=5) { index=0; } vp.setCurrentItem(index); handler.sendEmptyMessageDelayed(0,2000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = (ViewPager) findViewById(R.id.vp); lt = (LinearLayout) findViewById(R.id.lt); intview(); intData(); hands(); myBase = new MyBase(); vp.setAdapter(myBase); initcot(); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for (int i=0;i<lt.getChildCount();i++) { ImageView img = (ImageView) lt.getChildAt(i); if (i==position%ids.length) { img.setImageResource(R.drawable.point_selected); }else { img.setImageResource(R.drawable.point_mormal); } } } @Override public void onPageScrollStateChanged(int state) { } }); handler.sendEmptyMessageDelayed(0,2000); } private void hands() { Handler handler = new Handler(); mydapter = new Mydapter(MainActivity.this,list); xl.setAdapter(mydapter); } private void intview() { xl = (XListView) findViewById(R.id.xl); xl.setPullLoadEnable(true); xl.setXListViewListener(this); } private void intData() { new Mystakt().execute("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1"); }class Mystakt extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { URL url = null; try { url = new URL(strings[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); int code = connection.getResponseCode(); if (code==200) { InputStream inputStream = connection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuffer stringBuffer = new StringBuffer(); String str =""; while ((str=bufferedReader.readLine())!=null) { stringBuffer.append(str); } return stringBuffer.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); JsonBean bean = gson.fromJson(s, JsonBean.class); List<JsonBean.DataBean> data = bean.getData(); list.addAll(data); mydapter.notifyDataSetChanged(); }} private void initcot() { for (int i = 0; i < ids.length; i++) { ImageView img = new ImageView(MainActivity.this); if (i == 0) { img.setImageResource(R.drawable.point_selected); } else { img.setImageResource(R.drawable.point_mormal); } LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(10, 10); params.setMargins(10,5,10,5); lt.addView(img, params); } } public void onLoad() { xl.stopRefresh(); xl.stopLoadMore(); xl.setRefreshTime("刚刚"); } @Override public void onRefresh() { list.clear(); intData(); onLoad(); } @Override public void onLoadMore() { intData(); onLoad(); } class MyBase extends PagerAdapter{ @Override public int getCount() { return ids.length; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView img = new ImageView(MainActivity.this); img.setImageResource(ids[position]); container.addView(img); return img; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }}
2.Bean类
package com.example.zkt;import java.util.List;/** * author:Created by WangZhiQiang on 2017/9/14. */class JsonBean { /** * code : 1 * height : 0 * width : 0 * success : true * data : [{"userAge":25,"topTime":1458873660000,"recommend":1,"url":"http://www.yulin520.com/a2a/h5/impress/i2/199?a=1505392195906","createTime":1458873458000,"hxKey":"c660d6a8c922852146cc3725a64208ff","img":"http://img1.yulin520.com/news/EN9I5SQNRFS0OMQ8N7U5.jpg#498_589","yulin":"75187","star":41,"title":"翩翩:愿我的生活如名字般起舞","occupation":"","userImg":"http://img1.yulin520.com/news/EN9I5SQNRFS0OMQ8N7U5.jpg#498_589","impressEditId":199,"impressType":10,"replyTimes":7,"remark":"","click":0,"introduction":"91年白羊座/出生地:江苏扬州/金融行业/理想型:孝顺,有担当,有才华,有趣\n","source":0,"userName":"进击的女战士","reporter":18,"status":1,"content":""},{"userAge":27,"topTime":1461057379000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/200?a=1505392195906","createTime":1458889672000,"hxKey":"73c68797a138ae0442349d3184e9280d","img":"http://img1.yulin520.com/news/1N94DU7KMJI0O6Q4PEF3.jpg#1334_1000","yulin":"74392","star":31,"title":"Jason:是设计师,也是体育健将","occupation":"房地产","userImg":"http://img1.yulin520.com/news/1N94DU7KMJI0O6Q4PEF3.jpg#1334_1000","impressEditId":200,"impressType":0,"replyTimes":8,"remark":"","click":0,"introduction":"89年巨蟹座/超热爱运动/四川好男人/设计师\n","source":0,"userName":"Jason","reporter":0,"status":1,"content":""},{"userAge":25,"topTime":1460997554000,"recommend":1,"url":"http://www.yulin520.com/a2a/h5/impress/i1/196?a=1505392195906","createTime":1458713922000,"hxKey":"8caa005c7cb4967e918c3dfcbee367aa","img":"http://img1.yulin520.com/news/ON7G30U57FS0OSWRZ88Z.jpg#982_857","yulin":"74356","star":30,"title":"徐凌云:多才多艺的金融才俊","occupation":"证劵投资","userImg":"http://img1.yulin520.com/news/ON7G30U57FS0OSWRZ88Z.jpg#982_857","impressEditId":196,"impressType":0,"replyTimes":14,"remark":"","click":0,"introduction":"91年金牛座/阳光开朗身材好/会拉手风琴/略微御姐控/金融系研究生","source":0,"userName":"阿豪","reporter":0,"status":1,"content":""},{"userAge":23,"topTime":1460995023000,"recommend":1,"url":"http://www.yulin520.com/a2a/h5/impress/i1/197?a=1505392195906","createTime":1458716304000,"hxKey":"5888b36659cbcf17c47b675186ef4a6b","img":"http://img1.yulin520.com/news/5N7044YIEFS0OAN0KQDW.jpg#798_634","yulin":"74920","star":54,"title":"周大大:温柔的射手美少女","occupation":"银行","userImg":"http://img1.yulin520.com/news/5N7044YIEFS0OAN0KQDW.jpg#798_634","impressEditId":197,"impressType":0,"replyTimes":12,"remark":"","click":0,"introduction":"93年射手座/颜值秒杀奖选手/温柔温柔温柔\n","source":0,"userName":"周大大","reporter":0,"status":1,"content":""},{"userAge":28,"topTime":1459138642000,"recommend":1,"url":"http://www.yulin520.com/a2a/h5/impress/i2/190?a=1505392195906","createTime":1458618361000,"hxKey":"952538d5ad9db22f3b33a05b6d73fe83","img":"http://img1.yulin520.com/news/0N5KVD8MA5S0OCYMN4Y3.jpg#519_600","yulin":"74731","star":75,"title":"徐掌柜:海归创业的白富美","occupation":"电子商务","userImg":"http://img1.yulin520.com/news/0N5KVD8MA5S0OCYMN4Y3.jpg#519_600","impressEditId":190,"impressType":10,"replyTimes":19,"remark":"","click":0,"introduction":"80后天秤座/深圳创二代/理想型:单纯善良,积极乐观,幽默感,有活力\n","source":0,"userName":"Melinda","reporter":0,"status":1,"content":""},{"userAge":25,"topTime":1460993895000,"recommend":1,"url":"http://www.yulin520.com/a2a/h5/impress/i1/191?a=1505392195906","createTime":1458618345000,"hxKey":"72cf0259e49aca7163b5a4098bdd0e32","img":"http://img1.yulin520.com/news/AN5EVOLIC5S0O6PQI5WW.jpg#640_962","yulin":"74407","star":40,"title":"余露瑶:独立随性的个性妞儿","occupation":"互联网","userImg":"http://img1.yulin520.com/news/AN5EVOLIC5S0O6PQI5WW.jpg#640_962","impressEditId":191,"impressType":0,"replyTimes":11,"remark":"","click":0,"introduction":"91年处女座/勇敢有个性/爱旅行/更爱挑战极限/互联网产品经理","source":0,"userName":"瑶瑶","reporter":0,"status":1,"content":""},{"userAge":25,"topTime":1460997981000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/192?a=1505392195906","createTime":1458633007000,"hxKey":"b464191f257573c383ba78f3028b6d44","img":"http://img1.yulin520.com/news/FN602UEVJ5S0O9UN4LUR.jpg#533_800","yulin":"74326","star":23,"title":"李俊:说走就走的腾讯设计师","occupation":"互联网","userImg":"http://img1.yulin520.com/news/FN602UEVJ5S0O9UN4LUR.jpg#533_800","impressEditId":192,"impressType":0,"replyTimes":8,"remark":"","click":0,"introduction":"91年白羊座/真诚幽默骚年/说走就走妥妥的/腾讯设计师","source":0,"userName":"小俊","reporter":0,"status":1,"content":""},{"userAge":28,"topTime":1460997908000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/193?a=1505392195906","createTime":1458636313000,"hxKey":"7d31135a4f9f047a58c409f3aa7c9f47","img":"http://img1.yulin520.com/news/2N613OXUB5S0OJNXSD65.jpg#655_600","yulin":"74215","star":27,"title":"王文龙:能开玩笑能背锅?没错是我!","occupation":"互联网","userImg":"http://img1.yulin520.com/news/2N613OXUB5S0OJNXSD65.jpg#655_600","impressEditId":193,"impressType":0,"replyTimes":8,"remark":"","click":0,"introduction":"88年巨蟹座/沉稳幽默/有梦想有计划/互联网运营","source":0,"userName":"William","reporter":0,"status":1,"content":""},{"userAge":27,"topTime":1460997820000,"recommend":1,"url":"http://www.yulin520.com/a2a/h5/impress/i1/194?a=1505392195906","createTime":1458638981000,"hxKey":"d0f3d8a428ba401606ed00097eef1b4b","img":"http://img1.yulin520.com/news/CN6U5S5C2FS0OM7392AT.jpg#589_598","yulin":"74359","star":23,"title":"张翔:跑半马、骑行,活力派工程师","occupation":"计算机软件","userImg":"http://img1.yulin520.com/news/CN6U5S5C2FS0OM7392AT.jpg#589_598","impressEditId":194,"impressType":0,"replyTimes":9,"remark":"","click":0,"introduction":"89年水瓶座/略闷骚大水瓶/各种运动都在行/疼女友好男人/IT工程师\n","source":0,"userName":"veen","reporter":0,"status":1,"content":""},{"userAge":26,"topTime":1460997699000,"recommend":0,"url":"http://www.yulin520.com/a2a/h5/impress/i1/195?a=1505392195906","createTime":1458640894000,"hxKey":"0f56a52878fdc7b35f337855a4d4a427","img":"http://img1.yulin520.com/news/4N6F611P3FS0OLOCZ0CK.jpg#500_600","yulin":"74209 ","star":24,"title":"黄建思:幽默大方的常德伢子","occupation":"","userImg":"http://img1.yulin520.com/news/4N6F611P3FS0OLOCZ0CK.jpg#500_600","impressEditId":195,"impressType":0,"replyTimes":10,"remark":"","click":0,"introduction":"90年 白羊座 /幽默大方 /成熟稳重 /有点大男子主义 /软件工程师 ","source":0,"userName":"偲","reporter":0,"status":1,"content":""}] * message : null */ private int code; private int height; private int width; private boolean success; private Object message; private List<DataBean> data; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } public int getWidth() { return width; } public void setWidth(int width) { this.width = width; } public boolean isSuccess() { return success; } public void setSuccess(boolean success) { this.success = success; } public Object getMessage() { return message; } public void setMessage(Object message) { this.message = message; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { /** * userAge : 25 * topTime : 1458873660000 * recommend : 1 * url : http://www.yulin520.com/a2a/h5/impress/i2/199?a=1505392195906 * createTime : 1458873458000 * hxKey : c660d6a8c922852146cc3725a64208ff * img : http://img1.yulin520.com/news/EN9I5SQNRFS0OMQ8N7U5.jpg#498_589 * yulin : 75187 * star : 41 * title : 翩翩:愿我的生活如名字般起舞 * occupation : * userImg : http://img1.yulin520.com/news/EN9I5SQNRFS0OMQ8N7U5.jpg#498_589 * impressEditId : 199 * impressType : 10 * replyTimes : 7 * remark : * click : 0 * introduction : 91年白羊座/出生地:江苏扬州/金融行业/理想型:孝顺,有担当,有才华,有趣 * source : 0 * userName : 进击的女战士 * reporter : 18 * status : 1 * content : */ private int userAge; private long topTime; private int recommend; private String url; private long createTime; private String hxKey; private String img; private String yulin; private int star; private String title; private String occupation; private String userImg; private int impressEditId; private int impressType; private int replyTimes; private String remark; private int click; private String introduction; private int source; private String userName; private int reporter; private int status; private String content; public int getUserAge() { return userAge; } public void setUserAge(int userAge) { this.userAge = userAge; } public long getTopTime() { return topTime; } public void setTopTime(long topTime) { this.topTime = topTime; } public int getRecommend() { return recommend; } public void setRecommend(int recommend) { this.recommend = recommend; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public long getCreateTime() { return createTime; } public void setCreateTime(long createTime) { this.createTime = createTime; } public String getHxKey() { return hxKey; } public void setHxKey(String hxKey) { this.hxKey = hxKey; } public String getImg() { return img; } public void setImg(String img) { this.img = img; } public String getYulin() { return yulin; } public void setYulin(String yulin) { this.yulin = yulin; } public int getStar() { return star; } public void setStar(int star) { this.star = star; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getOccupation() { return occupation; } public void setOccupation(String occupation) { this.occupation = occupation; } public String getUserImg() { return userImg; } public void setUserImg(String userImg) { this.userImg = userImg; } public int getImpressEditId() { return impressEditId; } public void setImpressEditId(int impressEditId) { this.impressEditId = impressEditId; } public int getImpressType() { return impressType; } public void setImpressType(int impressType) { this.impressType = impressType; } public int getReplyTimes() { return replyTimes; } public void setReplyTimes(int replyTimes) { this.replyTimes = replyTimes; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public int getClick() { return click; } public void setClick(int click) { this.click = click; } public String getIntroduction() { return introduction; } public void setIntroduction(String introduction) { this.introduction = introduction; } public int getSource() { return source; } public void setSource(int source) { this.source = source; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getReporter() { return reporter; } public void setReporter(int reporter) { this.reporter = reporter; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }}
3.适配器
package com.example.zkt;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * author:Created by WangZhiQiang on 2017/9/14. */class Mydapter extends BaseAdapter{ Context context; List<JsonBean.DataBean> list; public Mydapter(Context context, List<JsonBean.DataBean> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Hodler hodel; if (view==null){ hodel = new Hodler(); view = view.inflate(context, R.layout.lv, null); hodel.textview=(TextView)view.findViewById(R.id.textView1); hodel.text=(TextView) view.findViewById(R.id.textView2); hodel.imageView1=(ImageView) view.findViewById(R.id.imageView); view.setTag(hodel); } else { hodel = (Hodler) view.getTag(); } hodel.text.setText(list.get(i).getTitle()); hodel.textview.setText(list.get(i).getOccupation()); ImageLoader.getInstance().displayImage(list.get(i).getImg(),hodel.imageView1); return view; } class Hodler{ public TextView textview; public TextView text; public ImageView imageView1; }}//ImgLode
package com.example.zkt;import android.app.Application;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;/** * author:Created by WangZhiQiang on 2017/9/14. */public class Img extends Application{ @Override public void onCreate() { super.onCreate(); ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this).build(); ImageLoader.getInstance().init(configuration); }}//清单文件也一定要写
阅读全文
0 0
- 轮播图+xlistview异步请求的数据+imglode获取图片数据
- 异步请求数据展示到xlistview
- XListView请求网络数据
- XListView请求网络数据
- XListView请求网络数据
- XListView请求网络数据
- XListView请求网络数据的使用
- 网络数据请求XListView展示
- 网络请求+XListView展示数据
- OKhttp post异步请求获取数据
- 安卓POST请求+异步获取数据+JSON解析+图片解析
- Android异步加载获取网络数据(图片)
- 新XListView连接网络请求数据
- XListView在activity中HttpURLConnection请求数据
- xlistview+imageloder+数据请求+下拉刷新
- 使用 Xlistview 展示网络请求数据
- 异步请求数据__flash
- ASIHTTPRequest异步请求数据
- CUDA修饰符,运算符<<<>>>及变量的介绍
- 血常规检验报告单的OCR识别、深度学习与分析
- MFC实现CListBox 使用CTRL和SHIFT多选
- Lua的CPU开销性能优化
- 几种字符串求长方法(最后一种有点6!!!)
- 轮播图+xlistview异步请求的数据+imglode获取图片数据
- Vue.js2.0 入门实例(一)(环境安装)
- guava
- tensorflow加载saver.restore目录报错
- 关于iOS HTML安全的简单策略--上卷
- unity中常见的文件夹以及特殊文件夹命名及意义
- HBase scan超时
- 阿里云服务器部署Windows的php环境
- 用ExportToXls方法导出到Excel就变成这样一团的解决方法