AsyncTask加载网络数据

ads传统功放设计笔记(3) 传统功放设计的流程一般包括以下这些步骤: 1、明确设计目标 2、选择功放管子 3、确定静态工作点 4、设计偏置电路 5、判断稳定性 6、负载与源牵引 7、输入输出阻抗匹配 8、原理图优化 9、大信号仿真 10、版图设计 11、版图联合仿真 12、pcb设计 第二节我们设计仿真了功放的原理图。之后我们需要对版图进行设计和仿真。 10、版图设计 首先将S参数控件都打叉,还要去掉电源、源负载阻抗、地、芯片、电容。在原先电容和芯片的位置加上gap,设置好长度和间隔。之后在电源引脚、输入输出引脚和隔离的两端加上端口。 阅读详情


一 ,添加权限

   

<uses-permission android:name="android.permission.INTERNET"/>


二 , 网络判断工具类


public class HttpUtils {

        //get请求获取网络数据
        public  static String getData(String utl) {
            try {
                URL url = new URL(utl);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setConnectTimeout(1024 * 8);
                connection.setReadTimeout(1024 * 8);
                connection.setRequestMethod("GET");
                int responseCode = connection.getResponseCode();
                if (responseCode == 200) {
                    InputStream inputStream = connection.getInputStream();
                    int len = 0;
                    byte[] buf = new byte[1024 * 8];
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    while ((len = inputStream.read(buf)) != -1) {
                        baos.write(buf, 0, len);
                    }
                    baos.close();
                    return baos.toString();
                } else {
                    Log.e("TAG", "onCreate: Error" + responseCode);
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    }


三 ,图片加载工具类


public class Imageloderutils {
    public static void setImageView(String url, Context context, ImageView imageView) {


        //初始化
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).build();
        //创建Imageloader 对象
        ImageLoader imageLoader = ImageLoader.getInstance();
        //设置初始化
        imageLoader.init(config);


        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.mipmap.ic_launcher) //设置图片在下载期间显示的图片
                .showImageForEmptyUri(R.mipmap.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片
                .showImageOnFail(R.mipmap.ic_launcher)  //设置图片加载/解码过程中错误时候显示的图片
                .cacheInMemory(true)//设置下载的图片是否缓存在内存中
                .cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中
                .imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示
                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型
                .build();//构建完成

        imageLoader.displayImage(url, imageView, options);


    }
}


四 ,解析字符串的bean类


public class MyBean {
    public String reason;
    public ResultBean result;
    public int error_code;

    public static class ResultBean {

        public String stat;
        public List<DataBean> data;

        public static class DataBean {


            public String uniquekey;
            public String title;
            public String date;
            public String category;
            public String author_name;
            public String url;
            public String thumbnail_pic_s;
            public String thumbnail_pic_s02;
            public String thumbnail_pic_s03;
        }
    }
}


五,适配器,用来显示数据


public class MyAdapter extends BaseAdapter {
    private Context context;
    private List<MyBean.ResultBean.DataBean> list;

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

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder holder;
        if(view == null){
            holder = new ViewHolder();
            view = View.inflate(context,R.layout.item,null);
            holder.iv = view.findViewById(R.id.iv);
            holder.tv = view.findViewById(R.id.tv);
            view.setTag(holder);

        }else{
            holder = (ViewHolder) view.getTag();
        }

        //赋值
        holder.tv.setText(list.get(i).title);
        Imageloderutils.setImageView(list.get(i).thumbnail_pic_s,context,holder.iv);

        return view;
    }
    class ViewHolder{
        TextView tv;
        ImageView iv;
    }
}


六,布局MainActivity.xml(我这里使用的是XListView,实现上拉刷新刷新,下拉加载,需要添加依赖库或是依赖包,你可以使用listview显示数据)


<com.bawei.xlistviewlibrary.XListView
    android:id="@+id/xlistview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

七,布局每一条数据的显示情况


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="显示数据" />

    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       />
</LinearLayout>

八,操作数据,MainActivity中


public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
    private List<MyBean.ResultBean.DataBean> list ;

    private XListView lv;
    private MyAdapter myAdapter;
    private String utl="http://v.juhe.cn/toutiao/index?type=toutiao&key=d4c18a18c3391f90dc971633f6e6f445";

    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            //刷新listView
            myAdapter.notifyDataSetChanged();
            //隐藏头和尾
            closeXlistView();
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list = new ArrayList<MyBean.ResultBean.DataBean>();
        initView();
        new MyAsyncTask().execute(utl);
        //开启下拉刷新
        lv.setPullRefreshEnable(true);
        //开启加载更多可用
        lv.setPullLoadEnable(true);
        lv.setXListViewListener(this);
    }
    //此方法在主线程中调用即可,放到点击事件,或者onCreate方法都可以,参数就是要请求的网址


    //自定义的AsyncTask
    private class MyAsyncTask extends AsyncTask<String, Integer, String> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        //这个方法运行在子线程,我们可以做一个耗时操作
        @Override
        protected String doInBackground(String... strings) {
            //网络请求的操作,注意用return返回获取到的字符串,加网络权限
            String data = HttpUtils.getData(strings[0]);
            Gson gson = new Gson();
            MyBean myBean = gson.fromJson(data,MyBean.class);

            list.addAll(myBean.result.data) ;

            return null;
        }

        //运行在主线程,这个方法在doInBackground执行之后执行.我们一般做从网络拿到数据,使用的数据的操作
        @Override
        protected void onPostExecute(String s) {
            //拿到处理后的数据,更新UI
            myAdapter = new MyAdapter(MainActivity.this,list);
            lv.setAdapter(myAdapter);
            super.onPostExecute(s);
        }
    }


    private void initView() {

        lv = (XListView) findViewById(R.id.xlistview);
    }



    @Override
    public void onRefresh() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                list.add(0,list.get(5));
                handler.sendEmptyMessage(0);
            }
        },2000);
    }

    @Override
    public void onLoadMore() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                for(int x=0; x<10; x++){
                    list.add(list.get(x));
                }
                handler.sendEmptyMessage(0);
            }
        },2000);
    }
    private void closeXlistView() {
        //停止加载更多
        lv.stopLoadMore();
        //停止刷新
        lv.stopRefresh();
        //更新时间
        lv.setRefreshTime("一分钟前");
    }
}


案例效果图:




Zemax操作40--序列模式中LD光源模拟 LD模拟 阅读详情

相关推荐

华为昇腾910B3显卡实战:手把手教你部署DeepSeek 32B模型(含Bge-zh向量库配置)

本文详细介绍了在配备8张华为昇腾910B3显卡的服务器上,从零部署DeepSeek 32B大模型推理服务的完整实战方案。内容涵盖环境准备、模型配置、多卡负载分配,并集成了BGE中文向量模型与ChromaDB向量数据库,最终通过Open WebUI构建了可投入生产的企业级AI应用栈,为私有化大模型部署提供了具体参考。

weixin_29038345的博客 1709

AsyncTask网络加载数据

package zjq.com.lx2_fra; import android.content.ContentValues; import android.os.AsyncTask; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nulla...

qq_43040588的博客 230

2026闲鱼数据采集实战:本地YOLO识别滑块验证码+接口签名分析+零成本价格监控系统

2026闲鱼反爬系统升级实战:零成本解决方案 本文针对2026年闲鱼最新反爬机制提出了一套完整的零成本解决方案。系统面临四大挑战:AI滑块验证、接口签名升级、设备指纹绑定和精细化行为检测。通过以下技术突破实现稳定运行: 本地化AI破解:训练YOLOv11n模型实现98%准确率的滑块识别,替代付费打码平台 逆向工程:Hook闲鱼App签名算法,用Python重写HMAC-SHA256签名生成器 设备指纹管理:建立"一机一号一IP"机制,维护50+种设备特征 行为模拟:开发四阶段滑动轨迹模型

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1455

异步任务加载网络数据——AsyncTask使用

AsyncTask类简单介绍 Android从1.5开始引入了AsyncTask这个类,AsyncTask内部使用Java 1.5的并发库比普通初级Android开发者编写的Thread+Handler稳定很多 AsyncTask封装了Thread和Handler,使我们用起来更加方便,不用去关注Handler。由于后台线程不能更新UI,而很多情况下,我们在后台线程做完一件事后,一般都会更新UI,一

it_Y的博客 5452

Python爬虫实战:5分钟搞定慢慢买历史价格查询(附完整代码)

本文提供了一份Python爬虫实战指南,教你如何快速编写脚本自动查询慢慢买网站的商品历史价格。文章详细拆解了环境准备、接口分析、核心代码实现及常见问题应对,并附有完整代码,帮助读者将爬虫技术应用于日常比价,实现高效购物决策。

weixin_29053577的博客 1010

Flutter框架GetX从入门到精通第二篇:路由管理-告别繁琐的Navigator

Flutter框架GetX从入门到精通第二篇:告别繁琐的Navigator。本系列将带你从零开始,一步步掌握 GetX 框架的核心功能与实战技巧。

鹏多多的博客 170

AsyncTask异步加载数据

public class MainActivity extends AppCompatActivity { private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

zh_littlefatty的博客 409

【DRAM存储器六十二】DDR5介绍--引脚和基本功能简介

详述DDR5与DDR4的引脚区别和DDR5基本功能

highman110的博客 523

AsyncTask 安卓的异步访问网络

 使用  syncTask 进行网络获取图片,展示在Listview中,并且对Listview加载图片使用LruCache 这是自己定义的一个类,用于接收字段和图片信息 public class NewBean {  String newscinUrl;  //图片  String newsTitle;//  String newsConten; } 这

眼界决定境界 508

微信小程序:使用mqtt手机屏幕锁屏后导致中断问题,让mqtt在手机黑屏后依然能保持连接及持续后台运行接收或处理任务,详解微信小程序MQTT在应用退到后台或手机熄屏的情况下自动检测并重连【强制保活】

微信小程序切后台后MQTT连接无法维持,微信小程序MQTT一旦用户锁屏、切换到后台或手机熄屏,连接就会断开,导致无法继续监听和处理业务消息,微信小程序mqtt保活方案,微信小程序屏幕锁屏或息屏导致mqtt连接中断怎么办,如何解决MQTT不能黑屏持续连接的问题,微信小程序应用退到后台 MQTT连接断开问题解决,苹果ios手机,安卓手机,uniapp微信小程序mqtt断开怎么解决,后台应用怎么保活,uni-app中MQTT连接频繁断开如何解决?应用退到后台后MQTT连接断开以及常连接断连的问题,微信小程序、MQ

✅ 精选推荐文章 3026

华为OD机试真题 新系统2026-04-01 Java&Go 实现【勇攀数字高峰】

请你在给定的数字地形图中寻找登山路径,数字代表当前位置的海拔高度,要求从最低海拔出发,不断攀登,最终到达最高山峰。你需要寻找所有满足条件的登山路径。地图已经保证最低海拔和最高山峰都只有一个。

MISAYAONE的博客 617

AsyncTask网络请求数据

MainActivitypackage com.example.week2_lianxi;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ListView;import com.example.Bean

WANGAISHI121221的博客 370

基于Cesium的简易淹没分析效果

淹没分析是通过模拟水体扩散过程来评估洪水、海平面上升等情景下可能影响的区域,其核心作用是为防灾减灾、规划设计和风险管理提供科学依据。预测淹没的范围、水深和持续时间,识别高风险区域,帮助政府制定应急预案和疏散路线,减少人员伤亡和财产损失。

星云数海的博客,一个专注GIS十多年的GISer人。 531

使用AsyncTask异步加载类进行访问网络数据json的理解和用法

总结一下目前学习到的访问网络json数据的方式有四种: 1.Httpclient方式 2.HttpUrlConnection 方式 3.AsyncTask方式 4.HttpUtils方式 HttpClient 和HttpUrlConnection两种方式这里暂不讨论,针对AsyncTask方式访问网络json数据来进行简单的理解描述。 1.AsyncTask异步加载类原理描述:

Leizi030017的博客 1078

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

AsyncTask异步加载网络数据

###  MainActivity import java.util.concurrent.ExecutionException; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class

qq_35840599的博客 353

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android开发异步加载网络数据AsyncTask的使用

一、异步任务加载网络数据: 在android中提供了一个异步任务的类AsyncTask,简单来说,这个类中的任务是运行在后台线程中的,并可以将结果放到UI线程中进行处理,它定义了三种 泛型,分别是Params、Progress和Result,分别表示请求的参数、任务的进度和获得的结果数据。 1、使用原因: 1)其中使用了线程池技术,而且其中的方法很容易实现调用。 2)可以调用相关

l1371985810的博客 3044

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

AsyncTask 网络获取图片和Json数据加载到ListView上

package com.example.myzhoukaolianxi; import android.graphics.Bitmap; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View;

zhang937008487的博客 608

AsyncTask异步任务加载网络数据

AsyncTask就是异步加载网络数据。跟那个new一个子线程加载数据一样。用了这个AsyncTask就不需要再new子线程了,里面有一个线程池,最多开五个线程。。 在Android中提供了一个异步任务的类AsyncTask,简单来说,这个类中的任务是运行在后台线程中的,并可以将结果放到UI线程中进行处理,它定义了三种泛型,分别是Params、Progress和R

2016年老周要订单哗啦啦 990

Android 使用 URL 和 AsyncTask 加载网络数据

在Android中通过创建URL来读取网络数据时,如下: try { InputStream in=new URL("http://www.baidu.com").openStream(); //读取网络数据 BufferedReader reader=new BufferedReader(new InputStreamReader(in,"utf-8"));

白净垃圾桶- 787

AsyncTask异步加载和HttpURLConnection网络请求数据

//获得网络数据 private void huodeshuju() { //这里是使用线程,已注释掉 /*new Thread(){ public void run() { try { URL url=new URL(urlPath); ...

weixin_30538029的博客 159

AsyncTask异步加载以及Proxy代理模式访问网络数据

1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 使用的优点: l 简单,快捷 l 过程可控 使用的缺点: l 在使用多个异步操作和并需要进行Ui变

flying_fish_wj的博客 821

【Android笔记】AsyncTask、BaseAdapter整合异步加载用例(通过解析JSON格式数据加载网络图片内容)

什么是异步加载 异步加载就是用异步的方式去加载数据,也就是用非主线程去加载数据的意思     为什么要异步加载         原因大概有两个: 第一、  为了提高用户体验,让用户加载数据的时候不会感到明显的卡顿 第二、  另一点,就是Android要求我们这么做,耗时操作不能在主线程中执行。       异步加载最常用的两种方式:         ...

长路漫漫的歇脚处 1641

HttpURLConnection和AsyncTask异步的网络请求数据加载条目和数据库

package com.example.myapplication; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; import android.os...

haoran1195的博客 628

AsyncTask异步加载

xml文件中写一个TextView和一个ImageView,id分别是textView,imageView2

qq_40089806的博客 270

AsyncTask

implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this).build(); ImageLoader.getInstance(...

Day_feeling的博客 229
上一篇: ImageLoader加载图片的工具类
下一篇: 测试入门之定义和目的
Luck-yy
博客等级 码龄9年 48粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值