Monday, January 14, 2013

Generate 3D Pie Chart using Google Chart Tools

By using Google Chart Tools, we can generate 3D pie chart easily.

Java Code:

package com.Android3dPieChart;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class Android3dPieChartActivity extends Activity {

final static String urlGoogleChart
= "http://chart.apis.google.com/chart";
final static String urlp3Api
= "?cht=p3&chs=400x150&chl=A|B|C&chd=t:";

EditText inputA, inputB, inputC;
Button generate;
ImageView pieChart;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
inputA = (EditText)findViewById(R.id.adata);
inputB = (EditText)findViewById(R.id.bdata);
inputC = (EditText)findViewById(R.id.cdata);
generate = (Button)findViewById(R.id.generate);
pieChart = (ImageView)findViewById(R.id.pie);
generate.setOnClickListener(generateOnClickListener);
}

Button.OnClickListener generateOnClickListener
= new Button.OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String A = inputA.getText().toString();
String B = inputB.getText().toString();
String C = inputC.getText().toString();
String urlRqs3DPie = urlGoogleChart
+ urlp3Api
+ A + "," + B + "," + C;

Bitmap bm3DPie = loadChart(urlRqs3DPie);
if(bm3DPie == null){
Toast.makeText(Android3dPieChartActivity.this,
"Problem in loading 3D Pie Chart",
Toast.LENGTH_LONG).show();
}else{
pieChart.setImageBitmap(bm3DPie);
}
}};

private Bitmap loadChart(String urlRqs){
Bitmap bm = null;
InputStream inputStream = null;

try {
inputStream = OpenHttpConnection(urlRqs);
bm = BitmapFactory.decodeStream(inputStream);
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return bm;
}

private InputStream OpenHttpConnection(String strURL) throws IOException{
InputStream is = null;
URL url = new URL(strURL);
URLConnection urlConnection = url.openConnection();

try{
HttpURLConnection httpConn = (HttpURLConnection)urlConnection;
httpConn.setRequestMethod("GET");
httpConn.connect();

if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
is = httpConn.getInputStream();
}
}catch (Exception ex){
}

return is;
}
}

Xml Code:
















Permission: "android.permission.INTERNET" is needed.

Result:


Generate 3D Pie Chart using Google Chart ToolsCheers Guys!!!!!!!!!!!!!!!!!!!

Rocky

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

0 comments:

Post a Comment

 

Copyright @ 2013 Android Developers Tipss.