Реализация динамического графика на Java в Android Studio

Я получаю данные с arduino через Bluetooth модуль. Все данные приходят и успешно выводятся в Edit Text. Но дальше начинается проблема с рисованием динамического графика.Я получаю цифру, дальше преобразую её в int, затем начинаю строить график, и первая проблема в том, что спустя 4 и больше полученных значений приложение вылетает. Так же проблема с построением графика. Выходит какая-то фигня, значения должны варьироваться от 1 до 1023, однако график либо уходит вверх, рисунка не видно, либо начинается ересь со значениями. Для графика юзаю библиотека GraphView. Ниже код, буду благодарен, если сможете подсказать, что не так.

    private GraphView Graph;
    private LineGraphSeries series;
    .................
    GraphView graph = (GraphView) findViewById(R.id.graph);

    series    =  new LineGraphSeries();
    graph.addSeries(series);
    graph.getViewport().setMinX(0);
    graph.getViewport().setMaxX(40);
    graph.getViewport().setXAxisBoundsManual(true);
    ...........................
    public void run() {
        BufferedInputStream bis = new BufferedInputStream(inputStream);
        StringBuffer buffer = new StringBuffer();
        final StringBuffer sbConsole = new StringBuffer();
        final ScrollingMovementMethod movementMethod = new ScrollingMovementMethod();


        while (isConnected) {
            try {
                int bytes = bis.read();
                buffer.append((char) bytes);
                int eof = buffer.indexOf("\r\n");
                if (eof > 0) {
                    sbConsole.append(buffer.toString());
                    buffer.delete(0, buffer.length());
                    string1=sbConsole.toString();
                    A+=1;
                    final int k=Integer.parseInt(string1.replaceAll("[\\D]",""));
                    series.appendData(new DataPoint(A,k), true, 40);
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                           // int A=Integer.parseInt(string1);
                            etConsole.setText(string1);
                            etConsole.setMovementMethod(movementMethod);
                        }
                    });
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        try {
            bis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Это майн активити Так же кидаю xml, возможно в нём тоже есть ошибки...

      <com.jjoe64.graphview.GraphView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/graph"
        android:padding="8dp"
        android:layout_below="@+id/console"
        />

Буду благодарен за любую помощь


Ответы (0 шт):