[英]Getting an image from Url in Android
我試圖從存儲在表中的URL獲取圖像,但是當我嘗試獲取圖像時,ImageView不包含任何內容,只是空白。
在下面的代碼中,我使用了畢加索來獲取圖片:
public class Imageoffam extends AppCompatActivity {
private boolean success = false; // boolean
private ConnectionClass connectionClass;
public TextView tmtmt;
public ImageView dede;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_imageoffam);
getSupportActionBar().hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
tmtmt = (TextView) findViewById(R.id.tomato) ;
dede = (ImageView) findViewById(R.id.dededede);
connectionClass = new ConnectionClass();
SyncData orderData = new SyncData();
orderData.execute("");
}
private class SyncData extends AsyncTask<String, String, String> {
String msg = "Success";
ProgressDialog progress;
@Override
protected void onPreExecute() {
progress = ProgressDialog.show(Imageoffam.this, "Synchronising",
"Please Wait...", true);
}
@Override
protected String doInBackground(String... strings) {
try {
Connection conn = connectionClass.CONN();
if (conn == null) {
msg = "Please Check Your Connection";
success = false;
} else {
String dta = getIntent().getStringExtra("blala");
String query = "SELECT Images.Fimage,family.FName,family.FInfo,family.CID FROM Images INNER JOIN family ON family.FID = Images.FID WHERE family.FInfo = (N'" +dta+ "')";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
try {
Picasso.with(Imageoffam.this).load(rs.getString("Fimage")).into(dede);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
} catch (Exception e) {
e.printStackTrace();
Writer writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer));
msg = writer.toString();
success = false;
}
return msg;
}
@Override
protected void onPostExecute(String msg) {
progress.dismiss();
Toast.makeText(Imageoffam.this, msg + "", Toast.LENGTH_LONG).show();
if (success == false) {
} else {
try {
} catch (Exception ex) {
}
}
}
}
盡管它沒有在ImageView中顯示圖像,但它沒有給出任何錯誤消息。
有人可以告訴我我在做什么錯嗎?
任何幫助,將不勝感激。
如果將圖像uri存儲在db中,則需要通過imageView.setImageUri(uri)在ImageView上設置uri; 從數據庫到uri后
使用Picasso時,不需要AsyncTask,只需執行以下操作:
Picasso.with(context).load(imageUri).into(ivBasicImage);
例如:
String imageUri = "https://i.imgur.com/tGbaZCY.jpg";
ImageView ivBasicImage = (ImageView) findViewById(R.id.ivBasicImage);
Picasso.with(context).load(imageUri).into(ivBasicImage);
您也可以嘗試Glide :
Glide.with(context).load(url).into(imageView);
我推薦使用本地Webview方法代替picasso方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.