Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kiro4ka_5
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 12
#1

Отмечаем в приложении пройденные задания - Программирование Android

03.06.2014, 12:01. Просмотров 480. Ответов 5
Метки нет (Все метки)

Здравствуйте уважаемые программисты, помогите пожалуйста, разобраться с разработкой небольшого кода на Java в среде Eclipse.

Есть страница приложения с множеством кнопок (при нажатии на эти кнопки появляются различные задания), как сделать так чтобы, выполнив задание правильно рядом с кнопкой появлялась небольшая картинка, символизирующая о прохождении этого задания (например, звездочка)? Буду очень благодарна хотя бы на небольшие намеки))))

Понимаю, что нужно создать переменную, которая будет принимать значение true при правильном выполнении задания. Ее можно записать либо в файл отдельный, либо создать небольшую базу данных. Проблема состоит в считывании этой переменной и создании кода появления отметки на кнопке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 12:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отмечаем в приложении пройденные задания (Программирование Android):

Пройденные мили в NFS Most Wanted Black Edition - Симуляторы
Добрый день. Давно интересует такой вопрос: Что такое параметр "пройдено миль", какими конкретно действиями он повышается? Именно из-за...

Если я переустановлю GTA 4, то мои пройденные миссии останутся? - Action/FPS игры
если я переустановлю гта4, то мои пройденные миссии останутся???

Из файла дисциплин сформируйте новый файл f2, содержащий еще не пройденные предметы - Turbo Pascal
Для файла f1 содержащего список дисциплин и номера семестров, сформируйте новый файл f2, содержащий еще не пройденные предметы. ...

После задания 8.04 консоль закрывается, хотя впереди еще задания и readln-ы - Delphi
Добрый день, делаю несколько простых заданий связанных со строками, проблема в том что после задания 8.04 консоль закрывается хотя впереди...

лаба. 3 задания, написать для каждого задания отдельную прогу. - Pascal
5*. Известно, что с геометрической точки зрения углы, различающиеся в 2pi n раз, где n целое число, не различимы. Написать программу,...

Объединить программы для задания 1 и задания 2 в одну - Turbo Pascal
Нужно выполнить программу на паскале, объединив программы для задания 1 и задания 2 в одну. Подскажите, как это сделать? И как написать...

5
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
03.06.2014, 14:42 #2
Kiro4ka_5,
Цитата Сообщение от Kiro4ka_5 Посмотреть сообщение
в считывании этой переменной
а что именно вызывает трудности? Записывайте в базу какой-нибудь объект (например ID задания и статус (1/0)) и считывайте потом.
0
Kiro4ka_5
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 12
04.06.2014, 11:03  [ТС] #3
Проблема в считывании как раз)))) Вот запишу я в отдельный файл константу, которая будет говорить о пройденном задании, а как потом сделать так чтобы это константа проверялась, что если она true то появилась звездочка(отметка), если false, то нет отметки. Не знаю как реализовать эту проверку, в этом суть.

Добавлено через 9 минут
Нашла небольшие статьи по этой теме, вдруг кому пригодится:
http://developer.alexanderklimov.ru/android/preference.php
http://developer.alexanderklimov.ru/...references.php
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
04.06.2014, 11:07 #4
Kiro4ka_5, у этого подхода есть как и плюсы, так и минусы:

+:

Удобство работы.

-:

Почти невозможно (практически очень тяжело) добавлять динамические данные. Т.е. расчитывайте на константную величину.
0
Kiro4ka_5
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 12
04.06.2014, 12:10  [ТС] #5
Создала отдельный файл с настройками:

Java
1
2
3
4
5
6
7
8
9
10
11
    public static final String APP_PREFERENCES = "mysettings";
    public static final String APP_PREFERENCES_VIPZAD = "vip_zad";
    
    SharedPreferences mSettings;
    boolean vip_zad;
 
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_igri);
        mSettings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
}
В этом файле прописала переменную vip_zad.

Теперь в другом файле(файле задания) прописала код с записью этой переменной(суть задания в том что при нажатии на нужную картинку эта переменная должна принять значении true):

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
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zad_1);
        
                ImageButton kotik4 = (ImageButton) this.findViewById(R.id.kotik4_car);
                kotik4.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        int duration = Toast.LENGTH_LONG;
                        Toast toast2 = Toast.makeText(getApplicationContext(), 
                                "Молодец. Правильно.",
                                Toast.LENGTH_SHORT);
                        toast2.setGravity(Gravity.CENTER, 0, 0);
                        LinearLayout toastView = (LinearLayout) toast2.getView();
                        ImageView imageCat = new ImageView(getApplicationContext());
                        imageCat.setImageResource(R.drawable.pravilno);
                        toastView.addView(imageCat, 0);
                        toast2.show();
                        playSound(pravSound);
                        Editor editor = mSettings.edit();
                        vip_zad=true;
                        editor.putBoolean(APP_PREFERENCES_VIPZAD, vip_zad);
                        editor.apply();
                    }
                });
    }
И затем в файле с самими заданиями прописала код считывания(так же создала форму ImageView с ID imageView1, сюда должна прикрепляться эта метка):

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        // если ли нужный нам ключ
        if (mSettings.contains(APP_PREFERENCES_VIPZAD)) {
            // Выводим на экран
            if (!"true".equals(vip_zad))
            {
                imageView1.setImageResource(R.drawable.nev);
            }
            else
            {
                imageView1.setImageResource(R.drawable.vip);
            }
 
        }
    }
Но что-то не получается((((

То есть лучше вместо bool использовать string????
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
04.06.2014, 13:12 #6
Цитата Сообщение от Kiro4ka_5 Посмотреть сообщение
(!"true".equals(vip_zad))
не не не)

Java
1
if (!vip_zad)
вот так
0
04.06.2014, 13:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 13:12
Привет! Вот еще темы с ответами:

Проверка наличия задания и назначение задания - CMD/BAT
Вопрос как зделать так чтоби ето задания после повторно запуска *.bat проверяло существует ли даное занания если существует то несоздает...

2 задания - Python
Помогите доделать 2 задания) почти все готово 1. Дан одномерный массив числовых значений, насчитывающий N элементов. Добавить столько...

C++ задания - C++
Вообщем было поручено сделать 5 задачь 3 сделал,но на счёт правильности не уверен! Вот условия тех задач которые я написал: В вложениях...

Задания - Visual Basic
Вообще не понимаю эту программу, но срочно надо сделать кучу заданий, кто-нибудь помогите пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru