2

データが SharedPreferences.if に存在するかどうかを確認してから、新しいアクティビティを開始するにはどうすればよいですか?

4

4 に答える 4

5
SharedPreferences prefs = getSharedPreferences("application_settings", 0);
int id = prefs.getInt("id", 0);
if(id > 0) {
  startActivity(new Intent(CurrentCLass.this, NextClass.class));
}  
于 2013-06-27T05:37:00.540 に答える
1

データを取得するときはいつでも、データが存在しない場合に返すデフォルトのパラメーターを常に指定する必要があります。たとえば、

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getContext());
int data = pref.getInt("key",-1);

次に、「キー」の設定値が存在しない場合になりますdata-1

于 2013-06-27T05:41:13.770 に答える
1
if (preferences.contains("yourKey")){
    startActivity(new Intent(CurrentActivity.this, NewActivity.class));
}
于 2013-06-27T05:42:04.373 に答える
1

シンプルなソリューション。共有設定からデータを取得します。データが見つからない場合は返さnullれるため、文字列変数がnullまたはその他の値を取得するかどうかを確認してください。

File f = new File("/data/data/" + getPackageName() +  "/shared_prefs/mypref.xml");
        if(f.exists())
        { 

            String user=mypref.getString("UserName", null);
            if(user!=null){     
                                   //do stuff`enter code here
            }
        }
于 2014-06-07T19:12:49.753 に答える