在 java 全局创建一个字符串

Make a String in java Global

我是一名 Android 开发人员,我制作了一个用于生成随机 6 位 OTP 的字符串,它存在于 protected void onCreate(Bundle savedInstanceState) { 中,这是 java 程序中的第一件事.:

String otp = new DecimalFormat("000000").format(new Random().nextInt(999999));
Toast.makeText(getApplicationContext(), "Your OTP is " + otp, Toast.LENGTH_SHORT).show();

我的 java 程序中还有另一个 public void,我必须在其中调用 OTP 字符串,但我不知道该怎么做。

我们将不胜感激任何类型的帮助。

您可以将字符串定义为 class 数据成员,在 onCreate 方法中对其进行初始化,然后让同一 class 中的每个人都可以访问该数据成员。 如:

String mOTP;

@Override
protected void onCreate(Bundle savedInstanceState) {
mOTP = new DecimalFormat("000000").format(new Random().nextInt(999999));
... Rest of code
}

或者,您可以创建另一个 class,命名为 Consts 或类似的东西,并在那里创建一个静态字符串并从您项目中的任何地方访问它。

public static class Consts{
     public static String OTP_STRING;
}

然后在mainActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
Consts.OTP_STRING = new DecimalFormat("000000").format(new Random().nextInt(999999));
... Rest of code
}

在 class.

中将您的字符串变量定义为 class(静态)变量或实例变量

示例解决方案

public class Main{
   String otp; //Define your variable here


   public void method1(){

      //Now you can access the variable otp and you can make changes

   }

  public void method2(){

     //Now you can access the variable otp and you can make changes


  }

}