SQLite
 sql >> база данни >  >> RDS >> SQLite

java ,Правилно използване на статични променливи за предотвратяване на застой - Синхронизиране

Мисля, че всичко, от което се нуждаете, е да създадете клас за приложение

[1] Всички тези променливи, които сте взели в Util, които се използват в почти всички други класове, могат да бъдат взети в този клас Application. Така че тези променливи ще бъдат достъпни за всички останали класове.

[2] Създайте екземпляр на Singelton на клас на приложение . Само Google за това.

[3] Също така създайте Singleton на DataBaseHelper (ако е възможно и може да се приложи), така че единичният екземпляр ви помага навсякъде.

Класът на приложението е глобален клас в android, така че можете да го използвате за съхраняване и достъп до всички глобални данни. напр. :

public class AppData extends Application {

    public static AppData appData;

    public int currentUserId; // etc.

    //Const.
    public AppData() {
        appData = this;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        loginPreferences = getSharedPreferences(
            SPF_NAME, 0);

        pathToSDCard = Environment.getExternalStorageDirectory().getAbsolutePath();
        System.out.println("Path : " + pathToSDCard);
       //etc.
    }

 //    MOST IMP  FOR GETTIN SINGELTON INSTANCE     <<<---<<<---<<<---
    public static AppData getAppData() {
        return appData;
    }
}

КАК ДА ГО ИЗПОЛЗВАТЕ, ВИЖТЕ ТОВА

class ABC extends Activity {
    AppData appData;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.xyz);

        appData = AppData.getAppData();
        ...........
        ...........

        appData.VARIABLE_NAME...
    }
}

Още нещо. В AndroidMenifest.xmlа

    ...
    ...
<application             //   In Application Tag
        android:name="PACKAGE_NAME.AppData"  //  <<  Add here class name in which you have extended Application
        android:icon="@drawable/ic_launcher"
    ...
    ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android SQlite не актуализира данните

  2. sqlite върна:код на грешка =1, msg =няма такава колона:кухня1

  3. Използване на Robolectric с SQLiteAssetHelper

  4. Получаване на NoClassDefFoundError, докато се опитвате да използвате Proguard и SQLcipher в Android

  5. Как работи SQLite Random().