带有CRUD和网格的Android应用程序

带有CRUD和网格的Android应用程序,android,sqlite,Android,Sqlite,我想执行“更新”“删除”“插入”“查看网格格式的数据…”。。我的CRUD操作工作正常,但一旦我在网格中查看数据,这些操作都不会执行,请帮助我 MainActivity.java package com.example.sunny.sqlitedb; import android.content.Intent; import android.database.Cursor; import android.support.v7.app.ActionBarActivity; import andro

我想执行“更新”“删除”“插入”“查看网格格式的数据…”。。我的CRUD操作工作正常,但一旦我在网格中查看数据,这些操作都不会执行,请帮助我

MainActivity.java

package com.example.sunny.sqlitedb;

import android.content.Intent;
import android.database.Cursor;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    MyDBHelper dbHelper;
    private EditText etID;
    private EditText etFirstName;
    private EditText etLastName;
    private EditText etAddress;
    private EditText etSalary;
    private Button btnInsert;
    private Button btnUpdate;
    private Button btnDelete;
    private Button btnLoadAll;
   // private TextView tvFinalData;    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelper = new MyDBHelper(MainActivity.this);
        init();    
    }

    private void init() {
        etID = (EditText) findViewById(R.id.etID);
        etFirstName = (EditText) findViewById(R.id.etFirstName);
        etLastName = (EditText) findViewById(R.id.etLastName);
        etAddress = (EditText) findViewById(R.id.etAddress);
        etSalary = (EditText) findViewById(R.id.etSalary);

        btnInsert = (Button) findViewById(R.id.btnInsert);
        btnUpdate = (Button) findViewById(R.id.btnUpdate);
        btnDelete = (Button) findViewById(R.id.btnDelete);
        btnLoadAll = (Button) findViewById(R.id.btnLoadAll);

        btnInsert.setOnClickListener(dbButtonsListener);
        btnUpdate.setOnClickListener(dbButtonsListener);
        btnDelete.setOnClickListener(dbButtonsListener);
        btnLoadAll.setOnClickListener(dbButtonsListener);

      //  tvFinalData = (TextView) findViewById(R.id.tvData);    
    }

    private View.OnClickListener dbButtonsListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.btnInsert:
                    long resultInsert = dbHelper.insert(Integer.parseInt(getValue(etID)), getValue(etFirstName),
                            getValue(etLastName), getValue(etAddress), Double.valueOf(getValue(etSalary)));
                    if(resultInsert == -1){
                        Toast.makeText(MainActivity.this, "Some error occurred while inserting", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(MainActivity.this, "Data inserted successfully, ID: " + resultInsert, Toast.LENGTH_SHORT).show();
                    }
                    break;

                case R.id.btnUpdate:
                    long resultUpdate = dbHelper.update(Integer.parseInt(getValue(etID)), getValue(etFirstName),
                            getValue(etLastName), getValue(etAddress), Double.valueOf(getValue(etSalary)));
                    if(resultUpdate == 0){
                        Toast.makeText(MainActivity.this, "Some error occurred while updating", Toast.LENGTH_SHORT).show();
                    } else if(resultUpdate == 1) {
                        Toast.makeText(MainActivity.this, "Data updated successfully, ID: " + resultUpdate, Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(MainActivity.this, "Some error occurred, multiple records updated.", Toast.LENGTH_SHORT).show();
                    }
                    break;

                case R.id.btnDelete:
                    long resultDelete = dbHelper.delete(Integer.parseInt(getValue(etID)));
                    if(resultDelete == 0){
                        Toast.makeText(MainActivity.this, "Some error occurred while inserting", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(MainActivity.this, "Data deleted successfully.", Toast.LENGTH_SHORT).show();
                    }
                    break;

                case R.id.btnLoadAll:
                    Intent i=new Intent(MainActivity.this,GridViewActivity.class);
                    startActivity(i);

                  /**  StringBuffer finalData = new StringBuffer();
                    Cursor cursor = dbHelper.getAllRecords();
//                    Cursor cursor = dbHelper.getDataBasedOnQuery("SELECT * FROM " + MyDBHelper.TABLE_NAME
//                    + " WHERE " + MyDBHelper.ADDRESS + " = 'UK'");

                    for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()){
                        finalData.append(cursor.getInt(cursor.getColumnIndex(MyDBHelper.ID)));
                        finalData.append(" - ");
                        finalData.append(cursor.getString(cursor.getColumnIndex(MyDBHelper.FIRST_NAME)));
                        finalData.append(" - ");
                        finalData.append(cursor.getString(cursor.getColumnIndex(MyDBHelper.LAST_NAME)));
                        finalData.append(" - ");
                        finalData.append(cursor.getString(cursor.getColumnIndex(MyDBHelper.ADDRESS)));
                        finalData.append(" - ");
                        finalData.append(cursor.getLong(cursor.getColumnIndex(MyDBHelper.SALARY)));
                        finalData.append("\n"); */
                    break;
                   // }

                    //tvFinalData.setText(finalData);    
            }
        }
    };

    private String getValue(EditText editText) {
        return editText.getText().toString().trim();
    }

    @Override
    protected void onStart() {
        super.onStart();    
        dbHelper.openDB();
    }

    @Override
    protected void onStop() {
        super.onStop();
        dbHelper.closeDB();
    }
}
这是我的GridViewActivity.java,我在这里执行了我的网格,我必须在其中打印sqlite数据

    package com.example.sunny.sqlitedb;

    import android.app.Activity;
    import android.database.Cursor;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.GridView;
    import android.widget.Toast;

    import java.util.ArrayList;

    /**
     * Created by Sunny on 8/31/2016.
     */
    public class GridViewActivity extends Activity {
        private GridView gridView;
        private ArrayList<String> list;
        private ArrayAdapter<String> adapter;
        MyDBHelper helper;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            gridView = (GridView) findViewById(R.id.gridView1);
            list = new ArrayList<String>();
            adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, list);
            String id, firstname, lastname, address, salary;
            id = "";
            firstname = "";
            lastname = "";
            address = "";
            salary = "";
            helper = new MyDBHelper(getBaseContext());
            helper.openDB();
            Cursor c = helper.getAllRecords();
            try {
                c = helper.getAllRecords();

                if (c.moveToFirst()) {
                    do {
                        id = c.getString(c.getColumnIndex("_id"));
                        firstname = c.getString(c.getColumnIndex("firstName"));
                        lastname = c.getString(c.getColumnIndex("lastName"));
                        //add in to array list
                        list.add(id);
                        list.add(firstname);
                        list.add(lastname);
                        gridView.setAdapter(adapter);

                    } while (c.moveToNext());//Move the cursor to the next row.
                } else {
                    Toast.makeText(getApplicationContext(), "No data found", Toast.LENGTH_LONG).show();
                }
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "No data found" + e.getMessage(), Toast.LENGTH_LONG).show();
            }
            helper.close();   
   }
}
下面是我的设计活动.xml

<RelativeLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etID"
        android:hint="Enter ID or Leave it Empty"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />    

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etFirstName"
        android:hint="First Name"
        android:layout_below="@+id/etID"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etLastName"
        android:hint="Last Name"
        android:layout_below="@+id/etFirstName"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etAddress"
        android:hint="Address"
        android:layout_below="@+id/etLastName"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:hint="Salary"
        android:ems="10"
        android:id="@+id/etSalary"
        android:layout_below="@+id/etAddress"
        android:layout_centerHorizontal="true" />

    <LinearLayout
        android:id="@+id/buttonsLayout"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/etSalary"
        android:layout_centerHorizontal="true">

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Insert"
            android:id="@+id/btnInsert"
            android:layout_below="@+id/etSalary"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Update"
            android:id="@+id/btnUpdate"
            android:layout_below="@+id/btnInsert"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Delete"
            android:id="@+id/btnDelete"
            android:layout_below="@+id/btnUpdate"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Load All"
            android:id="@+id/btnLoadAll"
            android:layout_below="@+id/btnDelete"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/buttonsLayout"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <TextView
            android:id="@+id/idview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="ID"
            android:textAppearance="?android:attr/textAppearanceLarge"/>

        <TextView
            android:id="@+id/fnameview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="FirstName"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/lnameview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="LastName"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/idview"
            android:fastScrollAlwaysVisible="true"
            android:fastScrollEnabled="true"
            android:numColumns="3"
            android:textFilterEnabled="false"
            android:visibility="visible"
            android:background="#d84521"
            android:textColor="#fdfcfa">    
        </GridView>  

    </RelativeLayout>    
</RelativeLayout>

阅读如何发布a然后编辑问题。阅读如何发布a然后编辑问题。
<RelativeLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etID"
        android:hint="Enter ID or Leave it Empty"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />    

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etFirstName"
        android:hint="First Name"
        android:layout_below="@+id/etID"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etLastName"
        android:hint="Last Name"
        android:layout_below="@+id/etFirstName"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etAddress"
        android:hint="Address"
        android:layout_below="@+id/etLastName"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:hint="Salary"
        android:ems="10"
        android:id="@+id/etSalary"
        android:layout_below="@+id/etAddress"
        android:layout_centerHorizontal="true" />

    <LinearLayout
        android:id="@+id/buttonsLayout"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/etSalary"
        android:layout_centerHorizontal="true">

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Insert"
            android:id="@+id/btnInsert"
            android:layout_below="@+id/etSalary"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Update"
            android:id="@+id/btnUpdate"
            android:layout_below="@+id/btnInsert"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Delete"
            android:id="@+id/btnDelete"
            android:layout_below="@+id/btnUpdate"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Load All"
            android:id="@+id/btnLoadAll"
            android:layout_below="@+id/btnDelete"
            android:layout_centerHorizontal="true"
            android:layout_weight="1" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/buttonsLayout"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <TextView
            android:id="@+id/idview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="ID"
            android:textAppearance="?android:attr/textAppearanceLarge"/>

        <TextView
            android:id="@+id/fnameview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="FirstName"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/lnameview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="LastName"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/idview"
            android:fastScrollAlwaysVisible="true"
            android:fastScrollEnabled="true"
            android:numColumns="3"
            android:textFilterEnabled="false"
            android:visibility="visible"
            android:background="#d84521"
            android:textColor="#fdfcfa">    
        </GridView>  

    </RelativeLayout>    
</RelativeLayout>