我正在使用 Twitter4J 库。 我想在一个圆圈中显示用户头像个人资料。 我不熟悉使用位图,也不熟悉从服务器获取某些内容。
现在,四处搜索,我正在使用这种方式:
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
try {
SharedPreferences mSharedPreferences = getActivity().getSharedPreferences("MyPref",0);
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);
// Access Token
String access_token = mSharedPreferences.getString(
PREF_KEY_OAUTH_TOKEN, "");
// Access Token Secret
String access_token_secret = mSharedPreferences.getString(
PREF_KEY_OAUTH_SECRET, "");
AccessToken accessToken = new AccessToken(access_token,
access_token_secret);
Twitter twitter = new TwitterFactory(builder.build())
.getInstance(accessToken);
User user = twitter.showUser(accessToken.getUserId());
urldisplay = user.getProfileImageURL();
} catch (TwitterException e) {
// Error in updating status
Log.d("Twitter Update Error", e.getMessage());
}
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
final int width = mIcon11.getWidth();
final int height = mIcon11.getHeight();
final Bitmap outputBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
final Path path = new Path();
path.addCircle(
(float)(width / 2)
, (float)(height / 2)
, (float) Math.min(width, (height / 2))
, Path.Direction.CCW);
final Canvas canvas = new Canvas(outputBitmap);
canvas.clipPath(path);
canvas.drawBitmap(mIcon11, 0, 0, null);
return outputBitmap;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
但是这样每次我重新打开应用程序时都会加载图片..
我想调整位图大小并给它一个边框等,但我稍后会搜索如何执行此操作。 我认为如果当用户登录 Twitter 时我下载一次他的个人资料图片,然后每次需要时重复使用它会更好。 是否可以?做我想做的事的更好方法是什么?谢谢。
最佳答案
关于java - Android - 操作 Twitter 个人资料图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22121080/