您的位置:首页 > 移动开发 > Android开发

创建第一个Android应用程序eShoppingNote(二)画饼图

2011-07-14 10:04 567 查看
数据分析界面, 包含按购买渠道,按物品类型的两个饼图
数据分析饼图,charts4j是google免费的,轻量级的图表和图形的Java API。可以通过它创建简单而直观的Java API的图表。得到的一个URL,比如, 这个
第三方jar的引入:右键项目名-〉Build Path->Configure BuildPath->Add External JARs
假设cursor中即数据库中取出的统计数据,sumExpend是总金额数,通过调用chart.toURLString即可获得此饼图的URL
List<Slice>slices = new ArrayList<Slice>();if(cursor.moveToFirst()){ slicecount= cursor.getCount(); do{ StringstrFrom = cursor.getString(0); intperc =(int)(cursor.getDouble(1)/sumExpend*100); Sliceslice = Slice.newSlice(perc, strFrom); slices.add(slice); }while(cursor.moveToNext()); } PieChartchart = GCharts.newPieChart(slices); chart.setTitle("DataAnalysis By eStore"); chart.setSize(500,200); chart.setThreeD(true); Stringurl = chart.toURLString();[align=left]当获得这个URL后用WebView来显示这个chart. 虽然以下属性都设置了,但是仍然显示“Webpage not available”错误,目前还不知道原因和解决方法[/align]
1. WebView使用时需要在mainfest.xml中添加一行<uses-permissionandroid:name="android.permission.INTERNET" />到<Application>前。 2. 如果有proxy,需要设置WebView.enablePlatformNotifications();3. 支持Javascript的参数WbView.getSettings().setJavaScriptEnabled(true);使用AndroidAPI直接画饼图,也就是话一个个的扇形拼接在一起。
先用RectF mOvals = new RectF(mGapLeft, mGapTop, mGapRight, mGapBottom)定义一个矩形
然后用drawArc(RectFoval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)在矩形内画需要的扇形。 其中startangle是开始角度,sweep是顺时针方向摆角(360*数据的百分比就等于此角度)
效果图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: