Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Baron Rojo
2 / 2 / 8
Регистрация: 21.11.2012
Сообщений: 202
19.07.2016, 18:02  [ТС]

SharedPreferences стираются после перезапуска приложения - Программирование Android

19.07.2016, 18:02. Просмотров 254. Ответов 10
Метки (Все метки)

Вот активити которая сохраняет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package example.com.cargo;
 
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
 
/**
 
 */
public class GeneralSettingsActivity extends Activity {
 
    EditText et_ip_address;
    EditText et_car_type;
    EditText et_district;
 public static    SharedPreferences s_pref;
 
 
    @Override
    public  void onCreate(Bundle sis)
    {
super.onCreate(sis);
        setContentView(R.layout.general_settings_activity);
        et_ip_address=(EditText)findViewById(R.id.ipaddr);
        et_car_type = (EditText) findViewById(R.id.et_car_type);
        et_district=(EditText)findViewById(R.id.et_district);
    }
 
    public  void save_district(View v){
 
        save("district",et_district.getText().toString());
    }
    public  void ip_addr_save(View v){
 
        save("IP",et_ip_address.getText().toString());
    }
    public  void car_type_save (View v){
        save("car_type",et_car_type.getText().toString());
    }
    private void save(String preference_to_save, String TAG){
 
        s_pref= getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor ed = s_pref.edit();
        ed.putString(TAG, preference_to_save);
        ed.commit();
    }
}

Вот так которая вызывает то что сохранено
http://www.cyberforum.ru/android-dev/thread1436942.html

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package example.com.cargo;
 
import android.app.Activity;
 
import android.content.ContentValues;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
 
import java.security.cert.TrustAnchor;
import java.util.ArrayList;
import java.util.concurrent.ExecutionException;
 
/**
 
 */
public class DriversActivity extends Activity
{   Resources res;
    //EditText etIpAddr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.drivers_layout);
        res=getResources();
     //   etIpAddr=(EditText)findViewById(R.id.ipaddr);
    }
    public void  driver_settings_click(View v){
 
        try{
            Intent intent = new Intent(getApplicationContext(), SettingsActivity.class);
            startActivity(intent);
        }
        catch (Exception ex)
        {
            Toast.makeText(getApplicationContext(),ex.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
    private String load_preference(String name){
 
        String savedText =     GeneralSettingsActivity.s_pref.getString(name, "");
  //      Toast.makeText(getApplicationContext(),savedText,Toast.LENGTH_LONG).show();
        return  savedText;
    }
    private String load_preference(String name,String def){
 
        String savedText =     GeneralSettingsActivity.s_pref.getString(name, def);
//        Toast.makeText(getApplicationContext(),savedText,Toast.LENGTH_LONG).show();
        return  savedText;
    }
    public  void update_orders_button_click(View v){
ASConnectUpdt asc= new ASConnectUpdt();
        asc.execute(load_preference("IP")); //Здесь мы задаем айпи полученыный из поля ввода
        String result="-1"; //Переменная для хранения результат
 
        try{
        result= asc.get();
 
 
        } //Собственно получаем результат
 
        catch (InterruptedException ex){Toast.makeText(getApplicationContext(),ex.getMessage()+"\n"+ex.toString(),Toast.LENGTH_SHORT).show();//Пока так
         }
        catch (ExecutionException ex){Toast.makeText(getApplicationContext(),ex.getMessage()+"\n"+ex.toString(),Toast.LENGTH_SHORT).show();//Пока так
        }
 
        final  ArrayList<Order>     orders = ServerManager.parse_update_response(result); //из полченного ответа вынимаем
       //Создакем жлементы класса Order и в отдельном потоке кладем их в локальную БД.
 
//Resources r=getResources();
        //
   DBManager dbManager= new DBManager(getApplicationContext(), DBManager.DATABASE_NAME,null,1); // вызовем конструктор нашего класса
     final   SQLiteDatabase db= dbManager.getWritableDatabase(); // получим бд
      db.execSQL("DELETE FROM orders"); //На всякий случай очитсим  локальную бд от старых данных.
        db.execSQL("VACUUM");
        new Thread(){
        @Override
        public  void run(){
            for(Order o :orders) {
                ContentValues cv = new ContentValues();
                cv.put(DBManager.ID_COLUMN, o.getID());
                cv.put(DBManager.SOURCE_COLUMN, o.getSource());
                cv.put(DBManager.DIST_COLUMN, o.getDist());
                cv.put(DBManager.CAR_TYPE_COLUMN, o.getCar_type());
                cv.put(DBManager.PRICE_COLUMN, o.getPrice());
                cv.put(DBManager.ACTIVE_COLUMN, o.getActive());
                cv.put(DBManager.CANCELED_COLUMN, o.getCanceled());
                cv.put(DBManager.TAKEN_COLUMN, o.getTaken());
                cv.put(DBManager.COMMNET_COLUMN, o.getComment());
                cv.put(DBManager.point_B_COLUMN, o.getPoint_B());
                cv.put(DBManager.PHONE_COLUMN, o.getPhone());
                db.insert("orders", null, cv);
 
            }
        }
        }.start();
 
 
 
 
    }
 
    //Класс отвечает за подклчние и отправку запроса на сервер.
    class ASConnectUpdt extends AsyncTask<String, Void, String>
    {
        String r;
        private String server_request(String address) {
String s=res.getString(R.string.update_orders).replace("val0",load_preference("car_type","gazel"));
            ServerManager sm = new ServerManager(address, s,getApplicationContext());
            String st=sm.read();
            // sm=null;
            return     st;
 
        }
        protected String doInBackground(String... params) {
            String st="";
 
            for (String p :params) {
                st += server_request(p);
            }
 
            return st;
        }
 
        protected void onPostExecute(String result)
        {
            super.onPostExecute(result);
 
        }
 
 
    }
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2016, 18:02
Готовые ответы и решения для Программирование Android SharedPreferences стираются после перезапуска приложения:

При повторном запуске приложения не загружаются сохраненные значения SharedPreferences
Всем привет. сразу пишу, что андроид начал изучать недавно. В общем, в...

При переносе приложения на карту памяти где хранятся SharedPreferences, SQLite базы и тп ?
Где хранятся настройки SharedPreferences, SQLite базы и тд? Нужно ли что то...

SharedPreferences
как сохранить целое значение в SharedPreferences?

SharedPreferences
String PR = &quot;key&quot;; SharedPreferences mySharedPreferences =...

SharedPreferences
Можно как-то сохранить SharedPreferences файл после перезагрузки девайса? ...

10
SharedPreferences стираются после перезапуска приложения Программирование Android   Следующее сообщение темы 
Другие темы раздела
Программирование Android Не получается отцентровать два чекбокса по горизонтали http://www.cyberforum.ru/android-dev/thread1782603.html
Ставлю обычные теги на горизонтальную центровку, текст выравнивается, а сам квадратик остается сбоку. Как его сдвинуть вместе с текстом? <LinearLayout android:orientation="horizontal" ...
Программирование Android Графический язык составления логических схем и интерпретация Добрый день. Какими средствами можно создать программу, в которой можно писать логические и математические действия блоками? Вытаскиваем блоки из палитры, соединяем линиями, вводим инициализирующие... http://www.cyberforum.ru/android-dev/thread1782476.html
Rx Java Программирование Android
Если запустить запрос на сервер в Observable в приложении где основной поток Ui. то эта сетевая операция создастся в новом потоке или будет выполнятся в том же что и ui? Можете объяснить? ...
Диалог указания координаты на карте Программирование Android
Гуру, кто-нибудь подобный компонент встречал? Не хочу с нуля "велосипед" изобретать... Думаю такое много раз писали и даже где-нибудь в опенсорсах лежит... Надо чтобы юзер указал сам где он...
Программирование Android RxJava + okHttp http://www.cyberforum.ru/android-dev/thread1782397.html
Есть такой код в onCreate() @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ...
Программирование Android Как сделать фильтр на определенные слова в textView В textView передается текст, из которого пользователю необходимы определенные слова. Как сделать фильтр чтобы отображались только они ? подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru