GRADLE:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28 buildToolsVersion "29.0.3" defaultConfig {
applicationId "com.example.spkpenilaiankaryawan" minSdkVersion 17 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }
buildTypes {
release {
minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' }
}
useLibrary 'org.apache.http.legacy'}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:cardview-v7:28.0.0' implementation 'com.github.lecho:hellocharts-library:1.5.8@aar'}
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:id="@+id/txtTitle0" android:layout_marginTop="7dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SPK Penilaian Karyawan" android:textSize="24dp" android:textColor="#0000ff" android:textStyle="bold" android:layout_gravity="center"/>
<TextView android:id="@+id/txtTitle" android:layout_marginTop="7dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SPK Penilaian Karyawan" android:textSize="20dp" android:textColor="#ff0000" android:textStyle="bold" android:layout_gravity="center"/>
<lecho.lib.hellocharts.view.LineChartView android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="match_parent" />
</LinearLayout>
JAVA
package com.example.spkpenilaiankaryawan;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
//import androidx.appcompat.app.AppCompatActivity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import lecho.lib.hellocharts.model.Axis;
import lecho.lib.hellocharts.model.AxisValue;
import lecho.lib.hellocharts.model.Line;
import lecho.lib.hellocharts.model.LineChartData;
import lecho.lib.hellocharts.model.PointValue;
import lecho.lib.hellocharts.model.Viewport;
import lecho.lib.hellocharts.view.LineChartView;
//import android.support.v7.app.AppCompatActivity;
public class myGraph extends AppCompatActivity {
String ip="";
JSONParser jParser = new JSONParser();
JSONArray myJSON = null;
ArrayList<HashMap<String, String>> arrayList;
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
private static final String TAG_id_hasil = "id_hasil";
private static final String TAG_nip = "nip";
private static final String TAG_nama_penilaian = "nama_penilaian";
String nip,nama;
int sukses;
int jd=0;
LineChartView lineChartView;
String[] axisID;// = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept","Oct", "Nov", "Dec"}; String[] axisKet;
int[] axisBobot;
int[] axisRanking;
//float[] yAxisData;// = {50, 20, 15, 30, 20, 60, 15, 40, 45, 10, 90, 18};
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mygraph);
ip = jParser.getIP();
Intent i = getIntent();
nip = i.getStringExtra("pk");
nama= i.getStringExtra("nama");
TextView txtketerangan = (TextView) findViewById(R.id.txtTitle);
txtketerangan.setText(nama +" ("+nip+")");
lineChartView = findViewById(R.id.chart);
new load().execute();
}
void baca(){
List yAxisValues = new ArrayList();
List axisValues = new ArrayList();
Line line = new Line(yAxisValues).setColor(Color.parseColor("#9C27B0"));
for (int i = 0; i < axisKet.length; i++) {
axisValues.add(i, new AxisValue(i).setLabel(axisKet[i]));
}
for (int i = 0; i < axisBobot.length; i++) {
yAxisValues.add(new PointValue(i, axisBobot[i]));
}
List lines = new ArrayList();
lines.add(line);
LineChartData data = new LineChartData();
data.setLines(lines);
Axis axis = new Axis();
axis.setValues(axisValues);
axis.setTextSize(16);
axis.setTextColor(Color.parseColor("#03A9F4"));
data.setAxisXBottom(axis);
Axis yAxis = new Axis();
yAxis.setName("Sales in millions");
yAxis.setTextColor(Color.parseColor("#03A9F4"));
yAxis.setTextSize(16);
data.setAxisYLeft(yAxis);
lineChartView.setLineChartData(data);
Viewport viewport = new Viewport(lineChartView.getMaximumViewport());
viewport.top = 110;
lineChartView.setMaximumViewport(viewport);
lineChartView.setCurrentViewport(viewport);
}
class load extends AsyncTask<String, String, String> {
@Override protected void onPreExecute() {
super.onPreExecute();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("nip", nip));
JSONObject json = jParser.makeHttpRequest(ip+"hasil/grafik.php", "GET", params);
Log.d("show: ", json.toString());
try {
sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
myJSON = json.getJSONArray(TAG_record);
jd=myJSON.length();
axisID=new String[jd];
axisBobot=new int[jd];
axisKet=new String[jd];
axisRanking=new int[jd];
//axisID axisRanking axisBobot axisKet
for (int i = 0; i < jd; i++) {
JSONObject c = myJSON.getJSONObject(i);
String id_hasil= c.getString(TAG_id_hasil);
String bobot = c.getString("bobot");
String ranking =c.getString("ranking");
String ket=c.getString("deskripsi");
axisID[i]=id_hasil;
axisBobot[i]=Integer.parseInt(bobot);
axisKet[i]=ket;
axisRanking[i]=Integer.parseInt(ranking);
}
} else {
}
}
catch (JSONException e) {e.printStackTrace();}
return null;
}
protected void onPostExecute(String file_url) {
if (sukses == 0) {
Toast.makeText(getBaseContext(), "Data Hasil belum ada...", Toast.LENGTH_LONG).show();
}
runOnUiThread(new Runnable() {
public void run() {
baca();
}
});}
}
}
Tidak ada komentar:
Posting Komentar