is_there_something_wrong
@is_there_something_wrong
java - падаван, SEO

Как сохранить значение в Sharedpreferences?

Есть код, ниже.

Не могу допереть, как сохранить таймер в Sharedpreferences, чтобы при закрытии приложения он продолжал обратный отсчёт?

И, если не сложно, подскажите как сделать, чтобы таймер отображался в виде 00:00, а то у меня там тысячи =(

Делаю в Android Studio

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();


            }
        });

    }

}
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы