MySQL数据不以表格的形式显示

时间:2013-02-04 05:20:30

标签: android mysql

图片

enter image description here您好我开发了一个使用MySQL数据库的应用程序。我有一个代码来检索数据,并试图以数据库的形式显示数据。

This是我的java代码,它访问数据库并尝试以表格的形式动态打印它。

我的问题是当我在手机上执行时,应用程序强制关闭。

我得到了以下error

This是我的PHP代码。

2 个答案:

答案 0 :(得分:1)

使用TableLayout以表格的形式显示您的数据。要连接到mySQL数据库,您需要构建一个连接到数据库的PHP脚本。您没有显示您的PHP脚本,所以请提供。

答案 1 :(得分:0)

java.lang.ClassCastException:
“抛出此异常表示代码已尝试将对象强制转换为子类 其中不是一个实例。“

您已在Java类中将TableLayout作为TextView进行了转换。因此,在XML布局中将TableLayout更改为TextView

[编辑]
现在就知道了:

为要显示的错误创建新的TextView。然后更改以下行:

 error = (TextView) findViewById(R.id.myErrorView);

[编辑2]
TableLayout的示例(未编译)

XML布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<TextView 
    android:id="@+id/myHeading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TableLayout Example"
/>

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> 

<TableLayout
    android:id="@+id/tablelayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"    
    >

<TableRow android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginBottom="2dp" android:layout_gravity="center_horizontal">
    <TextView android:id="@+id/tabletv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ID" android:textStyle="bold" android:layout_gravity="center_horizontal"/>
    <TextView android:id="@+id/tabletv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name" android:textStyle="bold" android:layout_gravity="center_horizontal"/>
    <TextView android:id="@+id/tabletv3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Category" android:textStyle="bold" android:layout_gravity="center_horizontal"/>
    <TextView android:id="@+id/tabletv4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Category" android:textStyle="bold" android:layout_gravity="center_horizontal"/>
</TableRow>

</TableLayout>
</ScrollView>

</LinearLayout>

Java Class

super.onCreate(savedInstanceState);
setContentView(R.layout.myLayout);

TableLayout table = (TableLayout) findViewById(R.id.tablelayout1);
TextView heading = (TextView) findViewById(R.id.myHeading);

// Your other codes

//////////////////////

    for(int i=0;i<jArray.length();i++){
        JSONObject json_data = jArray.getJSONObject(i);

        TableRow row = new TableRow(this);
        TableLayout.LayoutParams tableRowParams= new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT);
        tableRowParams.setMargins(0, 0, 0, 2);
        row.setGravity(Gravity.CENTER_HORIZONTAL);
        row.setLayoutParams(tableRowParams);

        TextView t1 = new TextView(this);
        TextView t2 = new TextView(this);
        TextView t3 = new TextView(this);
        TextView t4 = new TextView(this);

        t1.setText(""+json_data.getInt("prod_id"));
        t2.setText(json_data.getString("prod_name"));
        t3.setText(json_data.getString("prod_category"));
        t4.setText(""+json_data.getDouble("prod_cost"));

        t1.setGravity(Gravity.CENTER_HORIZONTAL);
        t2.setGravity(Gravity.CENTER_HORIZONTAL);
        t3.setGravity(Gravity.CENTER_HORIZONTAL);
        t4.setGravity(Gravity.CENTER_HORIZONTAL);

        row.addView(t1);
        row.addView(t2);
        row.addView(t3);
        row.addView(t4);

        table.addView(row);
    }

希望这有帮助!