HttpURLCnnect的新闻图片错乱

package fragment.bwie.com.lianxi7;

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;
import android.widget.Toast;

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;

import fragment.bwie.com.lianxi7.adapter.MyAdapter;
import fragment.bwie.com.lianxi7.bean.DataBean;

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private List<DataBean.ResultBean.ListBean> list = new ArrayList<>();;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.list_item);

        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {


            @Override
            protected String doInBackground(Void... voids) {
                String path = "http://v.juhe.cn/weixin/query?key=88f7bbc507e3ecacfaeab2b47dd8936f";
                try {
                    URL url = new URL(path);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("GET");
                    conn.setConnectTimeout(5000);
                    conn.setReadTimeout(5000);
                    int responseCode = conn.getResponseCode();
                    if (responseCode == 200) {
                        InputStream inputStream = conn.getInputStream();
                        String json = streamTostring(inputStream, "utf-8");
                        Log.i("json", json);
                        return json;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                DataBean dataBean = gson.fromJson(s, DataBean.class);

                if (dataBean != null) {
                    list = dataBean.getResult().getList();
                    list.addAll(dataBean.getResult().getList());
                    MyAdapter myAdapter = new MyAdapter(list, MainActivity.this);
                    listView.setAdapter(myAdapter);
                } else {
                    Toast.makeText(MainActivity.this, "什么都没有", Toast.LENGTH_SHORT).show();
                }


            }
        };

        asyncTask.execute();

    }

    private String streamTostring(InputStream inputStream, String s) {

        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,s);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            StringBuilder builder = new StringBuilder();
            String string = null;
            while ((string = bufferedReader.readLine()) != null) {
                builder.append(string);
            }
            bufferedReader.close();
            return builder.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
 
-------------------------------适配器
package fragment.bwie.com.lianxi7.adapter;

import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.List;

import fragment.bwie.com.lianxi7.R;
import fragment.bwie.com.lianxi7.bean.DataBean;
import fragment.bwie.com.lianxi7.util.ImageUtil;

/**
 * Created by CZ on 2017/9/5.
 */
public class MyAdapter extends BaseAdapter {
    List<DataBean.ResultBean.ListBean> list;
    Context context;

    public MyAdapter(List<DataBean.ResultBean.ListBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @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(final int i, View view, ViewGroup viewGroup) {
        ViewHolder holder;
        if (view == null){
            view = View.inflate(context, R.layout.list_item,null);
            holder = new ViewHolder();
            holder.firstImg = (ImageView) view.findViewById(R.id.image);
            holder.title = (TextView) view.findViewById(R.id.title);
            view.setTag(holder);
        }else {
            holder = (ViewHolder) view.getTag();
        }

        holder.title.setText(list.get(i).getTitle());

        new ImageUtil().getImage(holder.firstImg ,list.get(i).getFirstImg(), new ImageCallBack() {
            @Override
            public void setSuccessImage(ImageView imageView, Bitmap bitmap) {
                if (list.get(i).getFirstImg().equals(imageView.getTag())){
                    imageView.setImageBitmap(bitmap);
                }
            }
        });
        return view;
    }

    public class ViewHolder {
        ImageView firstImg;
        TextView title;

    }
}
----------------------------------异步加载图片
package fragment.bwie.com.lianxi7.util;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import fragment.bwie.com.lianxi7.adapter.ImageCallBack;

/**
 * Created by CZ on 2017/9/5.
 */
public class ImageUtil {
    ImageCallBack imageCallBack;
    ImageView imageview;
    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0) {
                Bitmap bitmap = (Bitmap) msg.obj;
                imageview.setImageBitmap(bitmap);
            }
        }
    };


    public void getImage(final ImageView firstImg, final String firstImg1, final ImageCallBack imageCallBack) {
        this.imageview = firstImg;
        this. imageCallBack =  imageCallBack;

        AsyncTask<String, Void, Bitmap> asyncTask = new AsyncTask<String, Void, Bitmap>() {
            @Override
            protected Bitmap doInBackground(String... strings) {
                try {
                    URL url = new URL(firstImg1);
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.setRequestMethod("GET");
                    urlConnection.setReadTimeout(5000);
                    urlConnection.setConnectTimeout(5000);
                    int responseCode = urlConnection.getResponseCode();
                    if (responseCode == 200) {
                        InputStream inputStream = urlConnection.getInputStream();
                        Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                        Message message = Message.obtain();
                        message.what = 0;
                        message.obj = bitmap;
                        handler.sendMessage(message);

                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(Bitmap bitmap) {
                imageCallBack.setSuccessImage(firstImg,bitmap);
            }
        };

        asyncTask.execute(firstImg1);
    }



}
--------------------------------Bean类
package fragment.bwie.com.lianxi7.bean;

import java.util.List;

/**
 * Created by CZ on 2017/9/5.
 */
public class DataBean {
    /**
     * reason : 请求成功
     * result : {"list":[{"id":"wechat_20170905060296","title":"再穷!家里也应该有一块奇石!","source":"晒石会","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556839.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060296"},{"id":"wechat_20170905060545","title":"童书 | 少女心,英雄梦","source":"三联生活周刊","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-39034717.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060545"},{"id":"wechat_20170905060534","title":"中元节 | 鬼月说钟馗","source":"三联生活周刊","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42440243.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060534"},{"id":"wechat_20170905059273","title":"有问必答 |《国宝迷踪》第十一集问题解答","source":"央视百家","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-36785834.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059273"},{"id":"wechat_20170905059276","title":"为你读诗 |《李凭箜篌引》作者:李贺","source":"央视百家","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42553669.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059276"},{"id":"wechat_20170905059311","title":"\u201c一元画\u201d1500万善款公布使用计划,剩下的1270万将这么用","source":"南方新闻网","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-13547970.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059311"},{"id":"wechat_20170905059614","title":"阴曹地府到底是谁建立的?十殿阎王只是干活的","source":"刀墓手札","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-37616212.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059614"},{"id":"wechat_20170905060120","title":"诗词中的中元节","source":"书画新风景","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556166.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060120"},{"id":"wechat_20170905060077","title":"水族箱里的金鱼游到画里啦!真漂亮!","source":"书画新风景","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42555981.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060077"},{"id":"wechat_20170905060097","title":"这花鸟,美醉了朋友圈!","source":"书画新风景","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556028.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060097"},{"id":"wechat_20170905060258","title":"一位从事多年琥珀蜜蜡营业员离职后,爆出行内惊人内幕!","source":"晒石会","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-31947729.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060258"},{"id":"wechat_20170905060260","title":"史上最励志的捡漏:清乾隆南红玛瑙宝玺拍出380万!","source":"晒石会","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556730.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060260"},{"id":"wechat_20170905053693","title":"\u201c我太优秀了,我爸妈根本配不上我\u201d","source":"重庆青年报","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42536224.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905053693"},{"id":"wechat_20170905055357","title":"每天感恩三分钟(说的真好)","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-37226951.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055357"},{"id":"wechat_20170905055297","title":"一位老人,玩微信两年来的感受!说得太精辟了~","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-35685045.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055297"},{"id":"wechat_20170905055277","title":"人格如金!(说得太好了)","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-35844920.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055277"},{"id":"wechat_20170905055249","title":"生命最后十分钟!(深度好文)","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-34894563.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055249"},{"id":"wechat_20170905056755","title":"一位老总在公交上被女孩辱骂后!老总竟然当众......","source":"励志人生哲理","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-38049747.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905056755"},{"id":"wechat_20170905056303","title":"看完此文,你就活明白了","source":"励志人生哲理","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-38049747.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905056303"},{"id":"wechat_20170905056943","title":"失踪在日本的女教师:不要把世界让给你所鄙视的人","source":"桌子的生活观","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-18352546.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905056943"}],"totalPage":7000,"ps":20,"pno":1}
     * error_code : 0
     */

    private String reason;
    private ResultBean result;
    private int error_code;

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public ResultBean getResult() {
        return result;
    }

    public void setResult(ResultBean result) {
        this.result = result;
    }

    public int getError_code() {
        return error_code;
    }

    public void setError_code(int error_code) {
        this.error_code = error_code;
    }

    public static class ResultBean {
        /**
         * list : [{"id":"wechat_20170905060296","title":"再穷!家里也应该有一块奇石!","source":"晒石会","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556839.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060296"},{"id":"wechat_20170905060545","title":"童书 | 少女心,英雄梦","source":"三联生活周刊","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-39034717.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060545"},{"id":"wechat_20170905060534","title":"中元节 | 鬼月说钟馗","source":"三联生活周刊","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42440243.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060534"},{"id":"wechat_20170905059273","title":"有问必答 |《国宝迷踪》第十一集问题解答","source":"央视百家","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-36785834.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059273"},{"id":"wechat_20170905059276","title":"为你读诗 |《李凭箜篌引》作者:李贺","source":"央视百家","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42553669.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059276"},{"id":"wechat_20170905059311","title":"\u201c一元画\u201d1500万善款公布使用计划,剩下的1270万将这么用","source":"南方新闻网","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-13547970.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059311"},{"id":"wechat_20170905059614","title":"阴曹地府到底是谁建立的?十殿阎王只是干活的","source":"刀墓手札","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-37616212.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905059614"},{"id":"wechat_20170905060120","title":"诗词中的中元节","source":"书画新风景","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556166.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060120"},{"id":"wechat_20170905060077","title":"水族箱里的金鱼游到画里啦!真漂亮!","source":"书画新风景","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42555981.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060077"},{"id":"wechat_20170905060097","title":"这花鸟,美醉了朋友圈!","source":"书画新风景","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556028.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060097"},{"id":"wechat_20170905060258","title":"一位从事多年琥珀蜜蜡营业员离职后,爆出行内惊人内幕!","source":"晒石会","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-31947729.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060258"},{"id":"wechat_20170905060260","title":"史上最励志的捡漏:清乾隆南红玛瑙宝玺拍出380万!","source":"晒石会","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556730.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060260"},{"id":"wechat_20170905053693","title":"\u201c我太优秀了,我爸妈根本配不上我\u201d","source":"重庆青年报","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-42536224.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905053693"},{"id":"wechat_20170905055357","title":"每天感恩三分钟(说的真好)","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-37226951.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055357"},{"id":"wechat_20170905055297","title":"一位老人,玩微信两年来的感受!说得太精辟了~","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-35685045.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055297"},{"id":"wechat_20170905055277","title":"人格如金!(说得太好了)","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-35844920.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055277"},{"id":"wechat_20170905055249","title":"生命最后十分钟!(深度好文)","source":"梵心佛语录","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-34894563.jpg/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905055249"},{"id":"wechat_20170905056755","title":"一位老总在公交上被女孩辱骂后!老总竟然当众......","source":"励志人生哲理","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-38049747.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905056755"},{"id":"wechat_20170905056303","title":"看完此文,你就活明白了","source":"励志人生哲理","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-38049747.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905056303"},{"id":"wechat_20170905056943","title":"失踪在日本的女教师:不要把世界让给你所鄙视的人","source":"桌子的生活观","firstImg":"http://zxpic.gtimg.com/infonew/0/wechat_pics_-18352546.static/640","mark":"","url":"http://v.juhe.cn/weixin/redirect?wid=wechat_20170905056943"}]
         * totalPage : 7000
         * ps : 20
         * pno : 1
         */

        private int totalPage;
        private int ps;
        private int pno;
        private List<ListBean> list;

        public int getTotalPage() {
            return totalPage;
        }

        public void setTotalPage(int totalPage) {
            this.totalPage = totalPage;
        }

        public int getPs() {
            return ps;
        }

        public void setPs(int ps) {
            this.ps = ps;
        }

        public int getPno() {
            return pno;
        }

        public void setPno(int pno) {
            this.pno = pno;
        }

        public List<ListBean> getList() {
            return list;
        }

        public void setList(List<ListBean> list) {
            this.list = list;
        }

        public static class ListBean {
            /**
             * id : wechat_20170905060296
             * title : 再穷!家里也应该有一块奇石!
             * source : 晒石会
             * firstImg : http://zxpic.gtimg.com/infonew/0/wechat_pics_-42556839.jpg/640
             * mark :
             * url : http://v.juhe.cn/weixin/redirect?wid=wechat_20170905060296
             */

            private String id;
            private String title;
            private String source;
            private String firstImg;
            private String mark;
            private String url;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getTitle() {
                return title;
            }

            public void setTitle(String title) {
                this.title = title;
            }

            public String getSource() {
                return source;
            }

            public void setSource(String source) {
                this.source = source;
            }

            public String getFirstImg() {
                return firstImg;
            }

            public void setFirstImg(String firstImg) {
                this.firstImg = firstImg;
            }

            public String getMark() {
                return mark;
            }

            public void setMark(String mark) {
                this.mark = mark;
            }

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }
        }
    }
}
------------------------------------错乱的
package fragment.bwie.com.lianxi7.adapter;

import android.graphics.Bitmap;
import android.widget.ImageView;

/**
 * Created by CZ on 2017/9/5.
 */
public interface ImageCallBack {
    public void setSuccessImage(ImageView imageView, Bitmap bitmap);


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
RecyclerView图片错乱问题通常出现在滑动过程中,这是由于RecyclerView的回收复用机制导致的。 RecyclerView的回收复用机制可以提高列表的滑动效率,但在复用过程中有可能出现图片错乱的问题。这是因为复用的View可能会带有之前加载的图片或者其他数据,而在新的位置显示时,没有及时更新内容。 解决RecyclerView图片错乱问题的方法有以下几种: 1. 使用ViewHolder设计模式:在ViewHolder中,通过getItemViewType()方法判断当前Item所属类型,然后根据不同的类型进行相应的数据加载和图片显示操作。这样可以确保复用的View正确显示对应位置的内容,避免图片错乱问题的发生。 2. 使用图片加载框架:如Glide或Picasso等,这些图片加载框架可以自动处理图片加载、缓存和显示等问题,避免出现图片错乱的情况。可以使用框架提供的方法,在加载图片前对ImageView进行重置,确保显示正确的图片。 3. 设置数据标记:在数据源中为每个Item设置唯一标识,可以使用position作为标识。在加载图片时,将标识与ImageView绑定,只有当标识匹配时才进行图片加载和显示操作。这样可以确保每个ImageView只显示对应标识的图片,避免图片错乱。 4. 及时取消加载:在RecyclerView滑动过程中,可以对滑动过程中无需显示的Item进行图片加载的取消操作,避免加载到错误的图片。可以通过监听滑动事件,在滑动停止时再进行图片加载。 通过以上方法可以有效地解决RecyclerView图片错乱问题,保证列表的显示正确性。在实际开发中,根据具体的情况选择合适的解决方案,并进行适当的优化,保证App的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值