我正在开发项目,我必须从服务器下载一些图像.我试过这三种方法.
毕加索:
Picasso.with(context).load(image).into(holder.image);
Run Code Online (Sandbox Code Playgroud)
滑行:
Glide.with(context).load(image).into(holder.image);
Run Code Online (Sandbox Code Playgroud)
乱射:
imageLoader.get(image, new ImageLoader.ImageListener() {
@Override
public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
holder.image.setImageBitmap(response.getBitmap());
}
@Override
public void onErrorResponse(VolleyError error) {
}
});
Run Code Online (Sandbox Code Playgroud)
毫无疑问,所有这些方法在快速Internet连接中都能很好地工作.但在2G下载20kb - 25kb的图像需要太多时间.我也试过图像调整大小和一切.但是没有从中得到好结果.我看到像亚马逊或Flipkart这样的应用程序或任何电子商务应用程序这些应用程序在慢速互联网连接中运行良好,并且还能以良好的分辨率下载所有图像.所以,我想要一些关于这些问题的专家解决方案.
我正在将 exotel 呼叫服务集成到我的一个客户 Android 应用程序中。Api 在邮递员中工作正常并接收 xml 响应,但它在 Android 应用程序中不起作用并给出 volley 401 身份验证错误。
val stringRequest = object : StringRequest(Request.Method.POST,
URL,
Response.Listener { response ->
Toast.makeText(context, "response " + response.toString(), Toast.LENGTH_SHORT).show()
Log.d("Callresponse", response.toString())
}, Response.ErrorListener { error ->
Log.d("Callresponseerror", error.message.toString())
Toast.makeText(context, "error " + error.message, Toast.LENGTH_SHORT).show()
}) {
override fun getParams(): MutableMap<String, String> {
val params = HashMap<String, String>()
params["From"] = AppSetting.getSitterMobile(context, AppConstants.PREF_MOBILE, null)
params["To"] = contact
params["CallerId"] = "*****"
params["CallType"] = "****"
return params
}
}
stringRequest.retryPolicy = DefaultRetryPolicy(10,
10, …Run Code Online (Sandbox Code Playgroud) android http-post http-status-code-401 android-volley exotel-api