Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android studio,从类中插入的类继承变量_Java_Android_Android Studio - Fatal编程技术网

Java Android studio,从类中插入的类继承变量

Java Android studio,从类中插入的类继承变量,java,android,android-studio,Java,Android,Android Studio,我正在Android Studio中制作一个登录屏幕,我想使用从数据库中获取的电子邮件进行登录,然后将其显示到另一个活动中,您可以在其中查看您的个人资料。问题是,我不能将email变量值用于另一个类,因为它嵌套在类内部的一个类中。如果我尝试将其声明为静态,则表示内部类不能具有静态声明 代码如下: public class Login extends AppCompatActivity { .... private class Send extends AsyncTask<Strin

我正在Android Studio中制作一个登录屏幕,我想使用从数据库中获取的电子邮件进行登录,然后将其显示到另一个活动中,您可以在其中查看您的个人资料。问题是,我不能将email变量值用于另一个类,因为它嵌套在类内部的一个类中。如果我尝试将其声明为静态,则表示内部类不能具有静态声明

代码如下:

public class Login extends AppCompatActivity 
{

....

private  class Send extends AsyncTask<String,String,String>
     {

   String email = editTextEmail.getText().toString();
........

     }

}

是否有任何方法可以返回电子邮件值,以便在其他类中使用

当您希望在活动之间传递数据时。第一个也是最重要的方法是使用意图

在新活动中,使用以下方法访问值:

String extra = i.getStringExtra("name");

由于您在登录后需要它,所以您可以优先保存它,在这种方法中,它可以在整个应用程序上下文中使用

public SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
settings.edit().putString("EMAIL", theemail).apply();
然后,您可以通过以下方式在应用程序中的任何位置获取:

settings.getString("EMAIL", "");
此方法的另一个优点是,如果可以在应用程序中更新或更改数据库配置文件信息,则只需使用以下方法更改电子邮件首选项的值:

settings.edit().putString("EMAIL", newemail).apply();

注意:您可能需要有一个基础活动才能使其非常有效。

它工作完美,非常感谢,我尝试了很多东西,谢谢!干杯我很高兴知道这对你有帮助
settings.edit().putString("EMAIL", newemail).apply();