Membuat Aplikasi Statistik Menggunakan Sketchware

Share On Facebook ! Tweet This ! Share On Google Plus ! Pin It ! Share On Tumblr ! Share On Reddit ! Share On Linkedin ! Share On StumbleUpon !

Di Sketchware, untuk membuat aplikasi di mana data dengan nilai numerik dapat ditambahkan dan dilihat sebagai diagram lingkaran, ikuti langkah-langkah yang diberikan di bawah ini.

1. Pada aplikasi Sketchware buat proyek baru.

2. Pada main.xml tambahkan  tombol dengan nama button2 dan tambahkan listview dengan nama listview2.

3. Buat CustomView items.xml dan tambahkan dua TextViews dengan nama textview1 dan textview2.




4. Buka dan pilih items.xml sebagai CustomView dari listview2.

5. Pada MainActivity.java, Tambahkan komponen Shared Preferences component dengan nama sp:sp, dan tambahkan komponen Intent dan berikan nama i.




6. Tambahkan Vatiabel String dengan mama jsondata, dan Variabel  ListMap dengan nama maplist.

7. Pada Even klik onCreate gunakan blok set string arahkan ke jsondata pada kolom to 
data Json Anda yang berisi 'teks' dan 'angka' sebagai kunci. Konversikan ke ListMap dan setting ke maplist dan tampilkan di ListView.



Untuk kode Json String pada isian diata gunakan kode di bawah ini, Silahkan dirubah sesuai keinginan anda pada tilisan angka dan tulisan Negara :
[
{
"text" : "Afghan Afghani",
"number" : "0.9532"
},
{
"text" : "Armenian Dram",
"number" : "0.1487"
},
{
"text" : "Bangladeshi Taka",
"number" : "0.8572"
},
{
"text" : "Cambodian Riel",
"number" : "0.1758"
},
{
"text" : "Indonesian Rupiah",
"number" : "0.005"
},
{
"text" : "Maldivian Rufiyaa",
"number" : "4.674"
},
{
"text" : "Pakistani Rupee",
"number" : "0.5832"
},
{
"text" : "Philippine Peso",
"number" : "1.332"
},
{
"text" : "Thai Baht",
"number" : "2.226"
}
]

8. Pada even onBindCustomView
tampilkan data dari maplist di TextViews dan di CustomView items.xml.




9. Buat tampilan baru dan berikan nama piechart.xml.

10. Pada even button2 klik pada onClick do MainActivity.java, Simpan maplist pada Shared Preferences dan gunakan Intent i untuk setscreen gulir ke PiechartActivity.java.




11. Pada piechart.xml tambhan kan LinearV dan berikan nama linear1.

12. Selanjutnha pada PiechartActivity.java Tambahkan komponen Shared Preferences component berikan nama sp:sp, tambahkan variabel Map dan masih nama map, dan variabel ListMap berikan nama listmap.

13. Pada Event klik onCreate dan gunalam blok untuk memdapatka data dari komponen Shared Preferences ke listmap, dan pasang kode di bawah pada add sourche dirrectly pada PieChartView.



Kode untuk blok add source directly :

PieChartView chart = new PieChartView(this, listmap, "number", "text");

linear1.addView(chart);


Di sini 'teks' dan 'angka' adalah kunci yang digunakan dalam Json String di MainActivity.java.

14. Buat blok pada More Block dan berikan nama extra.




15. Pada blok more block extra, Gunaka blok add source directly dan taruhlah kode di bawah ini untuk View class PieChartView.

}

public class PieChartView extends View {
private Paint fillPaint;
private Paint strokePaint;
private ArrayList<HashMap<String, Object>> list = new ArrayList<>();
private String numkey;
private String labelkey;

public PieChartView(Context context, ArrayList<HashMap<String, Object>> list, String numkey, String labelkey){
super(context);
fillPaint = new Paint();
strokePaint = new Paint();
this.list = list;
this.numkey = numkey;
this.labelkey = labelkey;
}

@Override
protected void onDraw(Canvas canvas) {
int viewWidth = this.getMeasuredWidth();
int viewHeight = this.getMeasuredHeight();

float startAngle = 0;
float sweepAngle = 0;
int lineHeight = 0;
float total = 0;
for (int i =0; i<list.size(); i++){
total = total + Float.valueOf(list.get(i).get(numkey).toString());
}

fillPaint.setStyle(android.graphics.Paint.Style.FILL);
strokePaint.setStyle(android.graphics.Paint.Style.STROKE);
strokePaint.setStrokeWidth(2);
strokePaint.setColor(Color.BLACK);

for (int i =0; i<list.size(); i++){
int col = 100+(155*i/list.size());
fillPaint.setColor(Color.rgb(40, col, col));
startAngle = startAngle+sweepAngle;
sweepAngle = 360*Float.valueOf(list.get(i).get(numkey).toString())/total;
canvas.drawArc(80, 40, viewWidth-80, viewWidth-120, startAngle, sweepAngle, true, fillPaint);
canvas.drawArc(80, 40, viewWidth-80, viewWidth-120, startAngle, sweepAngle, true, strokePaint);

lineHeight = lineHeight + 80;

canvas.drawRect(40, viewWidth - 120 + lineHeight - 40, 80, viewWidth - 120+ lineHeight, fillPaint);

fillPaint.setColor(Color.BLACK); fillPaint.setTextSize(40); canvas.drawText(list.get(i).get(labelkey).toString() + " : " +  list.get(i).get(numkey).toString(), 100, viewWidth - 120+ lineHeight, fillPaint);
}
}
Kode ini hanya berfungsi untuk nilai positif. 


Untuk menggunakan warna acak untuk PieChart, dalam kode di atas ubah kode di bawah ini.

int col = 100+(155*i/list.size());
fillPaint.setColor(Color.rgb(40, col, col));
Ke 


int r = getRandom(0, 255);
int g = getRandom(0, 255);
int b = getRandom(0, 255);

fillPaint.setColor(Color.rgb(r, g, b));

16. Simpan dan Jalankan Proyek.
«
Next
Posting Lebih Baru
»
Previous
Posting Lama
 
Copyright ©2016 Sketchware News • All Rights Reserved.
Template Design by BTDesigner • Powered by Blogger