2016-03-21 103 views
-1

我已經創建了android應用,要求用戶在第一次使用應用時輸入他們的電話號碼,現在我正在使用SQL lite.the問題是他們每次打開應用程序時都需要他們的電話號碼,我希望應用程序能夠自動登錄,而無需再次詢問電話號碼,有點像什麼應用程序。如何在用戶登錄後更改應用的登錄頁面

回答

0

它不是關於着陸頁的變化。清單文件中具有「LAUNCHER」類別的活動始終首先打開。在該Activity .java文件中,您可以檢查用戶的值是否可用於sqlite。如果可用,請執行下一頁的目的..也請檢查此鏈接...... Android check user logged in before, else start login activity

0

將啓動活動或其他空白活動設置爲您的初始活動。 然後在您的應用程序的共享首選項中存儲布爾值以確定應用程序 是否正在首次加載。根據該布爾值,移至電話號碼輸入屏幕或 您想要的屏幕。

+0

感謝你們,如果我成功了,我會告訴ü,如果我有任何問題,我會問。你是最好的 –

0

在你的「登錄」活動中,你應該在數據庫中查找數字,如果它在那裏,你打開一個新的活動,如果沒有,你問用戶。你可以在你的「詢問」視圖中使用setVisibility(int)來查看數據庫時不顯示它們,然後,如果你沒有找到這個數字,你會顯示它們。

0

您必須使用sharedPrefrences,您可以存儲用戶是否存儲了他的號碼。 當用戶第一次打開應用並輸入他的號碼時,然後將值存儲在sharedprefrences中。

SharedPreferences sharedpreferences; 
    sharedpreferences = getSharedPreferences("prefrence", Context.MODE_PRIVATE); 

    SharedPreferences.Editor editor = sharedpreferences.edit(); 
    editor.putString("value", "selected"); editor.commit(); 

當用戶打開應用程序時,啓動屏幕將檢查sharedprefrences中的值。如果用戶已經輸入了他的號碼,那麼他將被重定向到主屏幕而不是電話號碼屏幕。

閃屏:

Context mContext; 
// Splash screen timer 
private static int SPLASH_TIME_OUT = 3000; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_splash); 
    mContext = SplashScreen.this; 


    new Handler().postDelayed(new Runnable() { 


      /*Showing splash screen with a timer. This will be useful when you 
      want to show case your app logo/company*/ 


     @Override 
     public void run() { 
      // This method will be executed once the timer is over 
      // Start your app main activity 

      SharedPreferences shared = getSharedPreferences(PREF_NAME, MODE_PRIVATE); 
      String value = (shared.getString("value", "")); 

      if(value!=null && !value.equals("")){ 
      /*Re-Direct to Home Screen after Login*/ 
       Intent intent = new Intent(mContext,MainActivity.class); 
       startActivity(intent); 
      } 
      else{ 
       Intent intent = new Intent(mContext, LoginActivity.class); 
       startActivity(intent); 
      } 
      // close this activity 
      finish(); 
     } 
    }, SPLASH_TIME_OUT); 
}