3

大家好 :) 我正在尝试在我的应用程序中实现应用内计费,并在 GitHub 中观看 RobotMedia 的 README 我已经这样做了:

我正在尝试这个:

aba = new AbstractBillingActivity() {

        @Override
        public String getPublicKey() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public byte[] getObfuscationSalt() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public void onSubscriptionChecked(boolean supported) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onRequestPurchaseResponse(String itemId, ResponseCode response) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onPurchaseStateChanged(String itemId, PurchaseState state) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onBillingChecked(boolean supported) {
            // TODO Auto-generated method stub

        }
    };

当我尝试这样做时,字节:

aba.checkBillingSupported();

它给了我关于变量“aba”的NullPointerException

编辑

我已经这样做了:

public class Index extends AbstractBillingActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_index);

        checkBillingSupported();


        Button buy = (Button) findViewById(R.id.compra);
        buy.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                requestPurchase("android.test.purchased");


            }
        });

    }

    @Override
    public byte[] getObfuscationSalt() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getPublicKey() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onBillingChecked(boolean supported) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onSubscriptionChecked(boolean supported) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPurchaseStateChanged(String itemId, PurchaseState state) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onRequestPurchaseResponse(String itemId, ResponseCode response) {
        // TODO Auto-generated method stub

    }

}
4

1 回答 1

-1

如果您BillingController直接使用,则还需要实现IBillingObserveronPurchaseIntent尤其是。

您可能想从查看DungeonsRedux(示例代码)开始,并可能AbstractBillingActivity首先使用来熟悉 IAB。

关于您的最新编辑,除非您真的是认真的,否则您不应该使用构造函数创建活动。看起来你得到一个空指针异常,因为你的变量是空的,它可能与new用于创建活动有关。

我强烈建议您从IAB API 指南开始,一旦您对 IAB 的核心概念感到满意,然后再继续学习该库。

于 2012-09-06T08:01:20.590 回答