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

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

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

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

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

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

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

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

Отмечаем Новый год
Дамы и господа :), как Новый год встречать будете? Поделитесь планами!

Пройденные мили в 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 целое число, не различимы. Написать программу,...

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

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

+:

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

-:

Почти невозможно (практически очень тяжело) добавлять динамические данные. Т.е. расчитывайте на константную величину.
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????
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 13:12     Отмечаем в приложении пройденные задания
Еще ссылки по теме:

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

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


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

Или воспользуйтесь поиском по форуму:
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
04.06.2014, 13:12     Отмечаем в приложении пройденные задания #6
Цитата Сообщение от Kiro4ka_5 Посмотреть сообщение
(!"true".equals(vip_zad))
не не не)

Java
1
if (!vip_zad)
вот так
Yandex
Объявления
04.06.2014, 13:12     Отмечаем в приложении пройденные задания
Ответ Создать тему
Опции темы

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