我正在使用array<array<string>>
从Facebook加载照片。
主要问题是AsyncTask
(类bitmapProf
,方法 - AsyncTaskLoadPhoto
)始终返回doInBackground
。
我使用调试器和日志搜索错误但未找到错误。
这是我的代码:
null
答案 0 :(得分:0)
} catch (e: Exception) {
e.printStackTrace()
}
即使没有日志声明,您也会吞下异常。 e.printStackTrace()
在Android中没有明显效果。然后您的方法返回null
。
作为参考,如果你采用了Kotlin协同程序,这就是你的代码变得多么简单:
class MyActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
launch(UI) {
try {
imgProfile.setImageBitmap(loadImg())
} catch (e: Exception) {
// handle it here
}
}
}
private suspend fun loadImg(): Bitmap = withContext(CommonPool) {
val stringURL = "http://graph.facebook.com/userID/picture?width=150&width=150"
val imgURL = URL(stringURL)
val connection = imgURL.openConnection() as HttpURLConnection
connection.connect()
BitmapFactory.decodeStream(connection.inputStream)
}
}
此代码尚未清除,您必须检查connection.responseCode
以查看输入流是包含图像数据还是仅包含一些错误消息。
答案 1 :(得分:-1)
试试这段代码:
ImageLoader.getInstance().displayImage(imgurl, image_propertypic, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
image_propertypic.setImageBitmap(loadedImage);
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
});