sharedpreferences检查值并重定向到下一个活动

时间:2015-04-05 12:41:46

标签: android sharedpreferences

我有启动画面,因为我已经宣布了两个共享首选项String(controller_sim,master_sim)..................我检查他们的价值现在hai ki nai agar nai hai to unitno activity par redirect kar aur agar值present present hai to menu activity par rerdirect kar .............并打电话给meagar kuch samja nai toh ............ ....

aur ek bar set kar di values unit no se to vo hamesha menu class mai redirect hona cahiye

公共类MainActivity扩展了Activity {

public static   final String MyPREFERENCES = "MyPrefs" ;
static SharedPreferences sharedpreferences;
 public static  String controller_sim ="" ; 
   public static  String master_sim =""; 
   public static  boolean  pass= true;

  public void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    setContentView(R.layout.activity_main);
     SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    controller_sim = sp.getString("controller", "");

    Thread myThread = new Thread(){
        public void run(){
            try {
                // splash screen will show for 6 seconds
                sleep(6000);
                finish();
                if (controller_sim !="")
                {
                 Intent main = new Intent(MainActivity.this, menu.class);
                 startActivity(main);
                  finish();
                  Log.v("main", "perference not present");
                }else{
                      Intent main = new Intent(MainActivity.this, Unitno.class);
                      startActivity(main);
                      finish();
                      Log.v("main", "perference not present");
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };
    myThread.start();


  }

}

保存controller_sim,master_sim

的下一个活动

公共类Unitno扩展了活动{

String unit,master;
EditText controllernumber,masternumber;
Button enter2;

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.unitno);
       controllernumber=(EditText)findViewById(R.id.textboxcontroller);
       masternumber=(EditText)findViewById(R.id.textboxmaster);

        enter2=(Button)findViewById(R.id.ent2);
        unit=controllernumber.getText().toString();
        master=masternumber.getText().toString();
        enter2.setOnClickListener(new OnClickListener() {


                        public void onClick(View v) {


                        /*  if(unit.length()<9 && master.length()<9)
                            {
                                controllernumber.setText("");
                                masternumber.setText("");
                                Toast msg = Toast.makeText(getBaseContext(), "Enter Valid Number",
                                        Toast.LENGTH_LONG);
                                  msg.show();
                            }
                           else
                           {
                              /* SharedPreferences store=getSharedPreferences( PREFS_NAME,0);
                               Editor editor = store.edit();
                                 editor.putString("key", unit);
                                 editor.commit();
                                 Toast msg = Toast.makeText(getBaseContext(), "NO Stored Sucessfully",
                                            Toast.LENGTH_LONG);
                                      msg.show();
                                      Intent a=new Intent(Unitno.this,menu.class);
                                      startActivity(a);
                                      finish();*/
                               SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                            Editor editor = sp.edit();
                            editor.putString("controller_sim",unit);
                            editor.putString("master_sim", master);
                            editor.commit();
                            Log.v("ok", unit);
                            Log.v("ok", master);


                          // }
                        }
                        });
 }

}

如果存在值,则重定向到此活动

公共类菜单扩展了Activity {

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);
     SharedPreferences preferences = getSharedPreferences("MyPREFERENCES", 0);
        String value = preferences.getString("controller_sim",null);
        if (value == null) {
             Intent main = new Intent(menu.this, Unitno.class);
        } else {
        //
        }
//  SharedPreferences mobno=getSharedPreferences(PREFS_NAME,0);
    // Reading from SharedPreferences
//    String value = mobno.getString("key", "");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.activity_main, menu);

    return true;
}

@Override
   public boolean onOptionsItemSelected(MenuItem item) {
       switch (item.getItemId()) {
           case R.id.users:
               Intent a=new Intent(menu.this,Users.class);
                  startActivity(a);
               Log.v("User", "You pressed user option!");
                 break;
           case R.id.settings:
               Intent b=new Intent(menu.this,Settings.class);
               startActivity(b);
               Log.v("settings", "You pressed settings option!");
           break;  
           case R.id.help:
               Intent c=new Intent(menu.this,Help.class);
               startActivity(c);
               Log.v("help", "You pressed help option!");
           break;
           case R.id.about:
               Intent d=new Intent(menu.this,Aboutus.class);
               startActivity(d);
               Log.v("Aboutus", "You pressed about option!");
           break;
           case R.id.exit:
               moveTaskToBack(true); 
                menu.this.finish();
               Log.v("ttt", "You pressed the icon!");
           break;

       }
       return true;
   }

}

1 个答案:

答案 0 :(得分:2)

int static FLAG = 0;
FLAG = // get value from shared preference
if(FLAG == 0) {
 //Login Page
}else {
  //home page
}

这里最初你会得到i = 0,并且它会移动到登录页面,现在通过登录进入app进入。在主页:

SplashPage.FLAG = 1;

//在此处将标记置于共享首选项中。