我想从Android执行对Amazon API的剩余调用.
Amazon要求所有ws呼叫都将使用HMAC签名(基于哈希的消息身份验证代码)进行身份验证.
我缺少与Apache Base64对象相似的对象来签署我的请求.
有没有一种简单的方法可以在Android中做到这一点,甚至更好的是有一个适用于Amazon Web服务的Android客户端(产品广告API).
查看此:http://www.delaytolerant.com/android-http-managing-base64-with-apache-commons-codec/
或者,如果有任何基于Java的Amazon客户端,您是否尝试过将这些jars包含在Android项目中?
显然,上面的链接现在不可用了.以下是Google’s cache的页面内容:
This post continues on programming
HTTP within Android. In the following,
I’ll show how to manage Base64 coded
content in Android and how to render
an image on WebView from a String that
we encoded.First,the tool to use is commons
codec package from Apache. The
documentation can be found here. The
source is available here. You can just
include the source of the package to
your project,it is all Android
compatible.The commons codec package has also
convenient method for Base64 decoding,
String imageString = "";
try {
FileInputStream fin = openFileInput("camera.jpg");
int jpeg_size = fin.available();
byte[] imagedata = new byte[jpeg_size];
fin.read(imagedata);
byte[] encodedData = Base64.encodeBase64(imagedata);
imageString = new String(encodedData);
final String mimetype = "text/html";
final String encoding = "UTF-8";
// replace below [ with html "<" and ] similarly ] with ">"
String html = "[html][body][center][img height=\"200\" width=\"200\"
src=\"data:image/jpeg;base64,"+imageString+"\"/][/center][/body][/html]";
mWebView.loadData(html,mimetype,encoding);
} catch (Exception e) {
e.printStackTrace();
}
There is also convenient Base64
decoding functionality in the package,
which can be used for example,to
decode Base64 encoded content in MIME
messages,which were covered in
prevIoUs post.