SQLite
 sql >> Baza danych >  >> RDS >> SQLite

java ,Właściwe użycie zmiennych statycznych, aby zapobiec zakleszczeniu - Synchronizacja

Myślę, że wszystko, czego potrzebujesz, to utworzenie klasy aplikacji

[1] Wszystkie te zmienne, które wziąłeś w Util, które są używane we wszystkich innych klasach, mogą być wzięte w tej klasie Application. Dlatego te zmienne będą dostępne dla wszystkich innych klas.

[2] Utwórz instancję Singelton klasy aplikacji . Po prostu Google o tym.

[3] Stwórz także Singleton of DataBaseHelper (jeśli to możliwe i można zastosować), więc pojedyncza instancja pomoże ci wszędzie.

Klasa aplikacji to klasa globalna w Androidzie, dzięki czemu można jej używać do przechowywania i uzyskiwania dostępu do wszystkich danych globalnych. np. :

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 UŻYWAĆ, ZOBACZ TO

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

Jeszcze jedno. W 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. Problem z zapytaniem wstawiania w Sqlite? (Wstaw zmienną)

  2. Nie mogę ustawić wielu obrazów w widoku siatki?

  3. Eksportuj bazę danych SQLite do pliku CSV

  4. Najlepsza opcja do przechowywania nazwy użytkownika i hasła w aplikacji na Androida

  5. Jak mogę odczytać dane z zaszyfrowanej bazy danych za pomocą SQLiteAssetHelper?