[Tutorial] Cara Akses Real Time Grafik menggunakan Graphview di Android Studio

Cara Akses Real Time Grafik menggunakan Graphview di Android Studio

Pada tutorial kali ini saya akan menjelaskan bagaimana mengakses real time grafik menggunakan libraries Graphview pada Android Studio. Adapun perangkat yang dibutuhkan yaitu menggunakan library jjoe64 yang bias kita kunjungi pada website ini : https://github.com/jjoe64/GraphView . Setelah masuk website kalian download library jar dengan versi 4.2.1 dan tambahkan pada folder Android Application Project.

Pertama kita edit pada bagian XML nya terlebih dahulu :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
xmlns:tools="http://schemas.android.com/tools"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
android:paddingBottom="@dimen/activity_vertical_margin"
   
android:paddingLeft="@dimen/activity_horizontal_margin"
   
android:paddingRight="@dimen/activity_horizontal_margin"
   
android:paddingTop="@dimen/activity_vertical_margin"
   
tools:context="com.example.dimas.tutorial1aksesgraphviewandroidstudio.MainActivity">

    <
com.jjoe64.graphview.GraphView
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:id="@+id/view"
       
android:layout_centerVertical="true"
       
android:layout_alignParentLeft="true"
       
android:layout_alignParentStart="true" />
</
RelativeLayout>

Kedua edit bagian java Android Studio :
package com.example.dimas.graphview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.Random;

import android.app.Activity;
import android.os.Bundle;

import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.Viewport;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.LineGraphSeries;

public class MainActivity extends AppCompatActivity {
    private static final Random RANDOM = new Random();
    private LineGraphSeries<DataPoint> series;
    private int lastX = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // we get graph view instance
        GraphView graph = (GraphView) findViewById(R.id.view);
        // data
        series = new LineGraphSeries<DataPoint>();
        graph.addSeries(series);
        // customize a little bit viewport
        Viewport viewport = graph.getViewport();
        viewport.setYAxisBoundsManual(true);
        viewport.setMinY(0);
        viewport.setMaxY(10);
        viewport.setScrollable(true);
    }

    @Override
    protected void onResume() {
        super.onResume();
        // we're going to simulate real time with thread that append data to the graph
        new Thread(new Runnable() {

            @Override
            public void run() {
                // we add 100 new entries
                for (int i = 0; i < 100; i++) {
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            addEntry();
                        }
                    });

                    // sleep to slow down the add of entries
                    try {
                        Thread.sleep(600);
                    } catch (InterruptedException e) {
                        // manage error ...
                    }
                }
            }
        }).start();
    }

    // add random data to graph
    private void addEntry() {
        // here, we choose to display max 10 points on the viewport and we scroll to end
        series.appendData(new DataPoint(lastX++, RANDOM.nextDouble() * 10d), true, 10);
    }
}


Kemudian kalian build dan run aplikasi android yang telah kalian buat, kemudian lihat hasilnya.



Post a Comment

Previous Post Next Post