sql >> データベース >  >> RDS >> SQLite

java、デッドロックを防ぐために静的変数を適切に使用する-同期

    必要なのはアプリケーションクラスを作成することだけだと思います

    [1] Utilで取得した、他のすべてのクラスで使用されているすべての変数は、このApplicationクラスで取得できます。したがって、これらの変数は他のすべてのクラスで使用できます。

    [2] ApplictionクラスのSingeltonインスタンスを作成します 。それについてはGoogleだけです。

    [3] また、DataBaseHelperのシングルトンを作成して(可能で、適用できる場合)、単一のインスタンスがあらゆる場所で役立ちます。

    アプリケーションクラスはAndroidのグローバルクラスであるため、これを使用してすべてのグローバルデータを保存およびアクセスできます。例えば:

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

    使用方法、こちらをご覧ください

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

    もう1つ。 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. NULL列に一意のインデックスを作成するにはどうすればよいですか?

    2. MySQL:ORDER BY RAND()の代替

    3. PostgreSQLをインストールできません:WindowsXPでMicrosoftVC++ランタイムインストーラーを実行するとエラーが発生しました

    4. Oracleの正規表現からグループを抽出するにはどうすればよいですか?