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

Оптимизация приложения - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Пытаюсь добавить в проект application, но выходит ошибка http://www.cyberforum.ru/android-dev/thread1386638.html
Добавил class для аpplication и одну строчку манифесте, почему то сразу вылетает ошибки 03-03 09:59:31.582: D/jdwp(21588): processIncoming 03-03 09:59:31.586: D/jdwp(21588): handlePacket :...
Программирование Android Реклама AdMob Помогите что делать доход на тыс. показов 0.01$ http://www.cyberforum.ru/android-dev/thread1386584.html
Программирование Android Пытаюсь передать данные через Intent, но выходит ошибка
Пытаюсь передать данные через Intent, но выходит ошибка, когда пытаюсь передать число Вот, что выводит в Логе 03-02 21:03:36.339: E/AndroidRuntime(30484): FATAL EXCEPTION: main 03-02...
Программирование Android Андроид приложение расширяемое модулями
Есть такая задача: Написать кроссплатформенное приложение (пока можно только андроид) для строителей. Грубо говоря формочка заполняется, производится некий расчет и вываливается в итоге график....
Программирование Android Android и JSON http://www.cyberforum.ru/android-dev/thread1386330.html
Делал до этого просто получение данных от базы,посредством php-скрипта. Начал делать с прикреплением параметров-приложение закрашилось String url_product =...
Программирование Android HTTP запрос с интервалом Здравствуйте! Подскажите как получать код странички с интервалом ~85мс Я пробовал так, подключая таймерclass DownloadWebPageTask extends AsyncTask<String,Void, String> { String results; ... подробнее

Показать сообщение отдельно
Frai32
0 / 2 / 0
Регистрация: 24.08.2013
Сообщений: 137
04.03.2015, 08:18  [ТС]
Тогда мне нужен правильный цикл что бы не зависало, суть в том что повторяющихся значений быть не должно.

Добавлено через 48 секунд
и от 0-6 это только при определённых условиях, есть ещё генирация из 30 чисел.

Добавлено через 17 часов 7 минут
В общем проблему решил генерацией случайного числа путём перемешивания массива.Но появилась другая проблема начало появляться исключение:
Java
1
 android.database.CursorIndexOutOfBoundsException: Index 6 requested, with a size of 6
С начало я думал что дело в курсоре когда он получает значение 6 то не может перейти по индексу и зависает, решил убрать 6 из из массива, но не помогло. Не могу разобраться что происходит и как это можно исправить.

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
                Collections.shuffle(array);
                
                int Res = array.get(0);
 
                        //Если выбран элемент в списке со значением 0
                if (PositionOfSpiner==0)
                {
                               //и если значение случайного числа меньше 6
                    if(Res<6)
                    {
                                        //если в счётчике уже есть число то создаём новое пока не будет совпадений
                        while(ObjectivList.contains(Res))
                        {   
                            
                            Collections.shuffle(array); 
                             Res = array.get(0);
                        }
 
                        //Добавляем поле из таблицы на активити
                        genirator(Res,sID,sName,sDiscription,Acursor);
                        GenirateObjective(Acursor);
                    }
                               //если больше 6 то по аналогии 
                     if (Res>6)
                        {
                    while(ObjectivList.contains(Res))
                    {   
                        Collections.shuffle(array); 
                        Res = array.get(0);
                    }
                    cursor.moveToFirst();
                                    
                    genirator(Res,sID,sName,sDiscription,cursor);
                        }
                }
                else if (PositionOfSpiner>0)
                {
                    if(Res<6)
                    {
                        while(ObjectivList.contains(Res))
                        {   
                            
                            Res = random.nextInt(7);
                        }
 
                        
                        genirator(Res,sID,sName,sDiscription,Acursor);
                        GenirateObjective(Acursor);
                    }
                     if (Res>=6)
                    {
                        while(ObjectivList.contains(Res))
                        {   
                            
                            Res = random.nextInt(30);
                        }
 
                                
                        genirator(Res,sID,sName,sDiscription,cursor);
                    }
                }
код методов

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
//этот метод добавляет реузультат на активити
private void genirator(int Res, String sID, String sName, String sDiscription, Cursor cursor)
    {
        cursor.moveToFirst();
                //проходим по списку..
        for(int i = 0; i<ObjectivList.size(); i++)
        {
                //если похожего числа там нет то..
            if ( !ObjectivList.contains(Res))
            {
                         //добавляем его в список
                ObjectivList.add(Res);
                                 //перемещаем курсор на позицию равную этому  числу
                cursor.moveToPosition(Res);
                                //заполняем текстовые поля
                sID = cursor.getString(cursor.getColumnIndex(DBExport.COLUMN_TID));  
                sName = cursor.getString(cursor.getColumnIndex(DBExport.COLUMN_NAME)); 
                sDiscription = cursor.getString(cursor.getColumnIndex(DBExport.COLUMN_DS));
                GenirateObjective(cursor);
                tvObjective.setText(sID +" : "+sName);
                tvDiscription.setText(sDiscription);
 
            }
      
          
        }
Java
1
2
3
4
5
6
7
8
9
10
        //Метод добавляющий в таблицу новое поле.
    private void GenirateObjective(Cursor cursor)
    {
         db.addRec(cursor.getInt(cursor.getColumnIndex(DBExport.COLUMN_ID)), 
                   cursor.getString(cursor.getColumnIndex(DBExport.COLUMN_NAME)), 
                   cursor.getString(cursor.getColumnIndex(DBExport.COLUMN_DS)),
                   cursor.getInt(cursor.getColumnIndex(DBExport.COLUMN_TID)));
                 // cursor.getInt(nameColIndexCO));
         cursor1.requery();
    }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru