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

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

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

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

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

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

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

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

Android AdMob в приложении
Анимация в приложении Android
Android Свайп в приложении
Android Музыка в приложении
Android Приложении на андроид
Android Видео в приложении
Новости в приложении Android
Увеличение в приложении Android
Android Баг в приложении
Android Звук в приложении
Android Https в приложении
Чат в приложении Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 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
1565 / 1307 / 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????
YuraAAA
1565 / 1307 / 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