Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как сохранить значение в Sharedpreferences?
is_there_something_wrong
@is_there_something_wrong
java - падаван, SEO

Куда вставить SharedPreferences?

Пишу программу, подобие "Магического Шара" из фильма "Траса 60".

Не могу понять какой и куда вставить код SharedPreferences.

Надо, что-бы после закрытия приложения таймер не прекращал работать.

Код:
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


import java.io.IOException;


public class MainActivity<time> extends AppCompatActivity {
    //Объявим переменные компонентов
    Button button;
    TextView textView;
    TextView mTimer;
    SharedPreferences nTime;




    //Переменная для работы с БД
    private BDGuru mDBHelper;
    private SQLiteDatabase mDb;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        mDBHelper = new BDGuru(this);

        try {
            mDBHelper.updateDataBase();
        } catch (IOException mIOException) {
            throw new Error("UnableToUpdateDatabase");
        }

        try {
            mDb = mDBHelper.getWritableDatabase();
        } catch (SQLException mSQLException) {
            throw mSQLException;
        }

        //Найдем компоненты в XML разметке
        button = (Button) findViewById(R.id.button);
        textView = (TextView) findViewById(R.id.textView);
        mTimer = (TextView) findViewById(R.id.mTimer);

        //Клик по кнопке
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(final View v) {

                String product = "";
                Cursor cursor = mDb.rawQuery("SELECT * FROM Guru ORDER BY RANDOM() LIMIT 1;", null);
                cursor.moveToFirst();
                while (!cursor.isAfterLast()) {
                    product = cursor.getString(1);
                    cursor.moveToNext();
                }
                cursor.close();

                textView.setText(product);
                v.setVisibility(View.GONE);

                int _12HoursInMilSecs = 12 * 60 * 60 * 1000;
                v.postDelayed(new Runnable() {
                    public void run() {
                        v.setVisibility(View.VISIBLE);
                    }
                }, _12HoursInMilSecs);



                new CountDownTimer(_12HoursInMilSecs,1000) {



                    public void onTick(long millisUntilFinished) {
                        mTimer.setText("seconds remaining: " + millisUntilFinished / 1000);


                    }


                    public void onFinish() {
                        mTimer.setText("");
                    }

                }
                .start();


            }
        });

    }

}
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Простой 2 комментария
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Таймер и преференсы между собой никак не связаны.
Пост в цикл ui-событий на 12 часов это очень сильно, конечно. Так не делается. Смотри в сторону AlarmManager'a.
В бд на ui-thread ходить нельзя.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы