首页 > 解决方案 > 如何使用 Kotlin Android Studio 中的 SharedPreferences 保存从 API 获取的数据

问题描述

我曾经Retrofit进行过 API 调用。现在我想使用SharedPreferences并检查以前的促销数据方法保存数据。促销是我使用的关键字。

我创建了一个改造实例,声明了 API 服务并在 viewmodel 类中创建了一个必需的函数。现在我创建了一个getpromotinalDetails用于FragmentHome保存数据的方法。在onViewCreated方法中,doInitialSetup()方法已创建,我将检查以前的促销数据方法。

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    doInitialSetup()
    getPromotionalDetails()
}

private fun getPromotionalDetails() {
    mUserViewModel?.getPromotionalDetails()?.observe(this, Observer { promotionBanner ->
        if (promotionBanner.apiStatus == ApiStatusTypes.SUCCESS) {
            //todo: save data
        } else {
            //Log.d("response", "failed")
        }
    })
}

标签: androidjsonkotlinsharedpreferencesretrofit2

解决方案


对于安多里德

//这些代码用于保存从api接收的json数据*

try 
{
String dataReceived=jsonObject.setString("data");
SharedPreferences sharedpreferences = getSharedPreferences("mydata", Context.MODE_PRIVATE); 
Editor editor = sharedpreferences.edit();
editor.putString("saveddata",dataReceived);
editor.commit();
}
catch(Exception e)
{}

//这些代码用于获取存储在共享首选项中的数据*

 SharedPreferences sharedpreferences = getSharedPreferences("mydata",
                Context.MODE_PRIVATE);
if (sharedpreferences.contains("saveddata")) {
            String datafetched=sharedpreferences.getString("saveddata", ""));
        }

推荐阅读