رفتن به مطلب

آمورش ورود با بازار و حافظه‌ی درون برنامه‌ای در جاوا


ارسال‌های توصیه شده

درود به همه عزیزان ورود با بازار توی کاتلین پیاده سازی شده. برای راحتی کار جاواکاران عزیز یه کلاس واسط نوشتم که بدون دردسر میتونید ازش استفاده کنید

اول کلاس کاتلین زیر رو به پروژه تون اضافه کنید

package com.poolakey.wrapper

import android.content.Intent
import androidx.fragment.app.FragmentActivity
import com.farsitel.bazaar.BazaarClientProxy
import com.farsitel.bazaar.core.BazaarSignIn
import com.farsitel.bazaar.core.BazaarSignInClient
import com.farsitel.bazaar.core.callback.BazaarSignInCallback
import com.farsitel.bazaar.core.model.BazaarSignInOptions
import com.farsitel.bazaar.core.model.SignInOption
import com.farsitel.bazaar.storage.BazaarStorage
import com.farsitel.bazaar.storage.callback.BazaarStorageCallback
/**
 * Created by Mohamadreza Shahpiri on 11/22/2024.
 * Answercenter.ir
 ***************************************************
 */
class BazaarSignInWrapper {
    private var client: BazaarSignInClient? = null
    private var activity: FragmentActivity? = null
    fun initialize(activity: FragmentActivity) {
        val signInOption = BazaarSignInOptions.Builder(SignInOption.DEFAULT_SIGN_IN).build()
        client = BazaarSignIn.getClient(activity, signInOption)
    }

    fun startSignInIntent() {
        val intent = client?.getSignInIntent()
        activity?.startActivityForResult(intent, 1)
    }

    fun getAccountFromIntent(intent: Intent) =
        BazaarSignIn.getSignedInAccountFromIntent(intent)

    fun getLastSignedInAccount(callback: BazaarSignInCallback) =
        BazaarSignIn.getLastSignedInAccount(activity!!, activity, callback)

    fun getLastSignedInAccountSync() =
        BazaarSignIn.getLastSignedInAccountSync(activity!!, activity)

    fun saveData(
        data: ByteArray,
        callback: BazaarStorageCallback
    ) {
        BazaarStorage.saveData(
            context = activity!!, owner = activity,
            data = data, callback = callback
        )
    }

    fun getSavedData(
        callback: BazaarStorageCallback
    ) {
        BazaarStorage.getSavedData(
            context = activity!!, owner = activity,
            callback = callback
        )
    }

    fun isNeededToUpdateBazaar() = BazaarClientProxy.isNeededToUpdateBazaar(activity!!)

    fun showInstallBazaarView() = BazaarClientProxy.showInstallBazaarView(activity!!)

    fun showUpdateBazaarView() = BazaarClientProxy.showUpdateBazaarView(activity!!)
}

به شکل زیر هم توی جاوا میتونید استفاده کنید

package com.poolakey.core;

import android.content.Intent;
import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;

import com.farsitel.bazaar.BazaarResponse;
import com.farsitel.bazaar.core.callback.BazaarSignInCallback;
import com.farsitel.bazaar.core.model.BazaarSignInAccount;
import com.farsitel.bazaar.storage.callback.BazaarStorageCallback;
import com.poolakey.wrapper.BazaarSignInWrapper;

public class MainActivity extends FragmentActivity {
    private BazaarSignInWrapper bazaarSignInWrapper;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        bazaarSignInWrapper.initialize(this);
        bazaarSignInWrapper.startSignInIntent();
        bazaarSignInWrapper.getLastSignedInAccount(new BazaarSignInCallback() {
            @Override
            public void onAccountReceived(BazaarResponse<BazaarSignInAccount> account) {

            }
        });
        bazaarSignInWrapper.saveData("test data".getBytes(), new BazaarStorageCallback() {
            @Override
            public void onDataReceived(@Nullable BazaarResponse<byte[]> response) {
                  if (response!=null){
                      String data= new String(response.getData());
                  }
            }
        });
        bazaarSignInWrapper.getSavedData(new BazaarStorageCallback() {
            @Override
            public void onDataReceived(@Nullable BazaarResponse<byte[]> response) {
                if (response!=null){
                    String data= new String(response.getData());
                }
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        BazaarSignInAccount account = bazaarSignInWrapper.getAccountFromIntent(data);
        if (account != null) {
            String accountId = account.getAccountId();
        }
    }
}

بقیه متدها رو هم به راحتی میتونید استفاده کنید.

مانا باشید :answercenter:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...