如何制作每30秒更新一次的照片?

时间:2016-06-19 12:17:15

标签: android

如何制作每30秒更新一次的照片?

ImageView imageView = (ImageView) findViewById(R.id.imageView);
Picasso.with(this).load("http://i.imgur.com/DvpvklR.png").memoryPolicy(MemoryPolicy.NO_CACHE).networkPolicy(NetworkPolicy.NO_CACHE).into(imageView);

2 个答案:

答案 0 :(得分:0)

你想要使用类似线程的东西来做这件事。

例如,在图片视图下方:

Runnable imageUpdater = new Runnable() {
    @Override
    public void run() {
        while (true) {
             try {
                 sleep(30000); // 30 seconds in milliseconds
            } catch(InterruptedException e) {
                 // Someone called thread.interrupt() and tried
                 // to stop the thread executing
                 return;
            }

            // Here load the image in the same way as above:
            // But you will need to go onto the UI thread first.
            image.post(new Runnable() {
                 public void run() {
                     Picasso.with(YourActivity.this).load( "http://i.imgur.com/DvpvklR.png").memoryPolicy(MemoryPolicy.NO_CACHE).networkPolicy(NetworkPolicy.NO_CACHE).into(imageView);
                 }
            });
         }
    }
};

然后你就开始了runnable:

Handler handler = new Handler();
handler.post(imageUpdater);

答案 1 :(得分:0)

    String[] imageLink = {http://i.imgur.com/DvpvklR.png, 
                              http://i.imgur.com/DvpvklR.png, http://i.imgur.com/DvpvklR.png};

    int position = 0;

    new Timer().scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(runnable);    
            }
        }, 30 * 1000, 30*1000);

    Runnable runnable = new Runnable() {
        @Override
        public void run() {
           Picasso.with(this).load(imageLink[position%imageLink.length]).memoryPolicy(MemoryPolicy.NO_CACHE).networkPolicy(NetworkPolicy.NO_CACHE).into(imageView);
           position++;
         }
    };

希望上面的代码可以帮到你:)