当前位置: 代码迷 >> Android >> 从服务器读取的信息如何存放
  详细解决方案

从服务器读取的信息如何存放

热度:63   发布时间:2016-04-28 00:30:58.0
从服务器读取的信息怎么存放
用户登录后从服务器获取的用户ID、昵称、金币等信息怎么存放,因为可能多个Activity都会用到,不可能一直用Bundle传吧??是存放在SharedPreferences的吗??然后下次登录的时候再更新??
------解决思路----------------------
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封装下,不然每次都要写好多重复的代码
------解决思路----------------------
将登陆信息用实体类保存,然后在Application中设置get方法,获取该实体类
------解决思路----------------------
引用:
Quote: 引用:

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

不一定要用Application,随便一个类写成单例或static的字段都可以
比如:

public class LoginUserInfo {

public static long id;
public static String name;

}

再写一个保存ID,name到SharedPreferences和读取SharedPreferences的方法就可以了
------解决思路----------------------
引用:
Quote: 引用:

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

比如我写了一个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
  相关解决方案