sql >> Databasteknik >  >> RDS >> SQLite

java, korrekt användning av statiska variabler för att förhindra dödläge - Synkronisering

Jag tror att allt du behöver är att skapa Ansökningsklass

[1] Alla de variabler du har tagit i Util, som används i ungefär alla andra klasser, kan tas i den här applikationsklassen. Så dessa variabler kommer att vara tillgängliga för alla andra klasser.

[2] Skapa Singelton-instans av applikationsklassen . Googla bara om det.

[3] Skapa också Singleton of DataBaseHelper (om möjligt och kan tillämpas), så enstaka instans hjälper dig överallt.

Application Class är global klass i Android, så du kan använda den för att lagra och komma åt all Global-Data. t.ex. :

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

HUR DU ANVÄNDER DET, SE DETTA

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

En sak till. I 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. MAA-dokumentation för Oracle Cloud

  2. Beräknade / beräknade / virtuella / härledda kolumner i PostgreSQL

  3. Skala ut Moodle-databasen

  4. Matcha utbud med efterfrågan – lösningar, del 2