package com.example.tiwen20;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.AxisBase;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
import java.util.ArrayList;
import java.util.List;
public class MPandroidActivity extends AppCompatActivity {
private LineChart line;
private XAxis axis;
private String name;
private TiwenDB tiwenDB;
private List<TiwenBean> listMPandroid;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mpadnroid);
line = (LineChart) findViewById(R.id.line);
List<Entry> list=new ArrayList<>();
Intent intent = getIntent();
name = intent.getStringExtra("name");
tiwenDB = new TiwenDB(this);
listMPandroid = new ArrayList<>();
listMPandroid = tiwenDB.queryDataFor(name);
for(int i=0;i<listMPandroid.size();i++)
{
System.out.println(listMPandroid.get(i).getTime()+listMPandroid.get(i).getTiwen());
list.add(new Entry(Stringtofloat(listMPandroid.get(i).getTime().trim()),Float.parseFloat(listMPandroid.get(i).getTiwen())));
}
LineDataSet lineDataSet=new LineDataSet(list,name);
LineData lineData=new LineData(lineDataSet);
axis = line.getXAxis();
axis.setLabelCount(1, false);
axis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axisBase) {
int a = (int) value % 100;
int c = (int) value / 1000;
int b = (int) (value - a - c * 1000) / 100;
String d = c + "年" + b + "月" + a + "日";
return d;
}
});
//有多条数据则使用adddataset()方法 参数是你的DataSet
//lineData.addDataSet(lineDataSet);
line.setData(lineData);
}
public float Stringtofloat(String str)
{
String year = str.substring(0, 4); //取年
String yue = str.substring(str.indexOf("年") + 2, str.indexOf("月"));
String ri = str.substring(str.indexOf("月") + 1, str.indexOf("日"));
String d = year+yue+ri;
float date = Float.parseFloat(d);
return date;
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.github.mikephil.charting.charts.LineChart
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="300dp"
tools:ignore="MissingConstraints">
</com.github.mikephil.charting.charts.LineChart>
</androidx.constraintlayout.widget.ConstraintLayout>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」