导航:首页 > 操作系统 > android图表库

android图表库

发布时间:2023-09-08 23:57:28

‘壹’ 如何在android上将现有的数据,以图表的形式展现在手机上。

主要思路是:

1. 把数据库分解成几个asset文件。

2. 当需要打开数据库时,如果数据库不存在,就把那几个asset文件重新合并成一个数据库文件。

3. 如果数据库的版本改变了,就在onUpgrade()方法中把数据库文件删除掉。

下面是代码:

//数据库的缺省路径

private static finalString DB_PATH = "/data/data/com.mypackage.myapp/databases/";

private static finalString DB_NAME = "mydb.db";

private static finalint DB_VERSION = 2;

private static finalString DB_SPLIT_NAME = "mydb.db.00";

private static finalint DB_SPLIT_COUNT = 3;

private SQLiteDatabasem_database;

private final Contextm_context;

/**

* Constructor

*保存传进来的context参数以用来访问应用的asset和资源文件。

* @param context

*/

public MyDB(Contextcontext) {

super(context, DB_NAME, null, DB_VERSION);

this.m_context = context;

}

public static MyDBopenDatabaseReadOnly(Context context) {

MyDB db = new MyDB(context);

try {

db.createDataBase();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

db.openDataBase(SQLiteDatabase.OPEN_READONLY);

return db;

}

public static MyDBopenDatabaseReadWrite(Context context) {

MyDB db = new MyDB(context);

try {

db.createDataBase();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

db.openDataBase(SQLiteDatabase.OPEN_READWRITE);

return db;

}

/**

*创建一个空数据库,用来存储你已有的数据库。

*/

public voidcreateDataBase() throws IOException{

boolean dbExist =checkDataBase();

if (dbExist) {

/*

**如果你的数据库的版本改变了,调用这个方法确保在onUpgrade()被调用时

**传进去的是可写的数据库。

‘贰’ 如何在android画分析图(例如 柱状图、趋势图、饼图)

目前android上图标引擎并不少见,像aChartEngine就能很好的完成绘图:

aChartEngine支持:1、linechart(折线图)2、areachart(面积图;分区图,对比图)3、scatterchart(散点图)4、timechart(时间图;进度表)5、barchart(条形图;柱状图)6、piechart(饼图)7、bubblechart(气泡图)8、doughnutchart(圆环图)9、range(high-low)barchart(范围条形图)10、dialchart/gauge(拨号盘/压力表)11、combined(anycombinationofline,cubicline,scatter,bar,rangebar,bubble)chart(组合图)12、cubiclinechart(立方折线图)

上述所有支持的图表类型,都可以包含多个系列,都支持水平(默认)或垂直方式展示图表,并且支持许多其他的自定义功能。所有图表都可以建立为一个view,也可以建立为一个用于启动activity的intent.

下面是一个饼状图的源码事例:

package org.achartengine.chartdemo.demo.chart;


import org.achartengine.ChartFactory;

import org.achartengine.renderer.DefaultRenderer;


import android.content.Context;

import android.content.Intent;

import android.graphics.Color;


public class BudgetPieChart extends AbstractDemoChart {

public String getName() {

return "Budget chart";

}


public String getDesc() {

return "The budget per project for this year (pie chart)";

}

public Intent execute(Context context) {

double[] values = new double[] { 12, 14, 11, 10, 19 };//饼图分层5块,每块代表的数值

int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN };//每块饼图的颜色

DefaultRenderer renderer = buildCategoryRenderer(colors);

renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮

renderer.setZoomEnabled(true);//设置允许放大缩小.

renderer.setChartTitleTextSize(20);//设置图表标题的文字大小

return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values),

renderer, "Budget");//构建Intent, buildCategoryDataset是调用AbstraDemoChart的构建方法.

}


}

‘叁’ Android Studio自带图标库和开源图标库怎么使用

阅读全文

与android图表库相关的资料

热点内容
非诚勿扰程序员相亲成功率 浏览:592
手机c语言编译工具 浏览:998
程序员m1 浏览:814
单片机输出正弦波程序 浏览:902
php判断余数 浏览:201
自制微型压缩机空调 浏览:314
太阳违背国王的命令动画 浏览:61
phpdefinedefined 浏览:231
编译原理图书下载 浏览:555
梁钢筋加密区在哪些地方 浏览:357
程序员怎么清理删除不掉的软件 浏览:483
画漫画用什么app 浏览:532
服务器在手机怎么登录 浏览:227
怎么在wincc上加密码 浏览:124
怎么判断自己的门禁卡有没有加密 浏览:43
程序员美食攻略 浏览:860
php支付宝rsa加密 浏览:404
android水平居中垂直居中 浏览:763
java程序员缺口 浏览:431
python在哪装 浏览:48