0

必要に応じて値を保持しているオブジェクトがありますArrayList。 今、私はそれをFILEとして保存するか、ARRAYに変換して保存したい.. 私の配列リストは次のようなものです: String
SharedPreferencesJSON

  ArrayList<Struct_Saved_Domains> arraylist = new ArrayList<Struct_Saved_Domains>();

これどうやってするの?何か案が??

4

2 に答える 2

2

Gsonを使用してオブジェクトを文字列に変換し、共有設定に保存できます。

SharedPreferences prefs = context.getSharedPreferences("prefName", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putStringSet("myList", new Gson().toJson(arraylist).toString());
editor.apply();
于 2013-03-01T14:24:29.777 に答える
1

以下のコードを共有設定に使用できます。

public class WebService {

    String PREF_NAME = "PREF_NAME";
    public static SharedPreferences sp;
    Editor spEdit;

    public String UserID;
    public String Password;


    public LoginWebService(Context ctx) {
        // TODO Auto-geneated constructor stub
        sp = ctx.getSharedPreferences(PREF_NAME, 0);
        spEdit = sp.edit();
    }

    public void setUserID(String UserID) {
        spEdit.putString("UserID", UserID);
        spEdit.commit();

    }

    public String getUserID() {
        return sp.getString("UserID", "");    
    }

    public String getPassword() {
        return sp.getString("Password", "");
    }

    public void setPassword(String Password) {
        spEdit.putString("Password", Password);
        spEdit.commit();
    }





    public void clear(){
        spEdit.clear();
        spEdit.commit();
    }

}

共有設定にデータを保存する際に、以下のように使用できます。

WebService objlogin=new WebService(context);
objlogin.clear();

for (int i = 0; i <arraylist.size(); i++) 
{
objlogin.setUserID(arraylist.get(i).something); 
objlogin.setPassword(arraylist.get(i).something); 

}

次に、すべてのデータがシャード設定に保存されます。

これがあなたを助けることを願っています。

于 2013-03-01T15:07:33.577 に答える