dies ist meine erste android app Ich versuche, die sharedpreferences auf reciever Seite in Echtzeit unter dem Code zu aktualisieren ist für mainactivity.javaGemeinsame Voreinstellungen auf Empfängerseite in Echtzeit verbessern?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
disp =(TextView) findViewById(R.id.textView2);
sharedPreferences = getSharedPreferences(MyPREFERENCES,Context.MODE_PRIVATE);
String host = sharedPreferences.getString(hostip,"");
String clientId = MqttClient.generateClientId();
client = new MqttAndroidClient(this.getApplicationContext(),"tcp://"+host,clientId);
try {
IMqttToken token = client.connect();
token.setActionCallback(new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken) {
Toast.makeText(MainActivity.this,"Connected",Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
Toast.makeText(MainActivity.this,"Connection failed",Toast.LENGTH_LONG).show();
}
});
} catch (MqttException e) {
e.printStackTrace();
}
}
settings.java, die der Senderseite
SharedPreferences sharedpreferences;
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String hostip = "hostipkey" ;
public static final String topic = "topickey" ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
editText1 = (EditText) findViewById(R.id.ipadd);
editText2 = (EditText) findViewById(R.id.api);
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
submit=(Button)findViewById(R.id.submit);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String host = editText1.getText().toString();
String api = editText2.getText().toString();
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(hostip, host);
editor.putString(topic, api);
editor.apply();
Toast.makeText(settings.this,"Done",Toast.LENGTH_LONG).show();
}
});
}
ist Der obige Code funktioniert gut, aber das Problem, mit dem ich konfrontiert bin, ist, dass meine Daten in gemeinsamen Präferenzen nicht auf der Empfängerseite in Echtzeit aktualisiert werden. Um die Daten zu erhalten, musste ich die App neu starten, damit meine neuen Werte in der Hauptaktivität aktualisiert werden. Jede Hilfe in Bezug auf diese ist viel
Grüße saif
Vielen Dank Sie ein Lebensretter sir sind –
Sie Willkommen :) sind –