この記事はAndroidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Javaでの開発経験、XML構文規則、Androidのアプリ開発経験がある方を対象としています。
Androidのアプリ開発でお役にたててれば、嬉しいです。
(これからAndroidのアプリ開発やJavaでの開発を始めたい方への案内は、記事の最後で紹介します)
Billing Library8で変更になったQueryProductDetailsResultに対応する
Billing Library7までの移行についてはこちら(↓↓↓)
QueryProductDetailsResultの対応
Billing7からBilling8に移行する場合、QueryProductDetailsResultの変更の影響でビルドエラーになります。
今回はビルドエラーの対応方法を紹介します。
Java対応前コーディング(参考)
購入可能リスト取得でqueryProductDetailsAsyncを使用して、ProductDetailsを取得します。
private final List<ProductDetails> arrayProductDetails = new ArrayList<>();
:
// 購入可能リスト取得 //
public void queryProductDetailsAsync(String product, OnSkuDetailsResponseListener onSkuDetailsResponseListener) {
List<QueryProductDetailsParams.Product> productList = new ArrayList<>();
productList.add(QueryProductDetailsParams.Product.newBuilder()
.setProductId(product)
.setProductType(BillingClient.ProductType.INAPP)
.build());
QueryProductDetailsParams.Builder params = QueryProductDetailsParams.newBuilder();
params.setProductList(productList);
billingClient.queryProductDetailsAsync(params.build(), (billingResult, list) -> {
// List<ProductDetails>
arrayProductDetails.addAll(list);
onSkuDetailsResponseListener.skuDetailsResponse(billingResult.getResponseCode());
});
}
:
queryProductDetailsAsyncから返却されるQueryProductDetailsResultをList<ProductDetails>に展開します。
Java対応後コーディング
QueryProductDetailsResultからProductDetailsとUnfetchedProductを取得できるようなりました。
ProductDetailsはgetProductDetailsListで取得します。
private final List<ProductDetails> arrayProductDetails = new ArrayList<>();
:
// 購入可能リスト取得 //
public void queryProductDetailsAsync(String product, OnSkuDetailsResponseListener onSkuDetailsResponseListener) {
List<QueryProductDetailsParams.Product> productList = new ArrayList<>();
productList.add(QueryProductDetailsParams.Product.newBuilder()
.setProductId(product)
.setProductType(BillingClient.ProductType.INAPP)
.build());
QueryProductDetailsParams.Builder params = QueryProductDetailsParams.newBuilder();
params.setProductList(productList);
billingClient.queryProductDetailsAsync(params.build(), (billingResult, list) -> {
// List<ProductDetails>
arrayProductDetails.addAll(list.getProductDetailsList());
onSkuDetailsResponseListener.skuDetailsResponse(billingResult.getResponseCode());
});
}
:
getProductDetailsListでProductDetailsを取り出して、List<ProductDetails>に展開します。
今回は、ここまでです。
このスペックでこの値段、アリですね♪
誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にあるコメントか、
こちらから、お願いいたします♪
ポチッとして頂けると、
次のコンテンツを作成する励みになります♪

これからAndroidのアプリ開発やJavaでの開発を始めたい方へ
初めての Android のアプリ開発では、アプリケーション開発経験がない方や、
アプリケーション開発経験がある方でも、Java や C# などのオブジェクト指向言語が初めての方は、
書籍などによる独学ではアプリ開発できるようになるには、かなりの時間がかかります。
オンラインスクールでの習得をおススメします。
未経験者からシステムエンジニアを目指すのに最適です。まずは無料相談から♪

未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪

カリキュラムとサポートがしっかりしています。お得なキャンペーンとかいろいろやっています♪

ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適です。まずは無料オンライン相談から♪

参考になったら、💛をポッチとしてね♪
コメント欄