2013-03-19 4 views
2

앱을 설정하기 위해 PreferencesScreen을 보여주는 활동이 내 앱에 있어야합니다. 이 화면은 설치 후 한 번만 표시됩니다. 어떻게해야합니까?설정을 표시하고 처음 앱 시작시 염두에 두십시오

내가 sharedprefs를 처리 할 수 ​​있다는 것을 알고 있지만 어떻게해야합니까?

관련 카이

+0

코드를 작성 하시겠습니까? – Raynold

답변

3

나는 앱을 실행할 때 가장 먼저 보여주는 주요 활동이 있다고 생각합니다. onCreate()에 처음으로 앱을 실행하는 경우에만 환경 설정 작업을로드하는 아주 간단한 코드를 넣을 수 있습니다. 좋아요 :

import android.content.SharedPreferences; 
import android.app.Activity; 
import android.os.Bundle; 

public class ActivityMain extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // get shared preferences 
     SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 

     // first time run? 
     if (pref.getBoolean("firstTimeRun", true)) { 

      // start the preferences activity 
      startActivity(new Intent(getBaseContext(), ActivityEditPreferences.class)); 

      //get the preferences editor 
      SharedPreferences.Editor editor = pref.edit(); 

      // avoid for next run 
      editor.putBoolean("firstTimeRun", false); 
      editor.commit(); 
     } 
    } 
} 

ActivityEditPreferences은 기본 Android 환경 설정 편집기를로드하는 다른 활동입니다. 희망이 당신을 도울 수 있습니다.

편집 : 당신은 여기에 완벽한 예를 얻을 수

import android.app.Activity; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.preference.Preference; 
import android.preference.PreferenceActivity; 
import android.preference.Preference.OnPreferenceClickListener; 
import android.widget.Toast; 

public class ActivityEditPreferences extends PreferenceActivity { 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       addPreferencesFromResource(R.xml.preferences); 
... 

: http://www.kaloer.com/android-preferences

을 그리고 보는 것을 잊지 않는 완성도를 들어 나는 또한 당신에게 기본 설정을 관리하는 활동을 보여 공식 참조 : http://developer.android.com/reference/android/preference/PreferenceActivity.html

+0

감사합니다! 내가 뭘 찾고 있는지 정확히 그게! – kai

+0

당신을 환영합니다! getSetting()은 무엇입니까? –

+0

? pref.getBoolen()을 사용할 수도 있습니다. – kai

0

당신은 처음 실행 상태를 확인 공유의 환경 설정에 부울 변수를 추가 할 수 있습니다. 첫 번째 실행에서 변수를 false로 설정합니다. 이후 실행시 변수의 상태를 확인하여 해당 실행이 처음 실행되는지 여부를 확인할 수 있습니다.

public void OnCreate(Bundle savedInstance) 
{ 
    // your other code 

    SharedPreferences sharedPrefs=getSharedPreferences("MyAppPrefs",0); 
    // The default value is true as the preference does not exist yet 
    boolean isFirstLaunch=sharedPrefs.getBoolean("firstLaunch",true); 
    if(isFirstLaunch) 
    { 
     // An editor so you can write the preference 
     SharedPrefrences.Editor editor=sharedPrefs.edit(); 
     // subsequent launches will get this value as false 
     editor.putBoolean("firstLaunch",false); 
     editor.commit(); 
    } 
    else 
    { 
     // Do other work if this is not the first launch 
    } 

} 
+0

빠른 답장을 보내 주셔서 감사합니다. 이 코드를 다른 사용자 정보 또는 스플래시 화면에서 가져 오는 활동에 넣어야합니까? – kai

+0

당신에게 달려 있습니다. 언급 한 다른 정보를 검색하는 활동이있는 경우이 코드가 해당 활동에 추가 될 수 있습니다. – sandyiscool

+0

확인해 주셔서 감사합니다. – kai

관련 문제