Java:从UTF8字符串创建可绘制
我有以下代码:Java:从UTF8字符串创建可绘制,java,android,image,drawable,Java,Android,Image,Drawable,我有以下代码: public void onSuccess(String response) { Log.i("EOH",response); Drawable d = null; Object content=response.getBytes(); InputStream is = (InputStream)content; d = Drawable.createFromStream(is, "src"); ImageView captcha
public void onSuccess(String response) {
Log.i("EOH",response);
Drawable d = null;
Object content=response.getBytes();
InputStream is = (InputStream)content;
d = Drawable.createFromStream(is, "src");
ImageView captcha = (ImageView)findViewById(R.id.imageView2);
captcha.setImageDrawable(d);
}
下面是我得到的响应字符串(来自LogCat):
08-12 11:33:52.223:INFO/EOH(10244):巴布亚新几内亚
2008-12 11:33:52.223:INFO/EOH(10244):08-12 11:33:52.223:
信息/EOH(10244):������
IHDR������D������2.������%Wé����IDAThíSgÏÙM²\R 08-12
11:33:52.223:INFO/EOH(10244):*h=(xß-¥:Ni}ñ¥:}S+µ3ötÕÕ
Äî#$7ÙÝd¾H'£²$8ÝÏ«äÙßîóï{��¦,²Ê2)Ë��Alpha,²<代码>Ê2)Ë��阿尔法,²Ê2)Ë��阿尔法,dgÎMý0uýýýýýý/|þýýýýýýCUW��lëcëaëIVRKþ>wKëgX]góY¼ 12{zB\o«&0��t] oìììèè}§èYXièwq;�� ä 08-12 11:33:52.223:INFO/EOH(10244): I.}#Bh+»ñ=ÒNF3Ø}��-ÞSíë
AáN]*ô5q·¨0þW.SÌ美元§åJ.阿尔菲特尔;P¸@t¸OèPr~D
08-12 11:33:52.223:INFO/EOH(10244):
fÝÆfĸ1ú��——KÓdMÓ��帕萨~��_Ø@lðU|¸k²g·m³+��席[k,q,q,ux],g2g,v~(?):j(}:} =(C c c)d,y*πqqPR,i,xh,h,y,y,y,p,q]
H#}{
��tDHýQcÁJÝÀÔ
TY��uÖ*,HÕEÕ3||ïïkM#Q}_��¤Ê©%¦¤·Ê��,Áä>Á4yÁÁ^ 3ø×PÜ/©RLwDáov]\_IaÔIϧ��Ðy|7ÜÎÎ4q®ÎsÐ9美元;nÏqùùùùùùsùsù,GtFGènWj½rºlXó240;½&3qofù
08-12 11:33:52.223:INFO/EOH(10244):
IÎYÖs[6ÕklÕr��qNlI®)
%ÃÝ|/ðýýýýýýýýýq·brPýK=S��w mAiÔE:wéKϧXÖ-����GxV;BÙtÚtÜÜÜÜ=UJ¨½*c{��dM+KQ9UFc;O\J��@[CÓåu:VQÞÌò��狡猾的��狡猾的��SLY0eÀe§~)l1+��������IEND®B`
如您所见,我正在尝试将一个名为“response”的字符串转换为可绘制对象。问题是,图像总是空白的
有人知道我有什么办法可以解决这个问题吗
多谢各位
编辑:
这也不管用(
试试这个:
BitmapDrawable drawable = BitmapFactory.decodeFile(response);
或者,如果不需要绘图,可以执行以下操作
Bitmap bm = BitmapFactory.decodeFile(response);
ImageView captcha = (ImageView)findViewById(R.id.imageView2);
captcha.setImageBitmap(bm);
已编辑
对于联机文件,您可以使用以下选项:
BitmapFactory.decodeStream(is)
以下是我正在使用的全部功能(不工作…):
您好,非常感谢您的回复-刚从午餐时间回来-我会尝试一下,然后再回复您…嘿,尝试集成您的代码,但没有成功;(图像显示为空白…等等-这是本地文件还是来自web的文件?这是来自web的字符串响应。抱歉,应该更清楚。嘿,我尝试了你的编辑-仍然无法工作…(请查看我的编辑)
BitmapFactory.decodeStream(is)
private void captchaLoad() {
AsyncHttpClient myClient = new AsyncHttpClient();
PersistentCookieStore myCookieStore = new PersistentCookieStore(context);
myClient.setCookieStore(myCookieStore);
RequestParams params = new RequestParams();
myClient.post("http://www.extremetech.com/wp-content/uploads/2011/08/amd-logo-106x59.jpg", params, new AsyncHttpResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onSuccess(String response) {
Log.i("EOH",response);
ByteArrayInputStream bis = null;
try {
bis = new ByteArrayInputStream(response.getBytes("UTF8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Bitmap bm=BitmapFactory.decodeStream(bis);
ImageView imgView = (ImageView)findViewById(R.id.imageView2);
imgView.setImageBitmap(bm);
}
@Override
public void onFailure(Throwable e) {
}
});
}