1

I'd like to ask the logic for first asking the user to fill up a profile form so it is filled, and then directed to the main activity. After closing the app and then re open it again, the profile activity should not be first launched but now the main activity. How can I do this? I'm in need of help. Thanks.

This is what I have tried so far:

 private void doThread(){

    Thread timer = new Thread(){
        public void run(){
            try{
                sleep(5000); // sleeps/delays for 3 seconds
            } // end try
            catch(InterruptedException e){
                e.printStackTrace();
            }finally{
                // this is going to create new intent activity for 
                // based on the action name (com.fps.ihealthfirst.IHEALTHFIRSACTIVITY)

                boolean firstTime = mPreferences.getBoolean("user_prefs", true);
                if (firstTime) { 
                    Intent myProfile = new Intent( Disclaimer.this, Profile_Pref.class );
                    startActivity(myProfile);
                }
                else{
                Intent openIHealthFirst = new Intent( "com.fps.iHealthFirst.IHEALTHFIRSTACTIVITY" );
                startActivity( openIHealthFirst );
                finish();
                }
            }// end finally
        } // end run method
    }; // end thread

    timer.start();

}

3 Answers3

0

One way is to save the form information on to SD card, then load and check for the information, if the information is present there, then you can move to next activity. Check this answer for explanation to it.

The other is to check for a specific shared preference in the main activity, if that shared preference is missing, then launch the single run activity again. Check the following answer for an explanation to it.

Community
  • 1
  • 1
Sahil Mahajan Mj
  • 11,033
  • 8
  • 53
  • 100
  • thanks! I'm using the latter which is shared preference. I'll look into the links you provided. –  Jan 19 '13 at 12:56
0

Depending on your choice, you can choose to save the information collected from the Profile Form in either a Database or a SharedPreferences file. This part is rather subjective and if you are already employing a Database in your application, you might consider it.

Here are a few suggestions on handling the logic / flow after the user has setup / entered his Profile details:

First: If you aren't already employing a Splash Screen, you must consider creating one. This will give you a small buffer time to check if the user has already entered his profile details.

Second: If he hasn't, you can open the Profile Form Activity. If, after checking either of the Database or SharedPreferences file, you find data indicating a filled form, you can display the main activity directly.

I personally, would be more inclined towards using SharedPreferences for this task.

Here are a few tutorials to get started with SharedPreferences:

http://android-er.blogspot.in/2011/01/example-of-using-sharedpreferencesedito.html

http://saigeethamn.blogspot.in/2009/10/shared-preferences-android-developer.html

http://myandroidsolutions.blogspot.in/2012/06/android-store-persistent-data-using.html

http://moorandroid.blogspot.in/p/shared-preferences-on-android.html

They may not be specific to your question, but will give you the logic to save values. Retrieving the saved values would be fairly simple.

Hope any of this helps.

Siddharth Lele
  • 27,623
  • 15
  • 98
  • 151
0

You can use SharedPreferences.I had this same question with a good answer here. Check it out.

Community
  • 1
  • 1
Ojonugwa Jude Ochalifu
  • 26,627
  • 26
  • 120
  • 132