我正在使用Picasso将图像加载到Android应用中,但是从本地主机迁移到Web服务后,图像没有加载最新图像(每次更改图像时,我都使用相同的URL),然后我尝试使用log.d显示我的URL,当我打开它时,它显示旧图像,然后尝试刷新它,将其更改为新图像,而我的Android应用也更改为新图像(第一个活动)
当我尝试从Web服务下载图像时,它已经在下载最新的图像
我还有另一个活动,该活动具有从数据库中删除图像的方法(只是删除URL),因此,当我想显示最新图像时,我需要先删除它,然后更改图像,我的应用程序将显示最新图像,但是如果我不首先删除它,它也不会显示最新图像
但是我不需要在第一次活动中删除图像,因此我需要找到一种方法来立即将图像更改为最新图像
这就是我在Android中显示图片的方式
public void F0_getPhoto(String UserId){
Call<UserDataResponse> getPhoto = mApiService.getImage(
UserId);
getPhoto.enqueue(new Callback<UserDataResponse>() {
@Override
public void onResponse(Call<UserDataResponse> call, Response<UserDataResponse>response) {
List<Image> list = new ArrayList<>();
list = response.body().getImages();
String iserror = response.body().getIserror();
if (iserror.equals("false")) {
String[] url = new String[list.size()];
url[0] = list.get(0).getImage_url();
// url[i] = userDatalist.get(i).getImages().geImage_url();
Log.d("Url ", String.valueOf(url[0]));
showPhoto(url[0]);
}
}
@Override
public void onFailure(Call<UserDataResponse> call, Throwable t){
Log.d("url TEST 2 ", "FAIL");
Log.e("debug", "onFailure: ERROR > " + t.toString());
}
});
}
showimage()
public void showPhoto(String url){
Picasso.get()
.load(url)
.fit()
.centerCrop()
.networkPolicy(NetworkPolicy.NO_CACHE)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.transform(new Form_Mhs_Menu.CircleTransform())
.into(IV_mhs);
}
这是我用于保存图像并获取图像的api
public function saveFile($file, $extension, $no_user_id)
{
// $name = round(microtime(true) * 1000) . '.' . $extension;
$name = $no_user_id . '.' . $extension;
$filedest = dirname(__FILE__) . UPLOAD_PATH . $name;
move_uploaded_file($file, $filedest);
$url = $server_ip = gethostbyname(gethostname());
$stmt = $this->conn->prepare("UPDATE user_data SET image=? WHERE no_user_id=?");
$stmt->bind_param("ss", $name, $no_user_id);
if ($stmt->execute())
return true;
return false;
}
public function getPhoto($no_user_id)
{
$stmt = $this->conn->prepare("SELECT image FROM user_data WHERE no_user_id=?");
$stmt->bind_param("s", $no_user_id);
$stmt->execute();
$stmt->bind_result($url);
$images = array();
while ($stmt->fetch()) {
$temp = array();
$absurl = 'http://topsisfhj.xyz/BimbinganPA_JSI/include/'.UPLOAD_PATH.$url ;
$temp['id'] = $no_user_id;
$temp['url'] = $absurl;
array_push($images, $temp);
}
return $images;
}