Android 安卓:基本java+;排列

Android 安卓:基本java+;排列,android,Android,这是一个基本问题——但我对Android和Java还不熟悉,所以请帮助我。 我试图从数据库(SQLite)中检索所有行并在屏幕上显示它。 到目前为止,它对于一个简单的检索和显示工作良好 但现在,我想补充一下逻辑。如果数组中的某个字段等于某个值,那么我想执行一些操作,然后在屏幕上显示该字段 更详细地 银行表-包含银行名称、银行余额、银行货币。 我想读取变量中的银行货币,如果它是美元,则按原样显示银行余额。如果是印度卢比,那么我想将其转换为银行余额*55,然后显示新的余额 这是我目前的代码 数据库助

这是一个基本问题——但我对Android和Java还不熟悉,所以请帮助我。 我试图从数据库(SQLite)中检索所有行并在屏幕上显示它。 到目前为止,它对于一个简单的检索和显示工作良好

但现在,我想补充一下逻辑。如果数组中的某个字段等于某个值,那么我想执行一些操作,然后在屏幕上显示该字段

更详细地 银行表-包含银行名称、银行余额、银行货币。 我想读取变量中的银行货币,如果它是美元,则按原样显示银行余额。如果是印度卢比,那么我想将其转换为银行余额*55,然后显示新的余额

这是我目前的代码

数据库助手

    public ArrayList<ArrayList<Object>> getAllRowsAsArrays()
{
    // create an ArrayList that will hold all of the data collected from
    // the database.
    ArrayList<ArrayList<Object>> dataArrays = new ArrayList<ArrayList<Object>>();

    Cursor cursor;

    try
    {
        // ask the database object to create the cursor.
        cursor = db.query(
                BANKTABLE_NAME,
                new String[]{BANKTABLE_ROW_ID, BANKTABLE_BANKNAME, BANKTABLE_BALAMT, BANKTABLE_CURRENCY},
                null, null, null, null, null
        );

        // move the cursor's pointer to position zero.
        cursor.moveToFirst();

        // if there is data after the current cursor position, add it
        // to the ArrayList.
        if (!cursor.isAfterLast())
        {
            do
            {
                ArrayList<Object> dataList = new ArrayList<Object>();

                dataList.add(cursor.getLong(0));
                dataList.add(cursor.getString(1));
                dataList.add(cursor.getInt(2));
                dataList.add(cursor.getString(3));

                dataArrays.add(dataList);
            }
            // move the cursor's pointer up one position.
            while (cursor.moveToNext());
        }
    }
    catch (SQLException e)
    {
        Log.e("DB Error in Retreive all", e.toString());
        e.printStackTrace();
    }

    // return the ArrayList that holds the data collected from
    // the database.
    return dataArrays;
}
public ArrayList getAllrowsaarrays()
{
//创建一个ArrayList,它将保存从中收集的所有数据
//数据库。
ArrayList dataArrays=新的ArrayList();
光标;
尝试
{
//要求数据库对象创建游标。
cursor=db.query(
银行表名称,
新字符串[]{BANKTABLE_ROW_ID,BANKTABLE_BANKNAME,BANKTABLE_BALAMT,BANKTABLE_CURRENCY},
空,空,空,空,空,空
);
//将光标指针移到零位置。
cursor.moveToFirst();
//如果当前光标位置后有数据,请添加它
//给ArrayList。
如果(!cursor.isAfterLast())
{
做
{
ArrayList dataList=新的ArrayList();
dataList.add(cursor.getLong(0));
add(cursor.getString(1));
dataList.add(cursor.getInt(2));
add(cursor.getString(3));
添加(dataList);
}
//将光标指针向上移动一个位置。
while(cursor.moveToNext());
}
}
捕获(SQLE异常)
{
e(“retrieve all中的DB Error”,e.toString());
e、 printStackTrace();
}
//返回保存从中收集的数据的ArrayList
//数据库。
返回数据数组;
}
这就是我调用这个数组的java类

    private void updateTable()
{


    // collect the current row information from the database

    ArrayList<ArrayList<Object>> data = db.getAllRowsAsArrays();

    // iterate the ArrayList, create new rows each time and add them
    // to the table widget.

    for (int position=0; position < data.size(); position++)
    {
        TableRow tableRow= new TableRow(this);

        ArrayList<Object> row = data.get(position);

        TextView bankNameN = new TextView(this);
        bankNameN.setText(row.get(1).toString());
        tableRow.addView(bankNameN);


        TextView balINRA = new TextView(this);
        balINRA.setText(row.get(2).toString());
        tableRow.addView(balINRA);


        dataTable.addView(tableRow);
    }
}
private void updateTable()
{
//从数据库中收集当前行信息
ArrayList data=db.getAllrowsaArrays();
//迭代ArrayList,每次创建新行并添加它们
//到表小部件。
对于(int position=0;position
这是一个简单的代码,可以按原样提取银行名称和金额。我想为IF-ELSE添加逻辑。
请告诉我密码。谢谢

使用此代码以巴林币显示金额

    TextView balINRA = new TextView(this);
    if(row.get(3).toString.equals("USD"))
    {
    balINRA.setText(String.valueOf((Integer.parseInt(row.get(2).toString()))*55));
    }
    tableRow.addView(balINRA);

使用此代码以巴林币显示金额

    TextView balINRA = new TextView(this);
    if(row.get(3).toString.equals("USD"))
    {
    balINRA.setText(String.valueOf((Integer.parseInt(row.get(2).toString()))*55));
    }
    tableRow.addView(balINRA);

或者您也可以使用此行balINRA.setText(String.valueOf(row.get(2)*55))跳过转换;你能帮我回答另一个简单的Java问题吗。现在,我不想硬编码55,而是想从另一个表中取出它。所以我称之为currencyTable();在上面的updateTable()中。如何在这两者之间传递变量?货币表有两个字段-货币和汇率。因此,如果货币是美元,我想用55填充变量“rate”,如果是英镑,它应该是“rate”=80等等。你能告诉我你创建的另一个表的结构吗。这样我就可以给你准确的答案cursor=db.query(CURTABLE_NAME,新字符串[]{CURTABLE_ROW_ID,CURTABLE_TYPE,CURTABLE_AMOUNT},null,null,null,null);我也将其作为数组获取。让我们或者您也可以使用这行balINRA.setText(String.valueOf(row.get(2)*55))跳过转换;你能帮我回答另一个简单的Java问题吗。现在,我不想硬编码55,而是想从另一个表中取出它。所以我称之为currencyTable();在上面的updateTable()中。如何在这两者之间传递变量?货币表有两个字段-货币和汇率。因此,如果货币是美元,我想用55填充变量“rate”,如果是英镑,它应该是“rate”=80等等。你能告诉我你创建的另一个表的结构吗。这样我就可以给你准确的答案cursor=db.query(CURTABLE_NAME,新字符串[]{CURTABLE_ROW_ID,CURTABLE_TYPE,CURTABLE_AMOUNT},null,null,null,null);我也将其作为数组获取