要在Android中切换开关以通过数据打开或关闭,可以使用Switch开关组件和SharedPreferences存储用户的选择。
首先,在布局文件中,添加一个Switch组件:
 
然后,在Activity中,获取Switch组件的引用,并使用SharedPreferences来存储和读取用户的选择:
public class MainActivity extends AppCompatActivity {
    private Switch switchData;
    private SharedPreferences sharedPreferences;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        switchData = findViewById(R.id.switchData);
        sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
        // 设置开关的初始状态为存储的值
        switchData.setChecked(sharedPreferences.getBoolean("data_enabled", false));
        // 设置开关的监听器
        switchData.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // 存储用户的选择
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putBoolean("data_enabled", isChecked);
                editor.apply();
            }
        });
    }
}
这样,当用户切换开关时,会将用户的选择存储到SharedPreferences中。在应用下次启动时,可以从SharedPreferences中读取上次保存的选择,并将其设置为开关的初始状态。