【问题标题】:Android Arraylist Items send in groupsAndroid Arraylist Items 分组发送
【发布时间】:2014-11-07 03:29:52
【问题描述】:

我想知道,如何以小组形式发送 arraylist 的项目,意思是说我在 arraylist 中有 100 个项目,我想分组发送项目,第一次将 4 个项目发送到服务器,延迟 1 或 2 分钟后接下来的 4 个项目发送到服务器,依此类推到 arraylist 项目的末尾。 谢谢

【问题讨论】:

    标签: android loops arraylist items


    【解决方案1】:

    也许你可以使用 Timer 和 TimerTask。

    这样,

    static int DELAY_TIME = 60000; // ms, 1 min = 60s = 60000s, your delay time
    Timer mTimer = new Timer();
    TimerTask mTimerTask = new TimerTask() {
            @Override
            public void run() {
                try {
                    // TODO: Your code
    
                } catch (Exception e) {
                    e.printStackTrace();
    
                }
            }
        };
    
        mTimer.schedule(mTimerTask, 0, DELAY_TIME);
    }
    

    【讨论】:

      【解决方案2】:

      你可以创建一个Runnable,然后使用Handler类的postDelayed方法。 每次执行 Runnable 的 Run 方法时,检查是否还需要发送更多的项目,如果是,则再次使用 postDelayed。

      Handler handler = new Handler();
      ArrayList mMyList;
      
      public void sendToServer(ArrayList aList) {
      
        mMyList = aList;
      
        handler.post(senderRunnable);
      
      }
      
      int mLastSendIndex = 0;
      Runnable senderRunnable = new Runnable(){
      
      @override
      void Run() {
      
      // Http call to the sever here, sending 4. 
      mLastSendIndex +=4;
      if (mLastSendIndex < mMyList.size()) {
          handler.postDelayed(senderRunnable, 4000) // 4 seconds
        } 
       }
      }
      

      【讨论】:

      • 您好 hmartinezd 感谢您的快速回复,我是 Android 和编程新手,我不知道如何编写此算法。你能帮帮我吗?
      • 添加了一些示例代码,抱歉造成混乱,但我正在用手机打字。
      猜你喜欢
      • 2018-11-03
      • 1970-01-01
      • 2020-07-18
      • 2013-03-26
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多