Wifi verbinden mit Strings aus SharendPreferens Java Android?

Ich habe ein Code, der sich mit dem Internet verbindet. Ich möchte aber den Netzwerkname und Netzwerk Passwort über die App ändern wollen und nicht im Code...

 final WifiConfiguration config = new WifiConfiguration();
                config.SSID = "\"Test\"";
                config.preSharedKey = "\"1234567\"";
                wmgr.setWifiEnabled(true);
                int networkId = wmgr.addNetwork(config);
                wmgr.enableNetwork(networkId, true);

Dieser Code funktioniert, möchte mich mit einem festgelegten String verbinden, den man in der App problemlos ändern und speichern kann. Kann wieder aus der Datei laden..

Den meisten Code habe ich weggelassen, da es nixs mit dem verbinden hat. Die App lädt den gespeicherte Wert in den String(Was bei der änderungsseite super funktioniert!) Und das Wlan holt sich den Netzwerkname und Passwörter von den Strings. (Siehe unten.) Leider funktioniert nur der obrige Code beim verbinden. Wie kann ich den geladenen String aus den SharendPreferens in die Wlan verbindung laden ohne den Code ständig umändern zu müssen?

 private String tag1p1netz = "";
    private String tag1p1pass = "";
    private String tag1p2netz = "Tag 1.2";
    private String tag1p2pass = "passtag1p2";
    private String tag1p3netz = "";
    private String tag1p3pass = "";
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_internet);
        
         SharedPreferences prefsnetzeinstellung = getSharedPreferences("netzwerkeinstellung", MODE_PRIVATE);
        tag1p1netz = prefsnetzeinstellung.getString("tag1p1netz", tag1p1netz);
        tag1p2netz = prefsnetzeinstellung.getString("tag1p2netz", tag1p2netz);
        tag1p3netz = prefsnetzeinstellung.getString("tag1p3netz", tag1p3netz);
        tag1p1pass = prefsnetzeinstellung.getString("tag1p1pass", tag1p1pass);
        tag1p2pass = prefsnetzeinstellung.getString("tag1p2pass", tag1p2pass);
        tag1p3pass = prefsnetzeinstellung.getString("tag1p3pass", tag1p3pass);

}
        
        
         @Override
    public void onClick(View e) {
    
    if (e.equals(tag1p1)){
            if (coins < 5*stufe){
                Toast.makeText(getApplicationContext(), "Du hast nicht genügend Coins!", Toast.LENGTH_LONG).show();
            }else if(coins >= 5*stufe){
                Toast.makeText(getApplicationContext(), "Du bekommst Internet!", Toast.LENGTH_LONG).show();

                WifiManager wmgr = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

                final WifiConfiguration config = new WifiConfiguration();
                config.SSID = tag1p1netz;
                config.preSharedKey = tag1p1pass;
                wmgr.setWifiEnabled(true);
                int networkId = wmgr.addNetwork(config);
                wmgr.enableNetwork(networkId, true);

                coins-= 5*stufe;

}
}

Ps.: Tag 1.2 als Beispiel nehmen
    
Programmieren, Java, Android, String, wifi connection, Variablen, wifi Verbindung, Android Studio

Meistgelesene Fragen zum Thema Wifi connection