0

スプラッシュ画面とユーザーログインを備えた小さなアプリに取り組んでいます。

ユーザーのIDに基づいて異なるタブメニューを起動したい。

ID == "100"の管理者がAdminTabActivityを取得し、残りの管理者がUserTabActivityを取得するとします。だからこう書いた。ここからMainActivityにユーザーIDを渡すだけです。

SplashActivity.java

public void run(){
        try{
        sleep(1000);
            Intent in = new Intent(getApplicationContext(), MainActivity.class);
            startActivity(in);  
            finish();

        } catch (InterruptedException e){
            e.printStackTrace();
        }finally {                                  

        }
    } 

LoginActivity.java

//Stores and Grabs the user ID from sqlite db
db.addUser(json_user.getString(KEY_ID), 
           json_user.getString(KEY_NAME));                                                 

Intent i = new Intent(getApplicationContext(), MainActivity.class);                 

    i.putExtra(KEY_ID, id);
    startActivity(i);

    finish();

MainActivity.java

Intent i = getIntent();
String id = i.getStringExtra(KEY_ID);

if("001".equals(id)){

    /* Launch Admin Screen if ID == 100 */

    Intent in = new Intent(getApplicationContext(), AdminTabActivity.class);           
    startActivity(in);          
    finish();

}else{

    /* Launch User Screen if ID !== 100 */

    Intent in = new Intent(getApplicationContext(), UserTabActivity.class);                        
    startActivity(in);      
    finish();

}

ユーザーがアプリを終了して戻った場合、LoginActivityをスキップして、SplashからMainActivity(私が望む)に直接移動しますが、ユーザーがID ==を持っている場合でも、ifブロックは今回スキップします「100」。それが理にかなっていることを願っていますが、そうでない場合は、詳細を説明できるようにお知らせください。ありがとうございました!

4

0 に答える 0