Hi all,
I have already showed you how to implement in app purchase in Android.
Please go through this post before reading this article.
This is how the MainActivity source code will look like.
package com.coderzheaven.inappdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; import com.coderzheaven.android.util.IabHelper; import com.coderzheaven.inapp.InAppPurchase; import com.coderzheaven.inapp.InAppStateListener; public class MainActivity extends Activity implements OnClickListener, InAppStateListener { static final String TAG = "INAPPTESTING"; // INAPP IabHelper mHelper; InAppPurchase inapp; static String SKU_INAPPITEM_ID = "android.test.purchased"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onClick(View v) { if (v.getId() == R.id.button_query) { showToast("Querying Items"); inapp = new InAppPurchase(this, this, SKU_INAPPITEM_ID); mHelper = inapp.QueryInventry(); } else { if (inapp != null) inapp.initiatePurchase(); else showToast("Please click query items before purchasing"); } } public void showToast(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); ; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data); // Pass on the activity result to the helper for handling if (!mHelper.handleActivityResult(requestCode, resultCode, data)) { // not handled, so handle it ourselves (here's where you'd // perform any handling of activity results not related to in-app // billing... super.onActivityResult(requestCode, resultCode, data); } else { Log.d(TAG, "onActivityResult handled by IABUtil."); } } // IN APP PURCHASE LISTENERS @Override public void onInAppInitialiseError() { System.out.println("onInAppInitialiseError"); showToast("In App initialise Error."); } @Override public void onInAppInitialiseSuccess() { System.out.println("onInAppInitialiseSuccess"); showToast("In App initialise Success."); } @Override public void onQueryInventryCompleted() { System.out.println("onQueryInventryCompleted"); //showToast("Querying Items Completed."); } @Override public void onQueryInventryError(String message) { System.out.println("onQueryInventryError : "); showToast("Querying Items Error."); } @Override public void onAlreadyPurchased(String inappItemID) { System.out.println("onAlreadyPurchased"); showToast("Item already Purchased."); } @Override public void onItemNotPurchased(String inappItemID) { System.out.println("onItemNotPurchased : " + inappItemID); showToast("Item not purchased"); } @Override public void onPurchaseSuccessfull(String inappItemID) { System.out.println("onPurchaseSuccessfull : " + inappItemID); showToast("Purchase Successful"); } @Override public void onPurchaseError(String inappItemID, String message) { System.out.println("onPurchaseError : " + inappItemID); showToast("Purchase Error"); } }
You can download the complete source code from here itself.
The link is dead
Jan, Sorry for the broken links, I have updated the links. Please have a look and let me know. Thanks.