java - 如何保存随机值

标签 java android

我得到一个随机数,但每次按下按钮时它都会改变。我可以保存它们而不将它们保存在数据库中吗?或者有没有一种方法可以只从 firebase 检索一次数据?因为我是通过随机数获取数据的。

例如:

int number = rand.nextInt(10);

输出:

number = 7

再次运行应用程序:

number = 5

我使用数字从数据库检索数据:

ref = FirebaseDatabase.getInstance().getReference().child(number);

ValueEventListener listeners = new ValueEventListener() {
    @Override public void onDataChange(DataSnapshot dataSnapshot) { // Get Post object and use the values to update the UI
        User abc = dataSnapshot.getValue(User.class);

    }

    @Override public void onCancelled(DatabaseError databaseError) {
        // Getting Post failed, log a message

        // ...
    }
};
ref.addValueEventListener(listeners);

有没有一种方法可以只运行该方法一次?

最佳答案

您可以使用SharedPreferences存储您生成的值的 boolean 标志。然后您将在生成方法中检查该标志。

看起来像这样

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("MyFlag", true);
editor.commit();

像这样得到它

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
boolean flag= sharedPref.getBoolean("MyFlag", false); // default value is false

有关更多信息,您可以查看android developer guide

关于java - 如何保存随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110610/

相关文章:

java - 什么时候应该将 final 用于方法参数和局部变量?

java - 使用 Bouncy CaSTLe 在 Java 中创建自定义 X509 v3 扩展

android - com.jayway.maven.plugins.android.generation2 : Plugin execution not covered by lifecycle configuration?

android - 导航时 Navigation Host 变为 null(Android 导航组件)

java - org.apache.cxf.jaxrs.client.WebClient 中的 RecieveTimeout 和 SynchronousTimeout 有什么区别?

java - 如何通过java API创建Couchbase存储桶?

Java String 为空,虽然打印出来并且之前不为空

android - 如何在谷歌开发者控制台中设置 redirect_uri?

java - 通过 Android 上的 Intent 启动 Google Maps Directions

android - 如何使用每个选项卡的图像和 ActionBarSherlock 设置选项卡宽度