【发布时间】:2013-06-19 10:08:43
【问题描述】:
我正在开发一个连接到 facebook 并将用户的个人资料图像保存在设备内部存储中的 Android 应用程序。
这是我的代码:
private void getFacebookUserProfilePicture(String userAccessToken)
{
String url = Constants.FB_PROFILE_IMAGE_URL + userAccessToken;
AsyncHttpClient client = new AsyncHttpClient();
client.get(url, new AsyncHttpResponseHandler()
{
@Override
public void onSuccess(String response)
{
saveUserProfileImage(response.getBytes());
}
});
}
private void saveUserProfileImage(byte[] imageBytes)
{
Log.v(TAG, "Save user image");
FileOutputStream fOut = null;
try
{
fOut = openFileOutput(Constants.FB_PROFILE_IMAGE_FILE_NAME, Context.MODE_PRIVATE);
fOut.write(imageBytes);
fOut.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
}
我正在使用 Android 模拟器进行测试,我已使用 Eclipse DDMS 将文件保存到我的 PC,但我无法打开它。
我做错了什么?我保存了一个 jpg 扩展名。
或者,问题可能是:如何将byte[] 保存为 JPG 图片?
如果我在浏览器上测试 url,我会得到一个 2,47KB 的图像。我从设备上复制的图像是 4,26KB。
【问题讨论】:
-
你有什么错误吗??
-
不,我没有收到任何错误。
-
首先,您不能将字符串转换为字节。您必须将图像转换为字节数组..
-
你得把图片转换成字节数组什么意思?
-
你只有图像字符串,但没有图像。如果您有任何图像,那么我们可以转换为字节数组..