Java 亚马逊通过android的rest呼叫

Java 亚马逊通过android的rest呼叫,java,android,amazon-web-services,Java,Android,Amazon Web Services,我想从Android执行对AmazonAPI的rest调用。 Amazon要求所有ws-Call都将使用HMAC签名(基于哈希的消息身份验证代码)进行身份验证。 我缺少一个类似于Apache Base64的对象来签署我的请求。 在Android中有没有一种简单的方法可以做到这一点,或者更好的方法是为Amazon web service(产品广告API)提供一个Android客户端。您应该能够在项目中包含Apache Base64包 见此: 或者,如果有任何基于Java的Amazon客户端,您是否

我想从Android执行对AmazonAPI的rest调用。 Amazon要求所有ws-Call都将使用HMAC签名(基于哈希的消息身份验证代码)进行身份验证。 我缺少一个类似于Apache Base64的对象来签署我的请求。
在Android中有没有一种简单的方法可以做到这一点,或者更好的方法是为Amazon web service(产品广告API)提供一个Android客户端。

您应该能够在项目中包含Apache Base64包

见此:

或者,如果有任何基于Java的Amazon客户端,您是否尝试过将这些JAR包含在您的Android项目中

显然,上面的链接现在已经死了。以下是来自以下网站的页面内容:

这篇文章继续关于编程 Android中的HTTP。下面,, 我将演示如何管理Base64编码 Android中的内容以及如何呈现 WebView上的图像来自 我们编码了

首先,要使用的工具是commons 来自Apache的编解码器包。这个 文档可以在这里找到。这个 资料来源可在此查阅。你可以 将包的源包含到 你的项目,都是安卓系统 兼容

commons编解码器包还提供了 Base64解码的简便方法

String imageString=”“;
试一试{
FileInputStream fin=openFileInput(“camera.jpg”);
int jpeg_size=fin.available();
字节[]图像数据=新字节[jpeg_大小];
fin.read(图像数据);
字节[]encodedData=Base64.encodeBase64(图像数据);
imageString=新字符串(encodedData);
最终字符串mimetype=“text/html”;
最终字符串编码=“UTF-8”;
//将下面的[替换为html“”
字符串html=“[html][body][center][img height=\'200\'width=\'200\'
src=\“数据:image/jpeg;base64,”+imageString+“\”/][/center][/body][/html]”;
loadData(html、mimetype、编码);
}捕获(例外e){
e、 printStackTrace();
}
还有方便的Base64 包中的解码功能, 例如,可用于 在MIME中解码Base64编码的内容 消息,这些消息包含在 以前的职位


确保将结果编码为url(signature=urlcoder.encode(signature);),否则您可能会遇到一些不幸

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();
}