Android 如何每隔几秒从 HTTP 加载图像
Android how to make images load from HTTP every few seconds
我的图像是从 HttpURLConnection 加载的。
我有 3 张图片,想在一个 ImageView 中每 2 秒更改一次。
例如,image1 -> image2 -> image3 -> image1 -> image2 ...
目前,我的代码如下:
Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);
Picasso.with(this).load(BASE_URL + "admin/"+image2).fit().centerInside().into(ivImage);
Picasso.with(this).load(BASE_URL + "admin/"+image3).fit().centerInside().into(ivImage);
使用以下方法...
private void repeatTask(int counter) {
switch (counter) {
case 0:
Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);
break;
case 1:
Picasso.with(this).load(BASE_URL + "admin/"+image2).fit().centerInside().into(ivImage);
break;
case 2:
Picasso.with(this).load(BASE_URL + "admin/"+image3).fit().centerInside().into(ivImage);
break;
default:
//not possible
break;
}
final int newCounter = counter + 1;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
repeatTask(newCounter == 3 ? 0 : newCounter);
}
}, 2000);
}
这将继续每 2 秒更改一次您的图像。在您的 onCreate() 方法中像这样调用此方法以启动任务...
repeatTask(0);
我的图像是从 HttpURLConnection 加载的。
我有 3 张图片,想在一个 ImageView 中每 2 秒更改一次。
例如,image1 -> image2 -> image3 -> image1 -> image2 ...
目前,我的代码如下:
Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);
Picasso.with(this).load(BASE_URL + "admin/"+image2).fit().centerInside().into(ivImage);
Picasso.with(this).load(BASE_URL + "admin/"+image3).fit().centerInside().into(ivImage);
使用以下方法...
private void repeatTask(int counter) {
switch (counter) {
case 0:
Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);
break;
case 1:
Picasso.with(this).load(BASE_URL + "admin/"+image2).fit().centerInside().into(ivImage);
break;
case 2:
Picasso.with(this).load(BASE_URL + "admin/"+image3).fit().centerInside().into(ivImage);
break;
default:
//not possible
break;
}
final int newCounter = counter + 1;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
repeatTask(newCounter == 3 ? 0 : newCounter);
}
}, 2000);
}
这将继续每 2 秒更改一次您的图像。在您的 onCreate() 方法中像这样调用此方法以启动任务...
repeatTask(0);