Xutils请求数据imageloader加载图片+网络判断
添加依赖: compile 'com.github.bumptech.glide:glide:4.0.0-RC1' compile 'com.google.code.gson:gson:2.8.1' compile files('libs/universal-image-loader-1.9.5.jar') compile 'org.xutils:xutils:3.5.0'
在AndroidManifest中添加网络权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
---------------------------------------------------------
package fragment;import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; 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.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView;import com.bumptech.glide.Glide; import com.example.e.yuekaolianxi.PingDaoGuanLi; import com.example.e.yuekaolianxi.R; import com.example.e.yuekaolianxi.Utils; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.util.ArrayList; import java.util.List;import bean.Bean;public class Fragment2_ShiPing extends Fragment implements View.OnClickListener {private ViewPager viewPager;private ImageView[] points;private int count = 0;private String s;private List<Bean.DataBean.ComicsBean> list;private MyAdapter adapter;private GridView gridView;private Button pingdao;private String[] images = {"http://f2.kkmh.com/image/161129/5lw6qrrjf.webp-w750.jpg","http://f2.kkmh.com/image/160127/ord904ylf.webp-w750.jpg","http://f2.kkmh.com/image/170623/6c5i8d00h.webp-w750.jpg","http://f2.kkmh.com/image/170216/4qksgntjb.webp-w750.jpg","http://f2.kkmh.com/image/170616/miaujen7x.webp-w750.jpg"};Handler mHandler = new Handler() {@Override public void handleMessage(Message msg) {viewPager.setCurrentItem(count);count++;count = count % images.length;send();}};Handler mHandler1 = new Handler() {@Override public void handleMessage(Message msg) {s = msg.obj.toString();Gson gson = new Gson();Bean bean = gson.fromJson(s, Bean.class);list.addAll(bean.getData().getComics());adapter.notifyDataSetChanged();}};private String path = "http://api.kuaikanmanhua.com/v1/daily/comic_lists/1489334400?since=0&gender=0&sa_event=eyJwcm9qZWN0I";@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment2_faxian, container, false);}@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);gridView = (GridView) getView().findViewById(R.id.gridView);pingdao = (Button) getView().findViewById(R.id.pingdao);initView();points = new ImageView[5];points[0] = (ImageView) getView().findViewById(R.id.image01);points[1] = (ImageView) getView().findViewById(R.id.image02);points[2] = (ImageView) getView().findViewById(R.id.image03);points[3] = (ImageView) getView().findViewById(R.id.image04);points[4] = (ImageView) getView().findViewById(R.id.image05);for (ImageView image : points) {image.setOnClickListener(this);}updatePoint(count);send();if (isNetworkAvailable(getActivity())) {loder();}list = new ArrayList<>();adapter = new MyAdapter();gridView.setAdapter(adapter);//跳转到频道管理页面pingdao.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View v) {Intent intent = new Intent(getActivity(), PingDaoGuanLi.class);startActivity(intent);}});}private void loder() {new Thread() {@Override public void run() {String s = Utils.parmrs(path);Message msg = Message.obtain();msg.obj = s;mHandler1.sendMessage(msg);}}.start();}private void updatePoint(int position) {for (ImageView image : points) {image.setImageResource(R.drawable.nor);}points[position].setImageResource(R.drawable.sel);}private void initView() {viewPager = (ViewPager) getView().findViewById(R.id.viewPager);final ViewPagerAdapter adapter = new ViewPagerAdapter();viewPager.setAdapter(adapter);viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {private boolean flag;@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}@Override public void onPageSelected(int position) {updatePoint(position);}@Override public void onPageScrollStateChanged(int state) {}});}public void send() {new Thread() {@Override public void run() {mHandler.sendEmptyMessageDelayed(count, 2000);}}.start();}@Override public void onClick(View v) {mHandler.removeCallbacksAndMessages(null);int intex = Integer.valueOf(v.getTag().toString());viewPager.setCurrentItem(intex, false);count = intex + 1;send();}class ViewPagerAdapter extends PagerAdapter {@Override public int getCount() {return images.length;}@Override public boolean isViewFromObject(View view, Object object) {return view == object;}@Override public Object instantiateItem(ViewGroup container, int position) {ImageView imageView = new ImageView(getActivity());Glide.with(getActivity()).load(images[position]) // .placeholder(R.drawable.nor) .into(imageView);container.addView(imageView);return imageView;}@Override public void destroyItem(ViewGroup container, int position, Object object) {container.removeView((View) object);}}public static boolean isNetworkAvailable(Context context) {ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (connectivity != null) {NetworkInfo info = connectivity.getActiveNetworkInfo();if (info != null && info.isConnected()) {// 当前网络是连接的 if (info.getState() == NetworkInfo.State.CONNECTED) {// 当前所连接的网络可用 return true;}}}return false;}class MyAdapter extends BaseAdapter {ImageLoader imageLoader;DisplayImageOptions options;public MyAdapter() {imageLoader = ImageLoader.getInstance();ImageLoaderConfiguration config = ImageLoaderConfiguration.createDefault(getActivity());imageLoader.init(config);options = new DisplayImageOptions.Builder().showImageOnLoading(R.mipmap.ic_launcher).build();}@Override public int getCount() {return list.size();}@Override public Object getItem(int position) {return list.get(position);}@Override public long getItemId(int position) {return position;}@Override public View getView(int position, View convertView, ViewGroup parent) {Bean.DataBean.ComicsBean bean = list.get(position);Holder holder;if (convertView == null) {holder = new Holder();convertView = View.inflate(getActivity(), R.layout.fragment2_item, null);holder.image = (ImageView) convertView.findViewById(R.id.imageView);holder.tv1 = (TextView) convertView.findViewById(R.id.tv1);holder.tv2 = (TextView) convertView.findViewById(R.id.tv2);convertView.setTag(holder);} else {holder = (Holder) convertView.getTag();}holder.tv1.setText(bean.getTopic().getTitle());holder.tv2.setText(bean.getTitle());imageLoader.displayImage(bean.getTopic().getCover_image_url(), holder.image, options); return convertView;}}class Holder {ImageView image;TextView tv1, tv2;}@Override public void onDestroy() {super.onDestroy();mHandler.removeCallbacksAndMessages(null);} }
Xutils请求数据imageloader加载图片+网络判断相关推荐
- Android中使用ImageLoader加载图片
Android上让人头疼的莫过于从网络上获取图片,然后显示图片,最后还要考虑到图片的回收问题,这之间只要有任何一个环节有问题都可能直接OOM.尤其在需要展示图片的列表页面,会加载大量网络上的图片,每当 ...
- Ionic+Angular+Express实现前后端交互使用HttpClient发送get请求数据并加载显示(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- android 解决listview.notifyDataSetChanged刷新时Imageloader加载图片闪烁问题
今天,简单讲讲android里再listview调用notifyDataSetChanged刷新界面时,Imageloader加载图片会闪烁的问题. 最近,发现app里的listview图片会出现闪烁 ...
- ImageLoader加载图片与文字
//main方法 import android.support.annotation.IdRes; import android.support.v4.app.Fragment; import and ...
- ImageLoader加载图片
先导universal-image-loader-1.9.3包 在application配置 android:name=".MyApplication" intent权限 1 pa ...
- ImageLoader加载图片 默认方式和自定义方式
public class MyApplication extends Application{ @Override public void onCreate() { // TODO Auto-gene ...
- html5 数据懒加载图片,Jsoup+HtmlUnit获取懒加载数据
需要的包: org.projectlombok lombok provided 1.16.20 org.jsoup jsoup 1.8.3 net.sourceforge.htmlunit htmlu ...
- MVP+RecyclerView多条目+OkHttp(get和post请求方法)+属性动画+imageLoader加载图片
//MainActivity类public class MainActivity extends AppCompatActivity implements DataView {private Recy ...
- java 多线程数据异步加载图片_JAVA多线程超时加载当网页图片
先上图: 这一次没有采取正则匹配,而采取了最简单的java分割和替代方法进行筛选图片 它能够筛选如下的图片并保存到指定的文件夹 如: "http://xxxx/xxxx/xxx.jpg&qu ...
最新文章
- centos7.2安装mysql
- gilab无法解析php文件,gitlab重新设置域名后就无法访问了。
- python-小数点保留位数问题
- 超全Linux备份工具集合,满足你的所有需要!
- dev编译按钮是灰色_提升 50% 的编译速度!阿里零售通 App 工程提效实践
- java中NULL与 的区别
- Caffe傻瓜系列(1):数据层及参数
- Unity URP 内置的 ParticlesLit.shader 中的 fallback 拼写错误,导致 fallback 找不到 SimpleLit,改为 Simple Lit即可
- cad添加自己线性_如何自定义自己需要的CAD线型?
- java如何逆向工程_总结一下java如何进行逆向工程
- android 闹钟设置的几种方法
- 记录一下我的phpcms下载模板的下载列表页面不能够显示出列表页面
- 数学建模竞赛题目 资产清算交易策略
- python自动化运维脚本(仅供参考)
- 使用apache log解决高并发下log4j引起大量线程block问题
- 风靡全球的英雄联盟手游,竟然没有国服,只能教你玩国际服了...
- android list sort 并删除重复点_阿博的Python之路-详解List数据类型
- 2021年中式烹调师(中级)考试报名及中式烹调师(中级)复审模拟考试
- MATLAB 打开m文件的时候有如图报错怎么办
- Access 和vc6.0 相连,在我indows64 位系统中,出现找不到Microsoft Access Driver(*.mdb) ODBC驱动程序的安装例程。请重新安装驱动