sql >> Database >  >> RDS >> SQLite

java, statische variabelen op de juiste manier gebruiken om een ​​impasse te voorkomen - Synchroniseren

Ik denk dat je alleen maar Applicatieklasse moet maken

[1] Al die variabelen die je in Util hebt genomen en die in ongeveer alle andere klassen worden gebruikt, kunnen in deze Application-klasse worden genomen. Deze variabelen zijn dus beschikbaar voor alle andere klassen.

[2] Maak een Singelton-instantie van Applicatieklasse . Google er maar eens over.

[3] Maak ook Singleton of DataBaseHelper (indien mogelijk en kan van toepassing zijn), dus een enkele instantie helpt u overal.

Application Class is Global-klasse in Android, dus je kunt het gebruiken om alle Global-Data op te slaan en te openen. bijv. :

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;
    }
}

HOE HET GEBRUIKEN, ZIE DIT

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...
    }
}

Nog één ding. In 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. SQLite AVG

  2. Een Percona-server implementeren in een hybride cloud

  3. De beste manier om hstore op meerdere schema's in een Postgres-database te installeren?

  4. De IRI-Windocks Test Database Repository