# Wifi verbinden durch SharensPreferens Android Studio



## wer112 (16. Aug 2020)

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


                cointext.setText("Deine Coins: " + coins);

                SharedPreferences prefs = getSharedPreferences("coingespeichert", MODE_PRIVATE);
                SharedPreferences.Editor editor = prefs.edit();
                editor.putLong("coins",coins);
                editor.apply();

            }

        }else if (e.equals(tag1p2)){
            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 = tag1p2netz;
                config.preSharedKey = tag1p2pass;
                wmgr.setWifiEnabled(true);
                int networkId = wmgr.addNetwork(config);
                wmgr.enableNetwork(networkId, true);

                coins-= 5*stufe;

                cointext.setText("Deine Coins: " + coins);

                SharedPreferences prefs = getSharedPreferences("coingespeichert", MODE_PRIVATE);
                SharedPreferences.Editor editor = prefs.edit();
                editor.putLong("coins",coins);
                editor.apply();

            }

        }else if (e.equals(tag1p3)){
        
        
            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 = tag1p3netz;
                config.preSharedKey = tag1p3pass;
                wmgr.setWifiEnabled(true);
                int networkId = wmgr.addNetwork(config);
                wmgr.enableNetwork(networkId, true);

                coins-= 5*stufe;

                cointext.setText("Deine Coins: " + coins);

                SharedPreferences prefs = getSharedPreferences("coingespeichert", MODE_PRIVATE);
                SharedPreferences.Editor editor = prefs.edit();
                editor.putLong("coins",coins);
                editor.apply();

            }

        }
    
    
    }
```


----------

