Here is buy activity code of app i want to make some changes in it first how to remove acknowledge and make project consume able and tell me how to add tiny db in it because when people buy coins after restart app coins not showing
is tiny db easy or firebase which one is easy so anyone can tell me how to add db in the code to store coins thankx
import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.EditText;import android.widget.TextView;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import com.anjlab.android.iab.v3.BillingProcessor;import com.anjlab.android.iab.v3.TransactionDetails;public class BuyActivity extends AppCompatActivity implements BillingProcessor.IBillingHandler { private BillingProcessor bp; private TextView tvSubmit, tvNext; TextView tvCoin, tvBuy; private EditText etfname, etsecondname, etaddress; private TransactionDetails purchaseTransactionDetails = null; public static String MyPREFERENCES = "inapp"; SharedPreferences sharedpreferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_buy); init(); clickListener(); } private void clickListener() { tvNext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String url = "google.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); } private void init() { sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); sharedpreferences.getBoolean("purchase", false); getSupportActionBar().hide(); etfname = findViewById(R.id.etfname); etsecondname = findViewById(R.id.et_secondname); etaddress = findViewById(R.id.et_address); tvSubmit = findViewById(R.id.tv_submit); tvCoin = findViewById(R.id.tvcoin); tvBuy = findViewById(R.id.tvbuy); tvNext = findViewById(R.id.tv_next); bp = new BillingProcessor(this, getResources().getString(R.string.play_console_license), this); bp.initialize(); } @Override public void onProductPurchased(String productId, TransactionDetails details) { int coins = sharedpreferences.getInt("coins", 0); coins = coins + 9; tvCoin.setText(coins); // store value of coins variable instead of hardcoded number sharedpreferences.edit().putInt("coins", 9).apply(); startActivity(new Intent(BuyActivity.this, ProcessingActivity.class)); finish(); Log.d("MainActivity", "onProductPurchased: "); } @Override public void onPurchaseHistoryRestored() { Log.d("MainActivity", "onPurchaseHistoryRestored: "); } @Override public void onBillingError(int errorCode, Throwable error) { Log.d("MainActivity", "onBillingError: "); } @Override public void onBillingInitialized() { Log.d("MainActivity", "onBillingInitialized: "); String premium = getResources().getString(R.string.premium); purchaseTransactionDetails = bp.getSubscriptionTransactionDetails(premium); bp.loadOwnedPurchasesFromGoogle(); tvBuy.setOnClickListener(v1 -> { if (bp.isSubscriptionUpdateSupported()) { bp.subscribe(this, premium); } else { Log.d("MainActivity", "onBillingInitialized: Subscription updated is not supported"); } }); tvSubmit.setOnClickListener(v -> { String fname, sname, address; fname = etfname.getText().toString(); sname = etsecondname.getText().toString(); address = etaddress.getText().toString(); /* if (!fname.isEmpty()) { if (!sname.isEmpty()) { if (!address.isEmpty()) {*/ int coin = sharedpreferences.getInt("coins", 0); if (coin < 5) { AlertDialog.Builder builder = new AlertDialog.Builder(BuyActivity.this); ViewGroup viewGroup = findViewById(android.R.id.content); View dialogView = LayoutInflater.from(v.getContext()).inflate(R.layout.custom_alert, viewGroup, false); builder.setView(dialogView); AlertDialog alertDialog = builder.create(); alertDialog.show(); dialogView.findViewById(R.id.buttonOk).setOnClickListener(v1 -> { alertDialog.dismiss(); if (bp.isSubscriptionUpdateSupported()) { bp.subscribe(this, premium); } else { Log.d("MainActivity", "onBillingInitialized: Subscription updated is not supported"); } }); if (sharedpreferences.getBoolean("inapp", false)) { } else { } } /* } else { Toast.makeText(this, "Address is Empty!", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(this, "Enter Second Name!", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(this, "Enter First Name!", Toast.LENGTH_SHORT).show(); }*/ }); /* if (hasSubscription()) { tvStatus.setText("Status: Premium"); } else { tvStatus.setText("Status: Free"); }*/ } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (!bp.handleActivityResult(requestCode, resultCode, data)) { super.onActivityResult(requestCode, resultCode, data); } } @Override public void onDestroy() { if (bp != null) { bp.release(); } super.onDestroy(); } private boolean hasSubscription() { if (purchaseTransactionDetails != null) { return purchaseTransactionDetails.purchaseInfo != null; } return false; }}Expand snippet
trying to adding db in the app