如何在Android应用程序中高效显示表格数据(医疗患者生命体征)?

如何在Android应用程序中高效显示表格数据(医疗患者生命体征)?,android,Android,我正在开发一个Android应用程序,其中一个功能是显示患者的生命体征: Timestamp|Heart Rate|SPO2|Resp./minute|ETC02|Systolic|Diastolic|Temp1|Temp2 现在,我正在表格中显示信息: <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical">

我正在开发一个Android应用程序,其中一个功能是显示患者的生命体征:

Timestamp|Heart Rate|SPO2|Resp./minute|ETC02|Systolic|Diastolic|Temp1|Temp2
现在,我正在表格中显示信息:

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical">
    <TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1,2,3,4,5,6,7,8,9">
        <!--
            programmatically insert the table rows
        -->
    </TableLayout>
</ScrollView>
这种方法很有效,尽管感觉很笨拙

for(Vital vital : listOfVitals){
    int rowID = vitals.getId();

    TableRow newTableRow = new TableRow(context);
    TableRow.LayoutParams dataRowParams = new TableRow.LayoutParams();
    newTableRow.setLayoutParams(dataRowParams);

    TextView timeTextView = new TextView(context);
    timeTextView.setLayoutParams(new TableRow.LayoutParams(1));
    timeTextView.setText(vital.getTime());
    newTableRow.addView(timeTextView);
    newTableRow.setId(rowID);

    // The same for all 9 vitals

    vitalsTable.addView(newTableRow);
}
就像我说的,它能工作,但感觉很笨拙,而且速度很慢。我真的需要它显示在一个表中,这就是为什么我走这条路线

我是Android开发(前JSP开发人员)的新手,所以我想我应该检查一下是否有更好、更优雅的解决方案

编辑: 下面是我的数据在SQLite查询中的样子。我将数据存储在列表中:


GridView:

网格视图是显示此类数据的好方法。
网格视图:

网格视图是显示此类数据的好方法。

如果您有大量数据要以表格格式显示在屏幕上
然后选择横向模式,使用GridView而不是TableLayout。

如果您有大量数据要以表格格式显示在屏幕上
然后选择横向模式,使用GridView而不是TableLayout。

GridView可能是以表格形式显示数据的最佳选择

为了让代码看起来不那么笨重,您可以创建自己的GridView对象来接收患者数据

public myGridView extends GridView {
    public myGridView(Vital v) {
        // Add each vital to your gridView
    }

    public addPatient(Vital v) {
        // Add another row of vitals to your gridView
    }
    // Any other needed methods
}
这至少可以消除代码中的“笨拙”

我使用一个gridview和一个包含TextView和ImageView的自定义对象来向用户显示大量的数据,它看起来很快而且响应迅速

GridView本质上与您想象中的表格一样,它们都在列中对齐,棘手的部分是要正确设置所有布局,以便即使屏幕大小不同,也能很好地显示所有内容:^)

在我看来,Android文档中的GridView示例非常好!
GridView可能是以表格形式显示数据的最佳选择

为了让代码看起来不那么笨重,您可以创建自己的GridView对象来接收患者数据

public myGridView extends GridView {
    public myGridView(Vital v) {
        // Add each vital to your gridView
    }

    public addPatient(Vital v) {
        // Add another row of vitals to your gridView
    }
    // Any other needed methods
}
这至少可以消除代码中的“笨拙”

我使用一个gridview和一个包含TextView和ImageView的自定义对象来向用户显示大量的数据,它看起来很快而且响应迅速

GridView本质上与您想象中的表格一样,它们都在列中对齐,棘手的部分是要正确设置所有布局,以便即使屏幕大小不同,也能很好地显示所有内容:^)

在我看来,Android文档中的GridView示例非常好!

谢谢,我将查看教程。这能使我的列像表一样对齐吗?知道我将如何在SQLite查询返回列表时使用它吗?您发布的示例使用图像,但我需要它用于文本数据。我的查询返回中的每一行都是一组完整的数据。我已经在我的原始帖子中添加了一个我的数据示例。看看这里->谢谢,我将查看教程。这能使我的列像表一样对齐吗?知道我将如何在SQLite查询返回列表时使用它吗?您发布的示例使用图像,但我需要它用于文本数据。我的查询返回中的每一行都是一组完整的数据。我已经在我的原始帖子中添加了一个我的数据示例。have look here->这能让我的列像表格一样对齐吗?是的,你可以对齐,它将重用视图,这样会节省内存。这能让我的列像表格一样对齐吗?是的,你可以对齐,它将重用这些视图,从而提高内存效率。
public myGridView extends GridView {
    public myGridView(Vital v) {
        // Add each vital to your gridView
    }

    public addPatient(Vital v) {
        // Add another row of vitals to your gridView
    }
    // Any other needed methods
}