SQLITER

Mainactivity

package com.example.administrator.sqliter;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    DBAdapter dbAdepter ;
    Button btn;
    ListView lv;
    List<String> list;
    EditText et1,et2,et3;
    View view,view2;
    int NowId=-1;
    ArrayAdapter<String> adapter;
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        // AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
        //Log.i("232323","2323");
        switch (item.getItemId())
        {
            case 1:
                Log.i("SQLCRUD","2323");
                if(NowId!=-1)
                {
                    /************删除数据区********************/
                    Log.i("SQLCRUD","2323");
                    String id = list.get(NowId).substring(0,10);
                    long result = dbAdepter.deleteOneData(id);
                    /*****************************************/
                    list.clear();
                    People[] peoples = dbAdepter.queryAllData();
                    if (peoples == null){
                        return false;
                    }
                    for (int i = 0 ; i<peoples.length; i++){
                        list.add(peoples.toString());

                    }
                    adapter.notifyDataSetChanged();
                    /******************************/

                }
                return true;
        }
        return false;

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main1);
        view = View.inflate(this,R.layout.headview,null);
        view2=View.inflate(this,R.layout.lala,null);
        btn =(Button)findViewById(R.id.button1);
        lv=(ListView)findViewById(R.id.listView01);
        lv.addHeaderView(view);
        et1 = (EditText)findViewById(R.id.editText1);
        et2 = (EditText)findViewById(R.id.editText2);
        et3 = (EditText)findViewById(R.id.editText3);
        /******************数据库区域*************************/
        dbAdepter = new DBAdapter(this);
        dbAdepter.open();
        /********************************************/
        list = new ArrayList<String>();
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
        lv.setAdapter(adapter);
        lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
                Log.i("9-29RI","参数i:"+i+"参数l:"+l+"呵呵:"+view.getId());
                // lv.showContextMenu();
                NowId = (int)l;
                return false;
            }
        });

        lv.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
            @Override
            public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
              //  contextMenu.setHeaderTitle("功能");
                contextMenu.add(0,1,0,"删除");

            }
        });

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                People people = new People();
                people.Name = et3.getText().toString();
                people.Classes= et1.getText().toString();
                people.ID =et2.getText().toString();
                long colunm = dbAdepter.insert(people);
                if (colunm == -1 ){
                    Log.i("SQLCRUD","添加过程错误!");

                } else {
                    Log.i("SQLCRUD","成功添加数据,ID:"+String.valueOf(colunm));

                }

                list.clear();

//                list.add(et1.getText().toString()+"                      "+et2.getText().toString()+"                    "+et3.getText().toString());
              /*********************显示数据库*****************************/
                People[] peoples = dbAdepter.queryAllData();
                if (peoples == null){
                    Log.i("SQLCRUD","数据库中没有数据");
                    return;
                }
               // Log.i("SQLCRUD","数据库中没有数据");
//                labelView.setText("数据库:");
              //  String msg = "";
                for (int i = 0 ; i<peoples.length; i++){
                    //list.add(peoples[i].toString());
                    list.add(peoples[i].toString());
//                    msg += peoples[i].toString()+"\n";
                }
//                displayView.setText(msg);
                /*********************************************************/
                adapter.notifyDataSetChanged();
            }

        });



    }
}

DBAdapter

package com.example.administrator.sqliter;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class DBAdapter {

    private static final String DB_NAME = "people.db";
    private static final String DB_TABLE = "peopleinfo";
    private static final int DB_VERSION = 1;

    public static final String KEY_ID = "_id";
    public static final String KEY_NAME = "name";
    public static final String KEY_CLASS = "age";

    private SQLiteDatabase db;
    private final Context context;
    private DBOpenHelper dbOpenHelper;

    public DBAdapter(Context _context) {
        context = _context;
    }

    /** Close the database */
    public void close() {
        if (db != null){
            db.close();
            db = null;
        }
    }

    /** Open the database */
    public void open() throws SQLiteException {
        dbOpenHelper = new DBOpenHelper(context, DB_NAME, null, DB_VERSION);
        try {
            db = dbOpenHelper.getWritableDatabase();
        }
        catch (SQLiteException ex) {
            db = dbOpenHelper.getReadableDatabase();
        }
    }


    public long insert(People people) {
        ContentValues newValues = new ContentValues();
        newValues.put(KEY_ID, people.ID);
        newValues.put(KEY_NAME, people.Name);
        newValues.put(KEY_CLASS, people.Classes);

        return db.insert(DB_TABLE, null, newValues);
    }


    public People[] queryAllData() {
        Cursor results =  db.query(DB_TABLE, new String[] { KEY_ID, KEY_NAME, KEY_CLASS},
                null, null, null, null, null);
        return ConvertToPeople(results);
    }

    public People[] queryOneData(long id) {
        Cursor results =  db.query(DB_TABLE, new String[] { KEY_ID, KEY_NAME, KEY_CLASS},
                KEY_ID + "=" + id, null, null, null, null);
        return ConvertToPeople(results);
    }

    private People[] ConvertToPeople(Cursor cursor){
        int resultCounts = cursor.getCount();
        if (resultCounts == 0 || !cursor.moveToFirst()){
            return null;
        }
        People[] peoples = new People[resultCounts];
        for (int i = 0 ; i<resultCounts; i++){
            peoples[i] = new People();
            peoples[i].ID = cursor.getString(0);
            peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME));
            peoples[i].Classes = cursor.getString(cursor.getColumnIndex(KEY_CLASS));

            cursor.moveToNext();
        }
        return peoples;
    }

    public long deleteAllData() {
        return db.delete(DB_TABLE, null, null);
    }

    public long deleteOneData(String id) {
        return db.delete(DB_TABLE,  KEY_ID + "=" + id, null);
    }

    public long updateOneData(long id , People people){
        ContentValues updateValues = new ContentValues();
        updateValues.put(KEY_NAME, people.Name);
        updateValues.put(KEY_CLASS, people.Classes);
        return db.update(DB_TABLE, updateValues,  KEY_ID + "=" + id, null);
    }

    /** 静态Helper类,用于建立、更新和打开数据库*/
    private static class DBOpenHelper extends SQLiteOpenHelper {

        public DBOpenHelper(Context context, String name, CursorFactory factory, int version) {
            super(context, name, factory, version);
        }

        private static final String DB_CREATE = "create table " +
                DB_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " +
                KEY_NAME+ " text not null, " + KEY_CLASS + " text not null);";

        @Override
        public void onCreate(SQLiteDatabase _db) {
            _db.execSQL(DB_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {
            _db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);
            onCreate(_db);
        }
    }
}

People

package com.example.administrator.sqliter;

/**
 * Created by Administrator on 2018/11/6.
 */
public class People {
    public String ID ;//学号
    public String Name;//姓名
    public String Classes;//班级

    @Override
    public String toString(){
        String result = "";
        result += this.ID + "      ";
        result += this.Name + "       ";
        result += this.Classes + "";
        return result;
    }
}

headview.xml

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:gravity="center"
            android:text="学号"
            android:textColor="@android:color/background_dark" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:gravity="center"
            android:text="姓名"
            android:textColor="@android:color/background_dark" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@android:color/darker_gray"
            android:gravity="center"
            android:text="班级"
            android:textColor="@android:color/background_dark" />
    </LinearLayout>
</LinearLayout>

lala.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="horizontal">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="TextView" />
</LinearLayout>

main1.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">

    <LinearLayout
        android:layout_width="0px"
        android:layout_height="0px"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:orientation="horizontal"></LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="班级:" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="电商161"
            android:ems="10"
            android:hint="如:电商161"
            android:inputType="textPersonName"
            android:nextFocusLeft="@android:id/button1"
            android:nextFocusUp="@android:id/button1" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="学号:" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:hint="如:2016012751"
            android:text="2016012751"
            android:inputType="textPersonName" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="姓名:" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:hint="如:张三"
            android:text="张三"
            android:inputType="textPersonName" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">


        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="添加" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <ListView
            android:id="@+id/listView01"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>


</LinearLayout>

peoexa.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <RelativeLayout android:id="@+id/RelativeLayout01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText android:id="@+id/name"
            android:text=""
            android:layout_width="280dip"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip" >
        </EditText>
        <TextView android:id="@+id/name_label"
            android:text="姓名:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_toRightOf="@id/name"
            android:layout_alignBaseline="@+id/name">
        </TextView>

        <EditText android:id="@+id/age"
            android:text=""
            android:layout_width="280dip"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:layout_below="@id/name"
            android:numeric="integer">
        </EditText>
        <TextView android:id="@+id/age_label"
            android:text="年龄:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_toRightOf="@id/age"
            android:layout_alignBaseline="@+id/age" >
        </TextView>

        <EditText android:id="@+id/height"
            android:layout_width="280dip"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:layout_below="@id/age"
            android:numeric="decimal">
        </EditText>
        <TextView android:id="@+id/height_label"
            android:text="身高:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_toRightOf="@id/height"
            android:layout_alignBaseline="@+id/height">
        </TextView>

    </RelativeLayout>

    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button android:id="@+id/add"
            android:text="添加数据"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding = "5dip"
            android:layout_weight="1">
        </Button>
        <Button android:id="@+id/query_all"
            android:text="全部显示"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding = "5dip"
            android:layout_weight="1">
        </Button>
        <Button android:id="@+id/clear"
            android:text="清除显示"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding = "5dip"
            android:layout_weight="1">
        </Button>
        <Button	android:id="@+id/delete_all"
            android:text="全部删除"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding = "5dip"
            android:layout_weight="1">
        </Button>
    </LinearLayout>

    <LinearLayout android:id="@+id/LinearLayout03"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView android:text="ID:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding = "3dip">
        </TextView>
        <EditText android:id="@+id/id_entry"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:padding = "3dip"
            android:layout_weight="1">
        </EditText>
        <Button android:id="@+id/delete"
            android:text="ID删除"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:padding = "3dip"
            android:layout_weight="1">
        </Button>
        <Button android:id="@+id/query"
            android:text="ID查询"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:padding = "3dip"
            android:layout_weight="1">
        </Button>
        <Button android:id="@+id/update"
            android:text="ID更新"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:padding = "3dip"
            android:layout_weight="1">
        </Button>
    </LinearLayout>

    <TextView android:id="@+id/label"
        android:text="查询结果:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </TextView>
    <ScrollView  android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView android:id="@+id/display"
                android:text=""
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
            </TextView>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值