Değerleri depolamak, getirmek ve düzenlemek için Android'de SharedPreferences nasıl kullanılır [kapalı]


599

Bir zaman değeri saklamak istiyorum ve bu değeri alıp düzenlemem gerekiyor. Bunu SharedPreferencesyapmak için nasıl kullanabilirim ?


Bir Jenerik SharedPreferences
sarıcısı uyguladım

Bir basitleştirilmiş bir yaklaşım : Bu kütüphaneyi kullanarak olacağını github.com/viralypatel/Android-SharedPreferences-Helper benim de ... genişletilmiş teknik ayrıntıları burada cevap ...
AndroidMechanic - Viral Patel

Yanıtlar:


838

Paylaşılan tercihleri ​​edinmek için Etkinliğinizde aşağıdaki yöntemi kullanın:

SharedPreferences prefs = this.getSharedPreferences(
      "com.example.app", Context.MODE_PRIVATE);

Tercihleri ​​okumak için:

String dateTimeKey = "com.example.app.datetime";

// use a default value using new Date()
long l = prefs.getLong(dateTimeKey, new Date().getTime()); 

Tercihleri ​​düzenlemek ve kaydetmek için

Date dt = getSomeDate();
prefs.edit().putLong(dateTimeKey, dt.getTime()).apply();

Android sdk örnek dizini paylaşılan tercihleri ​​alma ve kaydetme örneği içerir. Bulunduğu yer:

<android-sdk-home>/samples/android-<platformversion>/ApiDemos directory

Düzen ==>

Fark ettim, burada commit()ve apply()burada da fark yazmak önemli .

commit()return truedeğeri başarıyla aksi kaydedildi eğer false. Bu SharedPreferences değerleri kaydetmek eşzamanlı .

apply()2.3'te eklendi ve başarı ya da başarısızlık üzerine herhangi bir değer döndürmez. Değerleri hemen SharedPreferences'a kaydeder, ancak eşzamansız bir işleme başlar . Daha fazla detay burada .


Bu yüzden kullanıcı benim app çalıştıran bir dahaki sefere, saklanan değer zaten var ve onu getirebilir ... değil mi?
Muhammad Maqsoodur Rehman

4
(Yukarıdakileri okuyan herkese) Evet, keyfi. Bu örnek sadece "com.example.app.datetime" anahtarıyla geçerli tarihi kaydeder.
MSpeed

1
this.getSharedPreferencesbana şu hatayı verir:The method getSharedPreferences(String, int) is undefined for the type MyActivity
Si8

15
SharedPreferences.Editor.apply (), Kasım 2010'da Gingerbread'te tanıtıldı (bu cevap gönderildikten sonra). Uygula () daha verimli olduğu için, mümkün olduğunda commit () yerine kullanın.
UpLate

4
Editor.apply (), API seviye 9 veya üstü gerektirir. Editor.commit ()
Lennart Rolland

283

Değerleri paylaşılan tercihlerde saklamak için:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("Name","Harneet");
editor.apply();

Paylaşılan tercihlerden değer almak için:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = preferences.getString("Name", "");
if(!name.equalsIgnoreCase(""))
{
    name = name + "  Sethi";  /* Edit the value here*/
}

17
GetDefaultSharedPreferences kullandığından bu yanıtı en çok sevdim. Çoğu kullanıcı için bu, tüm uygulama boyunca aynı tercihlere erişilebildiğinden ve tercihler dosyanızı adlandırmak konusunda endişelenmenize gerek olmadığından işleri basitleştirecektir. Burada daha fazlası: stackoverflow.com/a/6310080/1839500
Dick Lucas

Kabul ediyorum ... Saçlarımı, kabul edilen cevaptaki yöntemi kullanarak başka bir etkinlikten paylaşılan tercihlerime neden erişemediğimi anlamaya çalıştıktan sonra buldum. Çok teşekkürler!
15'te

Kaydetmek ve yüklemek için nasıl kullanabilirim Map<DateTime, Integer>?
Dmitry

Uygulamayı basitleştirmek için github.com/AliEsaAssadi/Android-Power-Preference kullanın
Ali Asadi

164

To düzenlemek verilerinesharedpreference

 SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
 editor.putString("text", mSaved.getText().toString());
 editor.putInt("selection-start", mSaved.getSelectionStart());
 editor.putInt("selection-end", mSaved.getSelectionEnd());
 editor.apply();

' Den veri almak içinsharedpreference

SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) 
{
  //mSaved.setText(restoredText, TextView.BufferType.EDITABLE);
  int selectionStart = prefs.getInt("selection-start", -1);
  int selectionEnd = prefs.getInt("selection-end", -1);
  /*if (selectionStart != -1 && selectionEnd != -1)
  {
     mSaved.setSelection(selectionStart, selectionEnd);
  }*/
}

Düzenle

Bu pasajı API Demo örneğinden aldım. EditTextOrada bir kutusu vardı. Bu contextda gerekli değil, aynı yorumu yapıyorum.


12
+1, ancak getPreferences kullanın (MODE_PRIVATE); getPreferences (0) yerine; okunabilirlik için.
Anahtar

Burada mSaved nedir? 2 dize değerlerini kaydetmem gerekiyor.
Muhammad Maqsoodur Rehman

Ayrıca mSaved'in ne olduğunu bilmek istiyorum. Nvm ben düşünüyorum onun the editbox
karlstackoverflow

1
getInt içinde -1 ne anlama geliyor ??
amr osama

1
Paylaşılan tercihlerde anahtar (seçim-başlangıç) yoksa varsayılan değer döndürülecektir.Bu herhangi bir şey olabilir ve sadece referans içindir.
DeRagan

39

Yazmak :

SharedPreferences preferences = getSharedPreferences("AUTHENTICATION_FILE_NAME", Context.MODE_WORLD_WRITEABLE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("Authentication_Id",userid.getText().toString());
editor.putString("Authentication_Password",password.getText().toString());
editor.putString("Authentication_Status","true");
editor.apply();

Okumak :

SharedPreferences prfs = getSharedPreferences("AUTHENTICATION_FILE_NAME", Context.MODE_PRIVATE);
String Astatus = prfs.getString("Authentication_Status", "");

MODE_WORLD_WRITEABLE kullanımdan kaldırıldı.
Christopher Smit

28

En kolay yol:

Kaydetmek:

getPreferences(MODE_PRIVATE).edit().putString("Name of variable",value).commit();

Almak için:

your_variable = getPreferences(MODE_PRIVATE).getString("Name of variable",default value);

Bunu aktiviteler arasında denedim ve işe yaramadı. Paket yapısının var ismine dahil edilmesi gerekiyor mu?
Gaʀʀʏ

Bu yapıyı etkinlikler arasında kullanmak için getPreferences (MODE_PRIVATE) yerine PreferenceManager.getDefaultSharedPreferences (etkinliğiniz)
Lucian Novac

Commit () yerine Apply () kullanın
Vaibhav

18

Tercihlerde değerleri ayarlama:

// MY_PREFS_NAME - a static String variable like: 
//public static final String MY_PREFS_NAME = "MyPrefsFile";
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Elena");
 editor.putInt("idName", 12);
 editor.commit();

Verileri tercihinizden alın:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  int idName = prefs.getInt("idName", 0); //0 is the default value.
}

Daha fazla bilgi:

Paylaşılan Tercihleri ​​Kullanma

Paylaşılan Tercihler


MyPrefsFile nedir? Tercih etkinliği xml?
Martin Erlic

17

Singleton Paylaşımlı Tercihler Sınıfı. gelecekte başkalarına yardımcı olabilir.

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;

public class SharedPref
{
    private static SharedPreferences mSharedPref;
    public static final String NAME = "NAME";
    public static final String AGE = "AGE";
    public static final String IS_SELECT = "IS_SELECT";

    private SharedPref()
    {

    }

    public static void init(Context context)
    {
        if(mSharedPref == null)
            mSharedPref = context.getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
    }

    public static String read(String key, String defValue) {
        return mSharedPref.getString(key, defValue);
    }

    public static void write(String key, String value) {
        SharedPreferences.Editor prefsEditor = mSharedPref.edit();
        prefsEditor.putString(key, value);
        prefsEditor.commit();
    }

    public static boolean read(String key, boolean defValue) {
        return mSharedPref.getBoolean(key, defValue);
    }

    public static void write(String key, boolean value) {
        SharedPreferences.Editor prefsEditor = mSharedPref.edit();
        prefsEditor.putBoolean(key, value);
        prefsEditor.commit();
    }

    public static Integer read(String key, int defValue) {
        return mSharedPref.getInt(key, defValue);
    }

    public static void write(String key, Integer value) {
        SharedPreferences.Editor prefsEditor = mSharedPref.edit();
        prefsEditor.putInt(key, value).commit();
    }
}

Basitçe çağrı SharedPref.init()üzerine MainActivitybir kez

SharedPref.init(getApplicationContext());

Veri yazmak için

SharedPref.write(SharedPref.NAME, "XXXX");//save string in shared preference.
SharedPref.write(SharedPref.AGE, 25);//save int in shared preference.
SharedPref.write(SharedPref.IS_SELECT, true);//save boolean in shared preference.

Verileri Okumak

String name = SharedPref.read(SharedPref.NAME, null);//read string in shared preference.
int age = SharedPref.read(SharedPref.AGE, 0);//read int in shared preference.
boolean isSelect = SharedPref.read(SharedPref.IS_SELECT, false);//read boolean in shared preference.

15

Bilgi saklamak için

SharedPreferences preferences = getSharedPreferences(PREFS_NAME,Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("username", username.getText().toString());
editor.putString("password", password.getText().toString());
editor.putString("logged", "logged");
editor.commit();

Tercihlerinizi sıfırlamak için

SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();

12

Ekibinizdeki diğer geliştiricilerle büyük bir uygulama yapıyorsanız ve dağınık kod veya farklı SharedPreferences örnekleri olmadan her şeyin iyi organize edilmesini istiyorsanız, şöyle bir şey yapabilirsiniz:

//SharedPreferences manager class
public class SharedPrefs {

    //SharedPreferences file name
    private static String SHARED_PREFS_FILE_NAME = "my_app_shared_prefs";

    //here you can centralize all your shared prefs keys
    public static String KEY_MY_SHARED_BOOLEAN = "my_shared_boolean";
    public static String KEY_MY_SHARED_FOO = "my_shared_foo";

    //get the SharedPreferences object instance
    //create SharedPreferences file if not present


    private static SharedPreferences getPrefs(Context context) {
        return context.getSharedPreferences(SHARED_PREFS_FILE_NAME, Context.MODE_PRIVATE);
    }

    //Save Booleans
    public static void savePref(Context context, String key, boolean value) {
        getPrefs(context).edit().putBoolean(key, value).commit();       
    }

    //Get Booleans
    public static boolean getBoolean(Context context, String key) {
        return getPrefs(context).getBoolean(key, false);
    }

    //Get Booleans if not found return a predefined default value
    public static boolean getBoolean(Context context, String key, boolean defaultValue) {
        return getPrefs(context).getBoolean(key, defaultValue);
    }

    //Strings
    public static void save(Context context, String key, String value) {
        getPrefs(context).edit().putString(key, value).commit();
    }

    public static String getString(Context context, String key) {
        return getPrefs(context).getString(key, "");
    }

    public static String getString(Context context, String key, String defaultValue) {
        return getPrefs(context).getString(key, defaultValue);
    }

    //Integers
    public static void save(Context context, String key, int value) {
        getPrefs(context).edit().putInt(key, value).commit();
    }

    public static int getInt(Context context, String key) {
        return getPrefs(context).getInt(key, 0);
    }

    public static int getInt(Context context, String key, int defaultValue) {
        return getPrefs(context).getInt(key, defaultValue);
    }

    //Floats
    public static void save(Context context, String key, float value) {
        getPrefs(context).edit().putFloat(key, value).commit();
    }

    public static float getFloat(Context context, String key) {
        return getPrefs(context).getFloat(key, 0);
    }

    public static float getFloat(Context context, String key, float defaultValue) {
        return getPrefs(context).getFloat(key, defaultValue);
    }

    //Longs
    public static void save(Context context, String key, long value) {
        getPrefs(context).edit().putLong(key, value).commit();
    }

    public static long getLong(Context context, String key) {
        return getPrefs(context).getLong(key, 0);
    }

    public static long getLong(Context context, String key, long defaultValue) {
        return getPrefs(context).getLong(key, defaultValue);
    }

    //StringSets
    public static void save(Context context, String key, Set<String> value) {
        getPrefs(context).edit().putStringSet(key, value).commit();
    }

    public static Set<String> getStringSet(Context context, String key) {
        return getPrefs(context).getStringSet(key, null);
    }

    public static Set<String> getStringSet(Context context, String key, Set<String> defaultValue) {
        return getPrefs(context).getStringSet(key, defaultValue);
    }
}

Etkinliğinizde SharedPreferences'ı bu şekilde kaydedebilirsiniz

//saving a boolean into prefs
SharedPrefs.savePref(this, SharedPrefs.KEY_MY_SHARED_BOOLEAN, booleanVar);

ve SharedPreferences'inizi bu şekilde alabilirsiniz

//getting a boolean from prefs
booleanVar = SharedPrefs.getBoolean(this, SharedPrefs.KEY_MY_SHARED_BOOLEAN);

12

Herhangi bir uygulamada, PreferenceManagerörnek ve ilgili yöntemi aracılığıyla erişilebilen varsayılan tercihler vardır getDefaultSharedPreferences(Context).

İle SharedPreference, örneğin, bir ile, herhangi bir tercih int değer alabilir (defVal int dize anahtarı) GETINT . Bu durumda ilgilendiğimiz tercih karşıdır.

Bizim durumumuzda, SharedPreferenceedit () kullanarak örneğimizde örneği değiştirebilir ve putInt(String key, int newVal)uygulamanın ötesinde var olan ve buna göre görüntülenen uygulamamız için sayıyı artırdık.

Bunu daha fazla tanıtmak için yeniden başlatın ve uygulamayı yeniden başlatın, uygulamayı her başlattığınızda sayının artacağını göreceksiniz.

PreferencesDemo.java

Kod:

package org.example.preferences;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.widget.TextView;

public class PreferencesDemo extends Activity {
   /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Get the app's shared preferences
        SharedPreferences app_preferences = 
        PreferenceManager.getDefaultSharedPreferences(this);

        // Get the value for the run counter
        int counter = app_preferences.getInt("counter", 0);

        // Update the TextView
        TextView text = (TextView) findViewById(R.id.text);
        text.setText("This app has been started " + counter + " times.");

        // Increment the counter
        SharedPreferences.Editor editor = app_preferences.edit();
        editor.putInt("counter", ++counter);
        editor.commit(); // Very important
    }
}

main.xml

Kod:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >

        <TextView
            android:id="@+id/text"  
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:text="@string/hello" />
</LinearLayout>

8

Tarafından giriş değeri saklamak için basit bir çözüm SharedPreferences.

MainActivitySınıfı veya "saklamak istediğiniz bir şeyin değerini" depolayacağınız başka bir sınıfı genişletebilirsiniz . Bunu yazar ve okuyucu sınıflarına koyun:

public static final String GAME_PREFERENCES_LOGIN = "Login";

İşte sırasıyla InputClassgirdi ve OutputClassçıktı sınıfı.

// This is a storage, put this in a class which you can extend or in both classes:
//(input and output)
public static final String GAME_PREFERENCES_LOGIN = "Login";

// String from the text input (can be from anywhere)
String login = inputLogin.getText().toString();

// then to add a value in InputCalss "SAVE",
SharedPreferences example = getSharedPreferences(GAME_PREFERENCES_LOGIN, 0);
Editor editor = example.edit();
editor.putString("value", login);
editor.commit();

Şimdi diğer sınıflar gibi başka bir yerde kullanabilirsiniz. Aşağıdaki OutputClass.

SharedPreferences example = getSharedPreferences(GAME_PREFERENCES_LOGIN, 0);
String userString = example.getString("value", "defValue");

// the following will print it out in console
Logger.getLogger("Name of a OutputClass".class.getName()).log(Level.INFO, userString);

8

Paylaşılan Tercihler'de sakla

SharedPreferences preferences = getSharedPreferences("temp", getApplicationContext().MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putString("name", name);
editor.commit();

Paylaşılan Tercihlerde Getir

SharedPreferences preferences=getSharedPreferences("temp", getApplicationContext().MODE_PRIVATE);
String name=preferences.getString("name",null);

Not: "temp" paylaşılan tercihler adı ve "name" girdi değeridir. değer çıkmazsa null döndürür


Çok iyi ve kullanımı kolaydır. Ama burada Context.MODE_PRIVATE getApplicationContext () değil. MODE_PRIVATE
Maria Gheorghe

7

Düzenle

SharedPreferences pref = getSharedPreferences("YourPref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("yourValue", value);
editor.commit();

Okuma

SharedPreferences pref = getSharedPreferences("YourPref", MODE_PRIVATE);
value= pref.getString("yourValue", "");

6

SharedPreferences'ın temel fikri, şeyleri XML dosyasında saklamaktır.

  1. Xml dosya yolunuzu bildirin. (Bu dosyaya sahip değilseniz, Android oluşturacaktır. Bu dosyaya sahipseniz Android ona erişecektir.)

    SharedPreferences prefs = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);
  2. Paylaşılan Tercihlere değer yazma

    prefs.edit().putLong("preference_file_key", 1010101).apply();

    preference_file_keyPaylaşılan tercih dosyaların adıdır. Ve 1010101depolamanız gereken değerdir.

    apply()sonunda değişiklikleri kaydetmek. Hata alırsanız apply()bunu olarak değiştirin commit(). Yani bu alternatif cümle

    prefs.edit().putLong("preference_file_key", 1010101).commit();
  3. Paylaşılan Tercihlerden Okuyun

    SharedPreferences sp = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);
    long lsp = sp.getLong("preference_file_key", -1);

    lspolacak -1eğer preference_file_keydeğeri yoktur. 'Preference_file_key' bir değere sahipse, bunun değerini döndürür.

Yazmak için tüm kod

    SharedPreferences prefs = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);    // Declare xml file
    prefs.edit().putLong("preference_file_key", 1010101).apply();    // Write the value to key.

Okuma kodu:

    SharedPreferences sf = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);    // Declare xml file
    long lsp = sp.getLong("preference_file_key", -1);    // Read the key and store in lsp

Editor.apply (), API seviye 9 veya üstü gerektirir. Editor.commit ()
Lennart Rolland

6

Bu yöntemi kullanarak değer kaydedebilirsiniz:

public void savePreferencesForReasonCode(Context context,
    String key, String value) {
    SharedPreferences sharedPreferences = PreferenceManager
    .getDefaultSharedPreferences(context);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();
    }

Ve bu yöntemi kullanarak SharedPreferences'dan değer alabilirsiniz:

public String getPreferences(Context context, String prefKey) {
  SharedPreferences sharedPreferences = PreferenceManager
 .getDefaultSharedPreferences(context);
 return sharedPreferences.getString(prefKey, "");
}

Burada prefKeykaydettiğiniz belirli bir değere için kullanılan anahtardır. Teşekkürler.


Booleanlar ne olacak?
Yousha Aleayoub

bu satırı kullanarak kaydet: editor.putString (anahtar; değer); bu satırı kullanın: Boolean yourLocked = prefs.getBoolean ("locked", false);
Md. Sajedul Karim

6
editor.putString("text", mSaved.getText().toString());

Burada, mSavedherhangi biri olabilir TextViewya da EditTextbiz bir dize ayıklamak varabileceğiniz. bir dize belirtebilirsiniz. Burada metin, mSaved( TextViewveya EditText) ' dan elde edilen değeri tutan anahtar olacaktır .

SharedPreferences prefs = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);

Ayrıca, tercih dosyasını paket adını yani "com.example.app" kullanarak kaydetmeye de gerek yoktur. Kendi tercih ettiğiniz adından bahsedebilirsiniz. Bu yardımcı olur umarım !


5

İnsanların SharedPreferences'ı nasıl kullanacaklarını önermenin birçok yolu vardır . Burada bir demo projesi yaptım . Örnekteki kilit nokta ApplicationContext ve single sharedpreferences nesnesini kullanmaktır . Bu, SharedPreferences'ın aşağıdaki özelliklerle nasıl kullanılacağını gösterir : -

  • SharedPreferences'e erişmek / güncellemek için singelton sınıfını kullanma
  • PaylaşılanPreferences'ı okumak / yazmak için içeriği her zaman geçirmeye gerek yoktur
  • Commit () yerine Apply () kullanır.
  • Apply (), zaman uyumsuzdur, hiçbir şey döndürmez, önce bellekteki değeri günceller ve değişiklikler daha sonra zaman uyumsuz olarak diske yazılır.
  • commit () eşzamanlı kaydetme, sonuca bağlı olarak doğru / yanlış döndürür. Değişiklikler diske senkronize olarak yazılır
  • android 2.3 ve üzeri sürümlerde çalışır

Aşağıdaki gibi kullanım örneği: -

MyAppPreference.getInstance().setSampleStringKey("some_value");
String value= MyAppPreference.getInstance().getSampleStringKey();

Kaynak kodunu buradan alın & ayrıntılı API'ları burada developer.android.comadresinde bulabilirsiniz .


Hey, Paylaşılan Tercihler hakkında bir sorum var. Cevaplamak ister misin? stackoverflow.com/questions/35713822/…
Ruchir Baronia

5

Şimdiye kadarki en iyi uygulama

PreferenceManager ile adlandırılmış Arayüz oluşturun :

// Interface to save values in shared preferences and also for retrieve values from shared preferences
public interface PreferenceManager {

    SharedPreferences getPreferences();
    Editor editPreferences();

    void setString(String key, String value);
    String getString(String key);

    void setBoolean(String key, boolean value);
    boolean getBoolean(String key);

    void setInteger(String key, int value);
    int getInteger(String key);

    void setFloat(String key, float value);
    float getFloat(String key);

}

Aktivite / Parça ile nasıl kullanılır :

public class HomeActivity extends AppCompatActivity implements PreferenceManager{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout_activity_home);
    }

    @Override
    public SharedPreferences getPreferences(){
        return getSharedPreferences("SP_TITLE", Context.MODE_PRIVATE);
    }

    @Override
    public SharedPreferences.Editor editPreferences(){
        return getPreferences().edit();
    }

    @Override
    public void setString(String key, String value) {
        editPreferences().putString(key, value).commit();
    }

    @Override
    public String getString(String key) {
        return getPreferences().getString(key, "");
    }

    @Override
    public void setBoolean(String key, boolean value) {
        editPreferences().putBoolean(key, value).commit();
    }

    @Override
    public boolean getBoolean(String key) {
        return  getPreferences().getBoolean(key, false);
    }

    @Override
    public void setInteger(String key, int value) {
        editPreferences().putInt(key, value).commit();
    }

    @Override
    public int getInteger(String key) {
        return getPreferences().getInt(key, 0);
    }

    @Override
    public void setFloat(String key, float value) {
        editPreferences().putFloat(key, value).commit();
    }

    @Override
    public float getFloat(String key) {
        return getPreferences().getFloat(key, 0);
    }
}

Not: SharedPreference anahtarınızı SP_TITLE ile değiştirin .

Örnekler:

Dizeyi Mağaza içinde shareperence :

setString("my_key", "my_value");

İp bul dan shareperence :

String strValue = getString("my_key");

Umarım bu sana yardımcı olur.


Her şeyi saklamak için aynı paylaşılan tercih nesnesini mi kullanıyorum yoksa her farklı veri parçası için yeni paylaşılan tercih nesneleri mi oluşturuyorum?
Ruchir Baronia

@Ruchir Baronia, paylaşılan tercihlerin nesnesini başlatmanıza gerek kalmadan farklı nesneler oluşturmanıza gerek yok. Yukarıda kaydedebilirsiniz. Benim tarafımdan herhangi bir şey gerekiyorsa bana bildirin.
Hiren Patel

Tamam teşekkürler. Bana bu konuda yardımcı olabilir misin? stackoverflow.com/questions/35235759/…
Ruchir Baronia

@Ruchir Baronia, ipliği iptal edebilirsiniz. Umarım bu size yardımcı olur.
Hiren Patel

Oh, çok üzgünüm, ben yanlış bir question.I bu, onun hakkında paylaşılan tercihleri :) sormak gerekiyordu koyacağım stackoverflow.com/questions/35244256/issue-with-if-statement/...
Ruchir Baronia

5

Değerleri paylaşılan tercihlerde saklamak için:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sp.edit();
editor.putString("Name","Jayesh");
editor.commit();

Paylaşılan tercihlerden değer almak için:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
String name = sp.getString("Name", ""); // Second parameter is the default value.

4

kaydetmek

PreferenceManager.getDefaultSharedPreferences(this).edit().putString("VarName","your value").apply();

yakalamak için:

String name = PreferenceManager.getDefaultSharedPreferences(this).getString("VarName","defaultValue");

varsayılan değer: Bu tercih yoksa döndürülecek değerler.

" this " ifadesini getActivity () ile değiştirebilir veya bazı durumlarda getApplicationContext () yöntemini değiştirebilirsiniz


Hey, Paylaşılan Tercihler hakkında bir sorum var. Cevaplamak ister misin? stackoverflow.com/questions/35713822/…
Ruchir Baronia

Evet, yaptım ... :)
Ruchir Baronia

3

Paylaşılan tercihler için bir yardımcı sınıf yazıyorum:

import android.content.Context;
import android.content.SharedPreferences;

/**
 * Created by mete_ on 23.12.2016.
 */
public class HelperSharedPref {

Context mContext;

public HelperSharedPref(Context mContext) {
    this.mContext = mContext;
}

/**
 *
 * @param key Constant RC
 * @param value Only String, Integer, Long, Float, Boolean types
 */
public void saveToSharedPref(String key, Object value) throws Exception {
    SharedPreferences.Editor editor = mContext.getSharedPreferences(key, Context.MODE_PRIVATE).edit();
    if (value instanceof String) {
        editor.putString(key, (String) value);
    } else if (value instanceof Integer) {
        editor.putInt(key, (Integer) value);
    } else if (value instanceof Long) {
        editor.putLong(key, (Long) value);
    } else if (value instanceof Float) {
        editor.putFloat(key, (Float) value);
    } else if (value instanceof Boolean) {
        editor.putBoolean(key, (Boolean) value);
    } else {
        throw new Exception("Unacceptable object type");
    }

    editor.commit();
}

/**
 * Return String
 * @param key
 * @return null default is null
 */
public String loadStringFromSharedPref(String key) throws Exception {
    SharedPreferences prefs = mContext.getSharedPreferences(key, Context.MODE_PRIVATE);
    String restoredText = prefs.getString(key, null);

    return restoredText;
}

/**
 * Return int
 * @param key
 * @return null default is -1
 */
public Integer loadIntegerFromSharedPref(String key) throws Exception {
    SharedPreferences prefs = mContext.getSharedPreferences(key, Context.MODE_PRIVATE);
    Integer restoredText = prefs.getInt(key, -1);

    return restoredText;
}

/**
 * Return float
 * @param key
 * @return null default is -1
 */
public Float loadFloatFromSharedPref(String key) throws Exception {
    SharedPreferences prefs = mContext.getSharedPreferences(key, Context.MODE_PRIVATE);
    Float restoredText = prefs.getFloat(key, -1);

    return restoredText;
}

/**
 * Return long
 * @param key
 * @return null default is -1
 */
public Long loadLongFromSharedPref(String key) throws Exception {
    SharedPreferences prefs = mContext.getSharedPreferences(key, Context.MODE_PRIVATE);
    Long restoredText = prefs.getLong(key, -1);

    return restoredText;
}

/**
 * Return boolean
 * @param key
 * @return null default is false
 */
public Boolean loadBooleanFromSharedPref(String key) throws Exception {
    SharedPreferences prefs = mContext.getSharedPreferences(key, Context.MODE_PRIVATE);
    Boolean restoredText = prefs.getBoolean(key, false);

    return restoredText;
}

}

3

Bu örneği basit ve anlaşılır ve kontrol edilmiş olarak kullanın

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >

   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >

      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >

         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>

      </activity>

   </application>
</manifest>
public class MainActivity extends AppCompatActivity {
   EditText ed1,ed2,ed3;
   Button b1;

   public static final String MyPREFERENCES = "MyPrefs" ;
   public static final String Name = "nameKey";
   public static final String Phone = "phoneKey";
   public static final String Email = "emailKey";

   SharedPreferences sharedpreferences;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      ed1=(EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      ed3=(EditText)findViewById(R.id.editText3);

      b1=(Button)findViewById(R.id.button);
      sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            String n  = ed1.getText().toString();
            String ph  = ed2.getText().toString();
            String e  = ed3.getText().toString();

            SharedPreferences.Editor editor = sharedpreferences.edit();

            editor.putString(Name, n);
            editor.putString(Phone, ph);
            editor.putString(Email, e);
            editor.commit();
            Toast.makeText(MainActivity.this,"Thanks",Toast.LENGTH_LONG).show();
         }
      });
   }

}

2

Bu basit kütüphaneyi kullanarak , SharedPreferences'ı nasıl çağıracağınız aşağıda açıklanmıştır.

TinyDB tinydb = new TinyDB(context);

tinydb.putInt("clickCount", 2);

tinydb.putString("userName", "john");
tinydb.putBoolean("isUserMale", true); 

tinydb.putList("MyUsers", mUsersArray);
tinydb.putImagePNG("DropBox/WorkImages", "MeAtlunch.png", lunchBitmap);

//These plus the corresponding get methods are all Included

2

Burada, bu soru için snippet'lerin çoğunun SharedPreferences kullanırken MODE_PRIVATE gibi bir şeye sahip olacağını eklemek istedim. MODE_PRIVATE, bu paylaşılan tercihe yazdığınız her şeyin yalnızca uygulamanız tarafından okunabileceği anlamına gelir.

GetSharedPreferences () yöntemine geçmek için kullandığınız anahtar ne olursa olsun, android bu ada sahip bir dosya oluşturur ve tercih verilerini içine kaydeder. Ayrıca, uygulamanız için birden fazla tercih dosyası olmasını istediğinizde getSharedPreferences () yönteminin kullanılması gerektiğini unutmayın. Tek bir tercih dosyası kullanmak ve tüm anahtar / değer çiftlerini bu dosyada saklamak istiyorsanız, getSharedPreference () yöntemini kullanın. Herkesin (ben dahil) neden yukarıdaki ikisi arasındaki farkı anlamadan getSharedPreferences () lezzetini kullanması garip.

Aşağıdaki video eğitimi https://www.youtube.com/watch?v=2PcAQ1NBy98 yardımcı olacaktır


2

Basit ve sorunsuz :: "Android-SharedPreferences-Helper" kütüphanesi

Hiç olmadığı kadar iyi: Kullanmanın karmaşıklığını ve çabasını azaltmaya yardımcı olmak için "Android-SharedPreferences-Helper" kütüphanesini oluşturdum SharedPreferences. Ayrıca bazı genişletilmiş işlevsellik sağlar. Sunulan birkaç şey aşağıdaki gibidir:

  • Bir satır başlatma ve kurulum
  • Varsayılan tercihleri ​​mi yoksa özel bir tercih dosyasını mı kullanacağınızı kolayca seçme
  • Her veri türü için önceden tanımlanmış (veri türü varsayılanları) ve özelleştirilebilir (ne seçebilirsiniz) varsayılan değerler
  • Sadece ek bir parametre ile tek kullanımlık farklı varsayılan değerler ayarlayabilme
  • OnSharedPreferenceChangeListener öğesini varsayılan sınıf için yaptığınız gibi kaydedebilir ve kaydını silebilirsiniz
dependencies {
    ...
    ...
    compile(group: 'com.viralypatel.sharedpreferenceshelper', name: 'library', version: '1.1.0', ext: 'aar')
}

SharedPreferencesHelper nesnesi bildirimi: (sınıf düzeyinde önerilir)

SharedPreferencesHelper sph; 

SharedPreferencesHelper nesnesinin örneği: (onCreate () yönteminde önerilir)

// use one of the following ways to instantiate
sph = new SharedPreferencesHelper(this); //this will use default shared preferences
sph = new SharedPreferencesHelper(this, "myappprefs"); // this will create a named shared preference file
sph = new SharedPreferencesHelper(this, "myappprefs", 0); // this will allow you to specify a mode

Değerleri paylaşılan tercihlere yerleştirme

Oldukça basit! Varsayılan yol aksine çağırmanız gerekir DEĞİL edeceğiz (SharedPreferences sınıfını kullanan) .edit()ve .commit()kez.

sph.putBoolean("boolKey", true);
sph.putInt("intKey", 123);
sph.putString("stringKey", "string value");
sph.putLong("longKey", 456876451);
sph.putFloat("floatKey", 1.51f);

// putStringSet is supported only for android versions above HONEYCOMB
Set name = new HashSet();
name.add("Viral");
name.add("Patel");
sph.putStringSet("name", name);

Bu kadar! Değerleriniz paylaşılan tercihlerde saklanır.

Paylaşılan tercihlerden değer alma

Yine, sadece basit bir yöntem anahtar adı ile çağırır.

sph.getBoolean("boolKey");
sph.getInt("intKey");
sph.getString("stringKey");
sph.getLong("longKey");
sph.getFloat("floatKey");

// getStringSet is supported only for android versions above HONEYCOMB
sph.getStringSet("name");

Birçok başka gelişmiş işleve sahiptir

GitHub Depo Sayfasındaki genişletilmiş işlevsellik, kullanım ve kurulum talimatları vb. Ayrıntılarını kontrol edin .


Her şeyi saklamak için aynı paylaşılan tercih nesnesini mi kullanıyorum yoksa her farklı veri parçası için yeni paylaşılan tercih nesneleri mi oluşturuyorum?
Ruchir Baronia

Mümkün olduğunca aynısını kullanmalısınız. Bu kütüphaneyi oluşturmanın bütün mesele bu.
AndroidMechanic - Viral Patel

Hey, Paylaşılan Tercihler hakkında bir sorum var. Cevaplamak ister misin? stackoverflow.com/questions/35713822/…
Ruchir Baronia

2
SharedPreferences.Editor editor = getSharedPreferences("identifier", 
MODE_PRIVATE).edit();
//identifier is the unique to fetch data from your SharedPreference.


editor.putInt("keyword", 0); 
// saved value place with 0.
//use this "keyword" to fetch saved value again.
editor.commit();//important line without this line your value is not stored in preference   

// fetch the stored data using ....

SharedPreferences prefs = getSharedPreferences("identifier", MODE_PRIVATE); 
// here both identifier will same

int fetchvalue = prefs.getInt("keyword", 0);
// here keyword will same as used above.
// 0 is default value when you nothing save in preference that time fetch value is 0.

AdapterClass veya başka bir bilgisayarda SharedPreferences kullanmanız gerekir. o zaman bu beyanı kullanın ve yukarıdaki aynı kıçı kullanın.

SharedPreferences.Editor editor = context.getSharedPreferences("idetifier", 
Context.MODE_PRIVATE).edit();
SharedPreferences prefs = context.getSharedPreferences("identifier", Context.MODE_PRIVATE);

//here context is your application context

dize veya boole değeri için

editor.putString("stringkeyword", "your string"); 
editor.putBoolean("booleankeyword","your boolean value");
editor.commit();

yukarıdakiyle aynı verileri getir

String fetchvalue = prefs.getString("keyword", "");
Boolean fetchvalue = prefs.getBoolean("keyword", "");

2

2. paylaşımlı tercihlerde saklamak için

SharedPreferences.Editor editor = 
getSharedPreferences("DeviceToken",MODE_PRIVATE).edit();
                    editor.putString("DeviceTokenkey","ABABABABABABABB12345");
editor.apply();

2. aynı kullanım için

    SharedPreferences prefs = getSharedPreferences("DeviceToken", 
 MODE_PRIVATE);
  String deviceToken = prefs.getString("DeviceTokenkey", null);

1

Burada android tercihlerini kullanmak için bir Yardımcı sınıf yarattık.

Bu yardımcı sınıf:

public class PrefsUtil {

public static SharedPreferences getPreference() {
    return PreferenceManager.getDefaultSharedPreferences(Applicatoin.getAppContext());
}

public static void putBoolean(String key, boolean value) {
    getPreference().edit().putBoolean(key, value)
            .apply();
}

public static boolean getBoolean(String key) {
    return getPreference().getBoolean(key, false);
}

public static void putInt(String key, int value) {

    getPreference().edit().putInt(key, value).apply();

}

public static void delKey(String key) {

    getPreference().edit().remove(key).apply();

}

}

1

Genel değişkenleri fonksiyon olarak saklamak ve almak. Test etmek için, sayfanızda Textview öğeleri bulunduğundan emin olun, koddaki iki satırı ayırın ve çalıştırın. Sonra iki satırı tekrar yorumlayın ve çalıştırın.
Burada TextView kimliği kullanıcı adı ve şifredir.

Kullanmak istediğiniz her Sınıfta, bu iki rutini sonuna ekleyin. Bu rutinin küresel rutinler olmasını istiyorum, ama nasıl olduğunu bilmiyorum. Bu çalışıyor.

Değişkenler her yerde mevcuttur. Değişkenleri "Dosyam" da saklar. İstediğiniz gibi değiştirebilirsiniz.

Bunu kullanarak

 storeSession("username","frans");
 storeSession("password","!2#4%");***

değişken kullanıcı adı "frans" ve parola "! 2 # 4%" ile doldurulur. Yeniden başlatmadan sonra bile kullanılabilirler.

ve kullanarak

 password.setText(getSession(("password")));
 usernames.setText(getSession(("username")));

benim grid.java kodunun altında

    package nl.yentel.yenteldb2;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;

    public class Grid extends AppCompatActivity {
    private TextView usernames;
    private TextView password;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_grid);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

      ***//  storeSession("username","frans.eilering@gmail.com");
        //storeSession("password","mijn wachtwoord");***
        password = (TextView) findViewById(R.id.password);
        password.setText(getSession(("password")));
        usernames=(TextView) findViewById(R.id.username);
        usernames.setText(getSession(("username")));
    }

    public void storeSession(String key, String waarde) { 
        SharedPreferences pref = getApplicationContext().getSharedPreferences("MyFile", MODE_PRIVATE);
        SharedPreferences.Editor editor = pref.edit();
        editor.putString(key, waarde);
        editor.commit();
    }

    public String getSession(String key) {
//http://androidexample.com/Android_SharedPreferences_Basics/index.php?view=article_discription&aid=126&aaid=146
        SharedPreferences pref = getApplicationContext().getSharedPreferences("MyFile", MODE_PRIVATE);
        SharedPreferences.Editor editor = pref.edit();
        String output = pref.getString(key, null);
        return output;
    }

    }

Aşağıda metin görünümü öğelerini bulabilirsiniz

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="usernames"
    android:id="@+id/username"
    android:layout_below="@+id/textView"
    android:layout_alignParentStart="true"
    android:layout_marginTop="39dp"
    android:hint="hier komt de username" />

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="password"
    android:id="@+id/password"
    android:layout_below="@+id/user"
    android:layout_alignParentStart="true"
    android:hint="hier komt het wachtwoord" />

1

Hayatımı kolaylaştırmak için bir Yardımcı sınıf oluşturdum. Bu genel bir sınıftır ve Paylaşılan Tercihler, E-posta Geçerliliği, Tarih Saat Biçimi gibi Uygulamalarda yaygın olarak kullanılan birçok yöntem içerir. Bu sınıfı kodunuza kopyalayın ve ihtiyacınız olan her yerde onun yöntemlerine erişin.

 import android.app.AlertDialog;
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
 import android.support.v4.app.FragmentActivity;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
 import android.widget.Toast;

 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Random;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;

/**
* Created by Zohaib Hassan on 3/4/2016.
*/
 public class Helper {

private static ProgressDialog pd;

public static void saveData(String key, String value, Context context) {
    SharedPreferences sp = context.getApplicationContext()
            .getSharedPreferences("appData", 0);
    SharedPreferences.Editor editor;
    editor = sp.edit();
    editor.putString(key, value);
    editor.commit();
}

public static void deleteData(String key, Context context){
    SharedPreferences sp = context.getApplicationContext()
            .getSharedPreferences("appData", 0);
    SharedPreferences.Editor editor;
    editor = sp.edit();
    editor.remove(key);
    editor.commit();

}

public static String getSaveData(String key, Context context) {
    SharedPreferences sp = context.getApplicationContext()
            .getSharedPreferences("appData", 0);
    String data = sp.getString(key, "");
    return data;

}




public static long dateToUnix(String dt, String format) {
    SimpleDateFormat formatter;
    Date date = null;
    long unixtime;
    formatter = new SimpleDateFormat(format);
    try {
        date = formatter.parse(dt);
    } catch (Exception ex) {

        ex.printStackTrace();
    }
    unixtime = date.getTime();
    return unixtime;

}

public static String getData(long unixTime, String formate) {

    long unixSeconds = unixTime;
    Date date = new Date(unixSeconds);
    SimpleDateFormat sdf = new SimpleDateFormat(formate);
    String formattedDate = sdf.format(date);
    return formattedDate;
}

public static String getFormattedDate(String date, String currentFormat,
                                      String desiredFormat) {
    return getData(dateToUnix(date, currentFormat), desiredFormat);
}




public static double distance(double lat1, double lon1, double lat2,
                              double lon2, char unit) {
    double theta = lon1 - lon2;
    double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2))
            + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2))
            * Math.cos(deg2rad(theta));
    dist = Math.acos(dist);
    dist = rad2deg(dist);
    dist = dist * 60 * 1.1515;
    if (unit == 'K') {
        dist = dist * 1.609344;
    } else if (unit == 'N') {
        dist = dist * 0.8684;
    }
    return (dist);
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: This function converts decimal degrees to radians : */
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
private static double deg2rad(double deg) {
    return (deg * Math.PI / 180.0);
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: This function converts radians to decimal degrees : */
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
private static double rad2deg(double rad) {
    return (rad * 180.0 / Math.PI);
}

public static int getRendNumber() {
    Random r = new Random();
    return r.nextInt(360);
}

public static void hideKeyboard(Context context, EditText editText) {
    InputMethodManager imm = (InputMethodManager) context
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
}

public static void showLoder(Context context, String message) {
    pd = new ProgressDialog(context);

    pd.setCancelable(false);
    pd.setMessage(message);
    pd.show();
}

public static void showLoderImage(Context context, String message) {
    pd = new ProgressDialog(context);
    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    pd.setCancelable(false);
    pd.setMessage(message);
    pd.show();
}

public static void dismissLoder() {
    pd.dismiss();
}

public static void toast(Context context, String text) {

    Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}
/*
     public static Boolean connection(Context context) {
    ConnectionDetector connection = new ConnectionDetector(context);
    if (!connection.isConnectingToInternet()) {

        Helper.showAlert(context, "No Internet access...!");
        //Helper.toast(context, "No internet access..!");
        return false;
    } else
        return true;
}*/

public static void removeMapFrgment(FragmentActivity fa, int id) {

    android.support.v4.app.Fragment fragment;
    android.support.v4.app.FragmentManager fm;
    android.support.v4.app.FragmentTransaction ft;
    fm = fa.getSupportFragmentManager();
    fragment = fm.findFragmentById(id);
    ft = fa.getSupportFragmentManager().beginTransaction();
    ft.remove(fragment);
    ft.commit();

}

public static AlertDialog showDialog(Context context, String message) {
    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setMessage(message);

    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int id) {
            // TODO Auto-generated method stub

        }
    });

    return builder.create();
}

public static void showAlert(Context context, String message) {
    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setTitle("Alert");
    builder.setMessage(message)
            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.dismiss();
                }
            }).show();
}

public static boolean isURL(String url) {
    if (url == null)
        return false;

    boolean foundMatch = false;
    try {
        Pattern regex = Pattern
                .compile(
                        "\\b(?:(https?|ftp|file)://|www\\.)?[-A-Z0-9+&#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]\\.[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]",
                        Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
        Matcher regexMatcher = regex.matcher(url);
        foundMatch = regexMatcher.matches();
        return foundMatch;
    } catch (PatternSyntaxException ex) {
        // Syntax error in the regular expression
        return false;
    }
}

public static boolean atLeastOneChr(String string) {
    if (string == null)
        return false;

    boolean foundMatch = false;
    try {
        Pattern regex = Pattern.compile("[a-zA-Z0-9]",
                Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
        Matcher regexMatcher = regex.matcher(string);
        foundMatch = regexMatcher.matches();
        return foundMatch;
    } catch (PatternSyntaxException ex) {
        // Syntax error in the regular expression
        return false;
    }
}

public static boolean isValidEmail(String email, Context context) {
    String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
    CharSequence inputStr = email;
    Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);
    if (matcher.matches()) {
        return true;
    } else {
        // Helper.toast(context, "Email is not valid..!");

        return false;
    }
}

public static boolean isValidUserName(String email, Context context) {
    String expression = "^[0-9a-zA-Z]+$";
    CharSequence inputStr = email;
    Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);
    if (matcher.matches()) {
        return true;
    } else {
        Helper.toast(context, "Username is not valid..!");
        return false;
    }
}

public static boolean isValidDateSlash(String inDate) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");
    dateFormat.setLenient(false);
    try {
        dateFormat.parse(inDate.trim());
    } catch (ParseException pe) {
        return false;
    }
    return true;
}

public static boolean isValidDateDash(String inDate) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd-mm-yyyy");
    dateFormat.setLenient(false);
    try {
        dateFormat.parse(inDate.trim());
    } catch (ParseException pe) {
        return false;
    }
    return true;
}

public static boolean isValidDateDot(String inDate) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd.mm.yyyy");
    dateFormat.setLenient(false);
    try {
        dateFormat.parse(inDate.trim());
    } catch (ParseException pe) {
        return false;
    }
    return true;
}

}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.