AndroidでAmazon amazon In App Purchase v2.0(購入タイプの権利)を統合する必要があります。私はamazon sdkからサンプルプロジェクトをダウンロードして入手しています。 Amazonの店舗で1つの商品で新しいアプリを作成するとき。 jsonファイルをダウンロードし、mnt/sdcard /(デバイスストレージ)パスを入れてプロジェクトを実行すると、 "実装問題が検出されました"という通知が表示されますが、 "購入"ボタンを押すと "成功"メッセージが表示されます。どのように私はそれを信じる?私はアマゾンのリンクを参照しましたが、私はそれをキャッチできませんでした。誰でも私を導き、これを実装する方法、またはチュートリアルのリンクをいくつか与える。Android - Amazon In-App Purchase V2.0
0
A
答えて
-1
私は、このためにあなたのコードを送信しています希望ので、その有用、 MainActivity.java:
package com.example.imagecamera;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.util.Date;
import java.util.List;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.ResponseHeaderOverrides;
import com.amazonaws.services.s3.model.S3ObjectSummary;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.StrictMode;
import android.provider.MediaStore;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private final int CAMERA_RESULT = 1;
AmazonS3Client s3Client;
private final String Tag = getClass().getName();
Button button1, button2;
ImageView imageView1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
imageView1 = (ImageView) findViewById(R.id.imageView1);
button1.setOnClickListener(this);
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
s3Client = new AmazonS3Client(new BasicAWSCredentials(
"AKIAJIJQGCIZE26IG4SQ",
"TiZiqjWRSBMZXDqA7Tnue2IPmI1qUDHQkVldABJR"));
ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
.withBucketName(Constants.BUCKET_NAME).withPrefix(
"processedfiles/pixel");
ObjectListing objectListing;
do {
objectListing = s3Client.listObjects(listObjectsRequest);
for (S3ObjectSummary objectSummary : objectListing
.getObjectSummaries()) {
System.out.println(" - " + objectSummary.getKey()
+ " " + "(size = " + objectSummary.getSize()
+ ")");
Log.e("objects", objectSummary.getKey());
}
listObjectsRequest.setMarker(objectListing.getNextMarker());
} while (objectListing.isTruncated());
}
});
}
public void onClick(View v) {
PackageManager pm = getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Intent i = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT,
MyFileContentProvider.CONTENT_URI);
startActivityForResult(i, CAMERA_RESULT);
} else {
Toast.makeText(getBaseContext(), "Camera is not available",
Toast.LENGTH_LONG).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i(Tag, "Receive the camera result");
if (resultCode == RESULT_OK && requestCode == CAMERA_RESULT) {
File out = new File(getFilesDir(), "newImage.jpg");
if (out.exists()) {
try {
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
s3Client = new AmazonS3Client(new BasicAWSCredentials(
"AKIAJIJQGCIZE26IG4SQ",
"TiZiqjWRSBMZXDqA7Tnue2IPmI1qUDHQkVldABJR"));
PutObjectRequest por = new PutObjectRequest(
Constants.BUCKET_NAME, "processedfiles/pixel/"
+ "010test1" + ".jpg", out);
s3Client.putObject(por);
Log.e("out", "exist");
}
} catch (Exception e) {
Log.e("out", e.toString());
Toast.makeText(getApplicationContext(), e.toString(), 5000)
.show();
}
}
if (!out.exists()) {
Toast.makeText(getBaseContext(),
"Error while capturing image", Toast.LENGTH_LONG)
.show();
return;
}
Bitmap mBitmap = BitmapFactory.decodeFile(out.getAbsolutePath());
imageView1.setImageBitmap(mBitmap);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
imageView1 = null;
}
}
別のクラスConstants.java:
public class Constants {
public static final String AWS_ACCOUNT_ID = "361005331374";
public static final String COGNITO_POOL_ID = "us-east-1:9ccba6ed-7c1c-4c9b"
// Note, the bucket will be created in all lower case letters
// If you don't enter an all lower case title, any references you add
// will need to be sanitized
public static final String BUCKET_NAME = "kiawebsite";
}
はイメージのためaotherクラスは、カメラからのフェッチ MyFileContentProvider.java:
package com.example.imagecamera;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
public class MyFileContentProvider extends ContentProvider {
public static final Uri CONTENT_URI = Uri
.parse("content://com.example.imagecamera/");
private static final HashMap<String, String> MIME_TYPES = new
static {
MIME_TYPES.put(".jpg", "image/jpeg");
MIME_TYPES.put(".jpeg", "image/jpeg");
}
@Override
public boolean onCreate() {
try {
File mFile = new File(getContext().getFilesDir(), "newImage.jpg");
if (!mFile.exists()) {
mFile.createNewFile();
}
getContext().getContentResolver().notifyChange(CONTENT_URI, null);
return (true);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
@Override
public String getType(Uri uri) {
String path = uri.toString();
for (String extension : MIME_TYPES.keySet()) {
if (path.endsWith(extension)) {
return (MIME_TYPES.get(extension));
}
}
return (null);
}
@Override
public ParcelFileDescriptor openFile(Uri uri, String mode)
throws FileNotFoundException {
File f = new File(getContext().getFilesDir(), "newImage.jpg");
if (f.exists()) {
return (ParcelFileDescriptor.open(f,
ParcelFileDescriptor.MODE_READ_WRITE));
}
throw new FileNotFoundException(uri.getPath());
}
@Override
public Cursor query(Uri url, String[] projection, String selection,
String[] selectionArgs, String sort) {
throw new RuntimeException("Operation not supported");
}
@Override
public Uri insert(Uri uri, ContentValues initialValues) {
throw new RuntimeException("Operation not supported");
}
@Override
public int update(Uri uri, ContentValues values, String where,
String[] whereArgs) {
throw new RuntimeException("Operation not supported");
}
@Override
public int delete(Uri uri, String where, String[] whereArgs) {
throw new RuntimeException("Operation not supported");
}
}
関連する問題
- 1. InApp purchase ID:
- 2. InApp Purchase Clarification
- 3. Inapp-purchaseアイテムが表示されない
- 4. InApp Purchase swift iosで年間価格を表示
- 5. Android InAPP購入?
- 6. Android InApp請求書ラッパー?
- 7. android inapp請求エラーIInAppBillingService.aidl
- 8. Android InApp購入確認
- 9. Androidのinappカメラとビデオキャプチャ
- 10. Amazon In-App Purchaseサブスクリプション領収書にnullサブスクリプション期間がある
- 11. Google InApp Bilingテスト購入
- 12. In App Purchase-Unlock機能
- 13. Apple In App Purchase
- 14. Android InApp購入の問題(-1002:不正な応答が届きました)
- 15. android amazon s3 upload
- 16. Amazon java.lang.VerifyError Android
- 17. がInAppブラウザ:アクションバーが
- 18. チェックインの方法App Purchase Purchase Auto Renewable Subscriptionが有効です
- 19. App Purchase Purchaseで機能しない - iOS Swift StoreKit
- 20. ESP8266とUSBasp V2.0
- 21. Kinect v2.0 FaceFrameResult.FaceRotationQuaternion NAN
- 22. Vue.js v2.0デリメータ
- 23. Apple inapp購入
- 24. iphone-inapp購入
- 25. iPhone InApp購入
- 26. アップルInApp購入
- 27. InApp購入インターフェイスガイドライン
- 28. Couchbase v2.0でドキュメントを入手
- 29. AndroidのInApp課金エラー:IABの活動の結果でのNULLデータ
- 30. Amazon AppStore for Android Api?
ありがとうございました。あなたは質問を読んで、理解できなかった文があれば尋ねます。 – Sakthi