XListView

package com.liulailin.day09_xlistview;

import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;

import com.bwei.utils.XListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {

    private List<String> list;


    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            //刷新适配器
            adapter.notifyDataSetChanged();

            close();
        }
    };
    private Myadapter adapter;
    private XListView lv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initData();

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


        //可以上拉
        lv.setPullLoadEnable(true);
        //可以下拉
        lv.setPullRefreshEnable(true);


        lv.setXListViewListener(this);
        adapter = new Myadapter();

        lv.setAdapter(adapter);
    }


    public void close(){
        //停止加载更多
        lv.stopLoadMore();
        //停止刷新
        lv.stopRefresh();

        lv.setRefreshTime("2017:8:10");

    }


    /*
        下拉刷新时会调用此方法
     */
    @Override
    public void onRefresh() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                list.add(0,"给你范冰冰");


                handler.sendEmptyMessage(0);

            }
        },2000);

    }

    /**
     * 加载更多时会调用此方法
     */
    @Override
    public void onLoadMore() {

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

                list.add("给你很多个范冰冰");

                handler.sendEmptyMessage(0);

            }
        },2000);
    }


    class Myadapter extends BaseAdapter{

        @Override
        public int getCount() {
            return list.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) {

            TextView tv = new TextView(MainActivity.this);
            tv.setTextSize(25);
            tv.setText(list.get(position));
            return tv;
        }
    }


    /**
     * 初使化数据用的
     */
    private void initData() {
        list = new ArrayList<>();
        for (int x=0;x<10;x++){
            list.add("给我一个妹子"+x);
        }

    }

}

内容概要:本文介绍了如何利用RocketMQ消息队列构建“边缘AI推理”赛题的弹性数据管道,涵盖消息轨迹、延迟消息、Pop消费模式等核心概念,并结合实际计算机竞赛场景,展示了在高丢包网络环境下实现可靠消息传输与处理的技术方案。通过自定义延迟级别、消息压缩切片、灰度消费等技巧,支持大规模AI图像上传、云端聚合、结果回传及全程审计。代码案例涉及边缘侧C++发送、Java消费者合并分片、Pop模式保障离线续传以及消息轨迹生成比赛报告,全面支撑高并发、低延迟、高可靠的竞赛需求。未来将融合MQTT接入、AI原生调度与绿色计算技术,进一步优化系统性能与能效。; 适合人群:具备一定分布式系统和消息中间件基础,参与或指导计算机类学科竞赛(如边缘计算、AI识别赛道)的研发人员、高校师生及技术教练;熟悉Java、Python、C++编程及相关SDK使用的开发者。; 使用场景及目标:①在高丢包、弱网环境下构建稳定的边缘AI数据通道;②实现AI任务的延迟调度、流量灰度、分片传输与结果追踪;③为竞赛提供可审计、可监控、可扩展的消息基础设施,确保公平性与实时性;④探索RocketMQ在智能制造、智慧城市等真实工业场景中的教学与应用落地。; 阅读建议:建议结合Kubernetes集群环境和实际竞赛平台进行代码实践,重点关注Pop模式、消息切片聚合、轨迹追踪等关键技术的实现细节,并关注RocketMQ 5.x新特性在AI与物联网场景下的演进方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值