gpt4 book ai didi

Android SQL - 记事本教程

转载 作者:行者123 更新时间:2023-11-29 16:24:50 26 4
gpt4 key购买 nike

我一直在查看 android 开发者网站上的记事本教程,我有点卡在两个方面 - 谁能帮忙?

首先,本教程创建了一个包含 3 列的数据库:id、title 和 body。我想将正文更改为十进制值。其次,我需要将此列与小数值相加。

那么在正文列的 EditText 中,在布局 xml 中将输入类型设置为“numberDecimal”是否正确?是否需要任何其他更改?

然后我该如何对这一列中的这些值求和,我应该使用某种循环遍历该列中的每条记录并将它们加在一起吗?

如:

int total = 0;
for(int i = 0; i < mydb.table.NumberOfRows; i++) {
total = total + mydb.table.body[i]
}

* 抱歉,我什至不知道是否存在计算行数的函数或如何访问表的特定部分(我对 SQL 很烂,也没有接触过 java一段时间)

建议会很好!

最佳答案

仅仅将 EditText View 的输入模式更改为“numberDecimal”是不够的,但这是一个好的开始,所以您可以确定,您的用户不能输入任何非十进制字符。

要更改正文列的数据类型,您必须调整用于创建表的创建语句。从 TEXT 更改数据类型至 REAL所以 body 列可以存储浮点值。

此外,您必须调整插入语句,因为正文列不再是 TEXT 列。因此,在将字符串传递给插入语句之前,您必须将表示数值的 EditText View 中的字符串转换为 float 。

要汇总所有主体值,您不需要循环,您可以让数据库使用 sum() 为您完成此操作或 total()聚合函数(取决于你的需要)。该语句看起来像这样。

SELECT sum/total(body) FROM <table name>

替换<table name>与表的名称。

apologies I don't even know if a function to count the number of rows exists or how to access a particular part of a table (i suck at SQL and haven't been around java for a while)

要遍历数据库查询的结果,您不需要知道结果有多少行。作为查询的结果,您将获得一个 Cursor 对象,该对象引用查询返回的行。要遍历这些行,您可以使用以下语句:

Cursor cursor = queryDB(.......)

while(cursor.moveToNext()){
<do something with the current result row>
}

关于Android SQL - 记事本教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4988201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com