Mam problem, czytając getSharedPreferences z klasy Non-Activity, aby ustawić listę odtwarzania w odtwarzaczu ... W mojej aktywności biorę zmienną łańcuchową z edittext, aby uzyskać ścieżkę folderu do pracy z plikami audio ...Android non-Activity getSharedPreferences
public class MainActivity extends Activity {
String ppp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String PATH = getSharedPreferences("PATH", MODE_PRIVATE).getString("path", ppp);
if (PATH == null){
..........
...........
path_tv.setText("folder is undefined");
}
else {
path_tv.setText("folder defined: /mnt/sdcard/" + PATH);
}
set_path.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (path_edit.getText().toString().length() == 0){
Toast.makeText(getBaseContext(), "folder is undefined", Toast.LENGTH_SHORT).show();
}
else {
ppp = path_edit.getText().toString();
getSharedPreferences("PATH", MODE_PRIVATE)
.edit()
.putString("path", ppp)
.commit();
File folder = new File(Environment.getExternalStorageDirectory() + "/" + ppp);
boolean success = false;
if (!folder.exists()) {
success = folder.mkdir();
if (success) Toast.makeText(getBaseContext(), ".....", Toast.LENGTH_SHORT).show();
}
String PATH = getSharedPreferences("PATH", MODE_PRIVATE).getString("path", ppp);
path_tv.setText("........ /mnt/sdcard/" + PATH);
path_edit.setText("");
}
}
});
Więc aktywności mogę zmienić i zapisać wartość String w udostępnionych preferencji ho ... Ale mogę to zrobić z klasą publiczną ...? Doceń wszelkie przykłady ...
Ok, dodałem MyApp do manifestu i jako klasę z rozszerzeniami ... Teraz w mojej klasie stworzyłem konstruktora, gdzie dodano AppApp.getInstance(); – timonvlad
Ale nadal daje zerowy wyjątek .... na czym polega problem? – timonvlad
Czy możesz podać ślad stosu? ewentualnie na mój e-mail - kiedy rozwiążemy Twój problem, możemy edytować twoje pytanie lub moją odpowiedź. Używam tego typu rozwiązania kilka razy. –