Значение оси в GraphView

205
16 марта 2019, 06:20

Столкнулся со следующей проблемой: мне необходимо построить график. Одна ось этого графика - обычное число. Вторая - дата, которая хранится в объекте GregorianCalendar. По сути, необходимо, чтобы на оси были представлены даты, например 01.01.2018, причем между датами было еще пропорциональное расстояние, то есть между 01.01.2018 и 02.01.2018 расстояние в разы меньше чем допустим 01.02.2018. Только совсем не представляю, как это реализовать. Думал попревращать это все в строки, но дальше ничего не придумал

UPD

Попробовал сделать следующим образом:

createGraph.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d(LOG_TAG, "--- Rows in myTable: ---");
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                Cursor cursor = db.query("myTable",null,null,null,null,null,null);
                ArrayList<Integer> pulses = new ArrayList<>();
                ArrayList<Calendar> dates = new ArrayList<>();
                if (cursor.moveToFirst()){
                    int idColIndex = cursor.getColumnIndex("id");
                    int idColPulse = cursor.getColumnIndex("pulse");
                    int dateColIndex = cursor.getColumnIndex("date");
                    int monthColIndex = cursor.getColumnIndex("month");
                    int yearColIndex = cursor.getColumnIndex("year");
                    do{
                        pulses.add(cursor.getInt(idColPulse));
                        dates.add(new GregorianCalendar(cursor.getInt(yearColIndex), cursor.getInt(monthColIndex), cursor.getInt(dateColIndex)));
                    }while (cursor.moveToNext());
                    cursor.close();
                    dbHelper.close();
                }
                DataPoint arr[] = new DataPoint[pulses.size()];
                for (int i = 0; i<pulses.size();i++){
                    arr[i] = new DataPoint(dates.get(i), pulses.get(i));
                }
            }
        });

Однако теперь проблема в том, что конструктора под GregorianCalendar и int нету.

READ ALSO
Почему добавляются слэшы в теле запроса ?

Почему добавляются слэшы в теле запроса ?

Нужно получить тело для запроса такого вида

175
Некорректное отображение экранов. Android

Некорректное отображение экранов. Android

Пишу приложение и пытаюсь адаптировать его для всех экрановСоздаю layout пакеты для всех размеров экрана, в которых activity_main

141
Почему System.in объект ввода?

Почему System.in объект ввода?

Для чтения символа с клавиатуры достаточно вызвать метод Systemin

153
Exception while invoking run java.lang.NullPointerException [дубликат]

Exception while invoking run java.lang.NullPointerException [дубликат]

На данный вопрос уже ответили:

168