sql >> Databáze >  >> RDS >> SQLite

java ,Správně používat statické proměnné, aby se zabránilo uváznutí - Synchronizace

Myslím, že vše, co potřebujete, je vytvořit Třídu aplikací

[1] Všechny ty proměnné, které jste převzali v Util a které se používají ve všech ostatních třídách, lze převzít v této třídě Application. Takže tyto proměnné budou dostupné všem ostatním třídám.

[2] Vytvořte Singeltonovu instanci Aplikační třídy . Jen o tom Google.

[3] Vytvořte také Singleton of DataBaseHelper (pokud je to možné a lze jej použít), takže vám jediná instance pomůže všude.

Application Class je globální třída v Androidu, takže ji můžete použít k ukládání a přístupu ke všem globálním datům. např. :

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

JAK TO POUŽÍVAT, PODÍVEJTE SE NA TOTO

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

Ještě jedna věc. V 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. Export dotazu PostgreSQL do souboru csv pomocí Pythonu

  2. syntaxe pro jeden řádek MERGE / upsert v SQL Server

  3. Detekce přírůstkových změn databáze (Oracle až MongoDB ETL)

  4. Dynamické SQL a Temp tabulky T-SQL