android sqlite 增删查 demo

发布时间:2020-07-01 08:01:21 作者:hlp666666
来源:网络 阅读:514
package com.example.wtw.learnlayout;

import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

import com.example.wtw.common.Db;

public class ListViewActivity extends ListActivity {

    private SimpleCursorAdapter adapter;
    private EditText edName;
    //private EditText edSex;
    RadioGroup edSex;
    private Button add;
    private Db db;
    private SQLiteDatabase dbRead;
    private SQLiteDatabase dbWrite;


    //添加按钮事件
    private View.OnClickListener addbtn = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ContentValues cv = new ContentValues();
            if (edName.getText().toString().isEmpty()
                    //|| edSex.getText().toString().isEmpty()
                    || edSex.getCheckedRadioButtonId()==-1
                    ){
                Toast.makeText(v.getContext(),"不能为空",Toast.LENGTH_SHORT).show();
            }else{
                String name = edName.getText().toString();
                //String sex = edSex.getText().toString();
                RadioButton r = (RadioButton) findViewById(edSex.getCheckedRadioButtonId());
                Log.i("mylog","radioID="+edSex.getCheckedRadioButtonId());
                String sex = r.getText().toString();
                cv.put("name",name);
                cv.put("sex",sex);
                dbWrite.insert("user",null,cv);
                Toast.makeText(v.getContext(),"成功",Toast.LENGTH_SHORT).show();
                Log.i("mylog","新增成功");
                refreshListView();
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);
        edName = (EditText) findViewById(R.id.edName);
        //edSex = (EditText) findViewById(R.id.edSex);
        edSex = (RadioGroup) findViewById(R.id.edSex);
        add = (Button) findViewById(R.id.btn_add);
        add.setOnClickListener(addbtn);

        db = new Db(this);
        dbRead = db.getReadableDatabase();
        dbWrite = db.getWritableDatabase();
        adapter = new SimpleCursorAdapter(this,R.layout.user_list,null,new String[]{"name","sex"},new int[]{R.id.tvName,R.id.tvSex});
        Log.i("mylog","正在加载LISTVIEW数据");

        setListAdapter(adapter);
        refreshListView();

        //listview 添加长按事件
        getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {

                //弹出框,title设置弹出框的标题,message设置弹出框的内容,negative设置取消按钮,positive设置确定按钮及事件
                new AlertDialog.Builder(ListViewActivity.this).setTitle("提醒")
                        .setMessage("您确定删除该项吗?")
                        .setNegativeButton("取消",null)
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Cursor c = adapter.getCursor();
                        //c.moveToPosition(position);//从LISTVIEW 中移除
                        int itemid = c.getInt(c.getColumnIndex("_id"));
                        Log.i("mylog","删除ID="+itemid);
                        dbWrite.delete("user","_id=?",new String[]{itemid+""});//在数据库中删除数据
                        refreshListView();//刷新
                    }
                }).show();
                return true;
            }
        });
    }

    //刷新
    public void refreshListView(){
        Cursor c = dbRead.query("user",null,null,null,null,null,null,null);
        adapter.changeCursor(c);
    }

}


推荐阅读:
  1. Win7+VS2010+cocos2d-x 2.1 Beta3+Sqlite工程向android平台移植
  2. Android使用Realm数据库如何实现App中的收藏功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sqlite android lite

上一篇:【我的Linux,我做主!】IPv6解决方案

下一篇:CommonJS,AMD,CMD规范

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》