2014-09-02 2 views
2

У меня есть некоторые коды здесь, где пользователь может установить значение, используя EditText в моем макете. Когда пользователь устанавливает номер в текстовом вводе и нажимает кнопку «установить», значение ввода EditText передается на TextView. Это - некоторый образ этого. enter image description hereКак хранить данные в приложении для Android

Вот мой XML:

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Text" 
     android:textSize="25sp" 
     android:id="@+id/textview" /> 
    <EditText 
     android:id="@+id/edittext" 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:inputType="number"/> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Set" 
     android:id="@+id/set" /> 

И ява коды:

textview= (TextView)findViewById(R.id.textview); 
edittext= (EditText) findViewById(R.id.edittext); 
set = (Button) rootView.findViewById(R.id.set); 

set.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     textview.setText(edittext.getText().toString()); 
    } 
}); 

Теперь я хочу, чтобы сохранить значение "TextView" после перезапуска приложения или устройства, это важно, чтобы сохранить все мои данные во внутреннем хранилище.

+2

Использовать 'SharedPreferences' –

ответ

1

Для сохранения такого рода информации для вас довольно приятно использовать SharedPreferences. Это довольно простой и быстрый способ управления данными.

Чтобы написать:

SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_WORLD_WRITEABLE); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString("fristRow",userid.getText().toString()); 
editor.putString("secondRow",password.getText().toString()); 
editor.apply(); 

читать:

SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_PRIVATE); 
String Astatus = preferences.getString("fristRow", ""); 
+0

Я использую операцию фрагментации и не могу использовать «getSharedPreferences» –

+0

// this = ваш фрагмент. Параметры SharedPreferences = this.getActivity(). GetSharedPreferences («pref», Context.MODE_PRIVATE); –

+0

Как насчет «getString»? –

3

Вы можете использовать SharedPreferences для хранения простых данных. Если вам нужно сохранить большие суммы, используйте базу данных.

+1

Можете ли вы рассказать мне больше с некоторыми кодами? извините, но я новичок в android –

+0

проверить [это] (http://www.tutorialspoint.com/android/android_shared_preferences.htm) –

+0

@MohammadFarahi Если вы новичок в android, вы должны прочитать документацию. Верьте или нет, но я тоже новичок в android, и вчера я впервые использовал 'SharedPreferences'. Знаете ли вы, как я знал, чтобы использовать его? Я googled и, вероятно, получил ответ stackoverflow в результате. – Kayaman

1

первый Sqlite Databse

Senad SharedPreferences

Третий интернет хранения (SdCarc)

1

Используйте SharedPreferences и для дальнейшего взгляда помочь принять на this

0

Вы можете использовать SharedPreferences для этой цели

set.setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 
         textview.setText(edittext.getText().toString()); 
         SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
         Editor prefsEditor = prefs.edit(); 
         prefsEditor.putString("text_value", edittext.getText().toString()); 
         prefsEditor.commit(); 
        } 
       }); 

заказовМои прочитать значение

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
String textValue = prefs.getString("text_value", ""); 
+0

Как я могу разрешить «контекст»? Я использую функцию фрагмента. –

0

Для хранения некоторых простых данных, вы можете использовать SharedPreferences

SharedPreferences sp = getSharedPreferences(PRE_NAME, 0);//get the preference object 
    SharedPreferences.Editor editor = sp.edit(); 
    editor.putString("key_here", value_here);//store some value(key-->value) 
    editor.commit();//commit the changes 

и вы можете использовать sp.getXXXX(), чтобы получить данные, хранящиеся:

SharedPreferences sp= getSharedPreferences(PREFS_NAME, 0); 
    String storedValue = sp.getString("your_key", default_value); 

Если вы хотите, чтобы некоторые данных, хранящихся в структуре, вы можете использовать SQL Lite.

Для получения более подробной информации, пожалуйста, обратитесь к Storage Options.

Смежные вопросы