继承Application写个项目的类,在每个Activity里面都可以使用getApplication获得

解决方案 »

  1.   

    为什么要继承Application,直接写个类存放值不行吗
      

  2.   

    1.登陆成功后所要做的事情很多,保存状态,获取登陆success后返回的数据,该解析的解析,该保存的保存2.登陆成功后  先将id(或者是其他唯一标示)保存sharedpreferrence,便于下次进入应用时判断是否已经登陆3.登陆成功后也要保存一份在内存中,便于程序中需要的时候取出来判断
    方法时创建一个类(如:MyApplication),然后再。。上代码吧
    <application
            android:name="MyApplication"
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
              。
            </activity>
        </application>
    注意红色字体,这里将这个类作为全局初始化,程序运行时就已经初始化了
    在类中定义用于保存重要信息的变量,登陆成功后把唯一标示保存进去,整个应用程序都可以取到这个值了也可直接从sharedpreferrence取出来判断
    注:这里最好用一个类将sharedpreferrence封装下,不然每次都要写好多重复的代码
      

  3.   

    一般这些简单的配置数据就用SharedPreferences就行了
      

  4.   

    SharedPreferences用于保存,MyApplication保存全局变量
      

  5.   

    将登陆信息用实体类保存,然后在Application中设置get方法,获取该实体类
      

  6.   

    请问怎么在Application设置get方法
      

  7.   

    不一定要用Application,随便一个类写成单例或static的字段都可以
    比如:public class LoginUserInfo {public static long id;
    public static String name;}
    再写一个保存ID,name到SharedPreferences和读取SharedPreferences的方法就可以了
      

  8.   

    比如我写了一个Client类public class Client{
          public int id;
          publict String name;
          //getter,setter...
    }然后在public class MyApplication extends Application{
         public Client client;     public void setClient(Client c){
              this.client=c;
         }
         public Client getCilent(){
              return this.client;
          }
    }在登录的时候调用set,在其他要用的地方调用get