How do I make global changes throughout my app in Android?

前端 未结 3 1959
花落未央
花落未央 2020-12-18 16:39

I have a settings menu in my app which controls the units used throughout the app - metric or US units. So when the user selects one of these in the options in the menu, I w

3条回答
  •  Happy的楠姐
    2020-12-18 17:17

    Yes you can extends Applications class and store your data over there using Getter and setter.

    So that your data will be retained throughout the Application.

    public class SocketManager extends Application {
    private static SocketManager singleton;
    public int mBluetoothState;
    
    
    public synchronized static SocketManager getInstance(Context context) {
        if (null == singleton) {
            singleton = new SocketManager();
        }
        return singleton;
    }
    
    public synchronized void setState(int state) {
        mBluetoothState = state;
    }
    
    public synchronized int getState() {
        return mBluetoothState;
    }
    }
    

    Access it in Activity like :

      SocketManager socketManager = SocketManager.getInstance(this);
      socketManager.setState(10);
      socketManager.getState();
    

    Add your Application to Maanifest file like this :

     
    
       
    
     
    

    Edit :

    You should add your class name that extends Application into Application Tag not on Activity Tag

    For further refrence check this link

提交回复
热议问题