A Day In The Life

とあるプログラマの備忘録

Avatarの表示

AndroidGoogle TalkAvatarを表示する方法です。

Base64デコードしなきゃいけないなんて全く気付きませんでした。

String contact = GTalkUtils.getUserName(gtalkSession);
Cursor cursor = getContext().getContentResolver().query(
    Im.Avatars.CONTENT_URI, null, "contact='" + contact + "'", null, null);
cursor.first();
String encoded = cursor.getString(
    cursor.getColumnIndex(AvatarsColumns.DATA));
byte[] data = Base64Utils.decodeBase64(encoded); 
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
((ImageView) findViewById(R.id.avatar_image)).setImageBitmap(bm);

同じ会社の先輩Aさんのアドバイスがなければここまでたどり着くことはなかったと思います。本当に助かりました。

おかげでMame Talkの見栄えがかなりよくなりました。