Open LiangGaoUser opened 4 years ago
遇到的问题: 1.有时会出现卡顿无法加载出所需要的图片,经过分析是用来下载网络图片的Util中,conn.connect()出现了问题,原因是没有设置conn.setConnectTimeout(200);和conn.setReadTimeout(200); 完整的Util代码如下
package com.lianggao.whut.androidebook.Utils;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import static android.content.ContentValues.TAG;
public class Util {
/**
* 根据一个网络连接(String)获取bitmap图像
*
* @param imageUri
* @return
* @throws MalformedURLException
*/
public static Bitmap getbitmap(String imageUri) {
Log.v(TAG, "getbitmap:" + imageUri);
// 显示网络上的图片
Bitmap bitmap = null;
try {
URL myFileUrl = new URL(imageUri);
HttpURLConnection conn = (HttpURLConnection) myFileUrl
.openConnection();
conn.setDoInput(true);
conn.setConnectTimeout(200);
conn.setReadTimeout(200);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
Log.v(TAG, "image download finished." + imageUri);
} catch (OutOfMemoryError e) {
e.printStackTrace();
bitmap = null;
} catch (IOException e) {
e.printStackTrace();
Log.v(TAG, "getbitmap bmp fail---");
bitmap = null;
}
return bitmap;
}
}
2.在自己新手机上安装应用时,无报错ClassNotFoundException: Didn't find class "org.apache.http.conn.scheme.SchemeRegistry",无法进入该Fragment页面。经过查找是高版本的安卓Android 6.0 版移除了对 Apache HTTP 客户端的支持。需要在配置文件中加入以下内容
3.新手机上调用QQ进行登录时,只能出现昵称,无法显示图片,报错Cleartext HTTP traffic to xxx not permitted 参考链接
1.在Activity中进行唤醒登录 2.在Fragment中进行唤醒登录 参考链接1 参考链接2 如果在Fragment中使用,需要更改QQLoginManager中QQLoginManger初始化方法, 这是原来的
这是新加的
这样就能够区别是在Activity还是在Fragment中