sql >> Database teknologi >  >> RDS >> SQLite

java , Korrekt brug af statiske variabler for at forhindre dødvande - Synkronisering

Jeg tror, ​​du behøver kun at oprette ansøgningsklasse

[1] Alle de variabler, du har taget i Util, som bruges i omtrent alle andre klasser, kan tages i denne applikationsklasse. Så disse variabler vil være tilgængelige for alle andre klasser.

[2] Opret Singelton-instans af applikationsklassen . Bare Google om det.

[3] Opret også Singleton of DataBaseHelper (hvis det er muligt og kan anvendes), så en enkelt instans hjælper dig overalt.

Application Class er Global klasse i Android, så du kan bruge den til at gemme og få adgang til alle Global-Data. for eksempel. :

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

SÅDAN BRUGER DU DET, SE DETTE

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 ting mere. 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. Kan jeg bruge returværdien af ​​INSERT...RETURNING i en anden INSERT?

  2. SQLiteDatabase-markøren er kun tom på Android 5.0+-enheder

  3. Bruger ikke NULL i PostgreSQL stadig en NULL bitmap i headeren?

  4. Hvordan bruger man WebDev.WebServer.exe (VS Web Server) i x64?