在活动之间传递数据?

时间:2017-12-19 06:46:54

标签: android sharedpreferences

我有一个我正在尝试创建的小型Android应用程序,我需要从一个活动中保存一些值并将它们传递回主要活动。我查看了共享偏好,但我无法让它工作。我不确定这是否是最好的方法,我有一个类,我更喜欢存储数据,但我不知道如何在多个类之间访问一个类的单个实例,所以我将使用共享偏好方法。

这是我在第二次活动中使用的方法,我认为这种方法可行,但不会。

public void saveInfo(View view){
        SharedPreferences sharedPref = getSharedPreferences("PatientData", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor  = sharedPref.edit();
        editor.putInt("Auditory-1stepq1", auditory1stepQ1);
        editor.apply();
        System.out.format("auditory1stepQ1: %I", auditory1stepQ1);
        Toast.makeText(this, "saved!", Toast.LENGTH_SHORT).show();
    }

有没有人知道使用Android资源在多个类之间存储数据的简单方法,我会做一个平面文件很容易。

1 个答案:

答案 0 :(得分:0)

您可以使用 TinyDb ,只需在项目中导入java文件,这样就可以为我工作。

这是链接:

https://github.com/kcochibili/TinyDB--Android-Shared-Preferences-Turbo

示例代码:

TinyDB tinydb = new TinyDB(context);

//Put data in database
tinydb.putInt("clickCount", 2);
tinydb.putFloat("xPoint", 3.6f);
tinydb.putLong("userCount", 39832L);

tinydb.putString("userName", "john");
tinydb.putBoolean("isUserMale", true); 

tinydb.putList("MyUsers", mUsersArray);
tinydb.putImagePNG("DropBox/WorkImages", "MeAtlunch.png", lunchBitmap);

//Get data from database
int dataint = tinyDB.getInt("clickCount");
String datastring = tinyDB.getString("userName");