android studio中ListView与SQLite的结合使用
Da.java
public class Db extends SQLiteOpenHelper {
    public Db(Context context) {
        super(context, "db", null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE user2(" +
                "_id INT DEFAULT 0," +
                "name TEXT DEFAULT \"\"," +
                "sex TEXT DEFAULT \"\")");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
    private SimpleCursorAdapter mAdapter;
    private ListView listView;
    private Button btn_add;
    private Button btn_delete;
    private Button btn_back;
    private EditText et_id;
    private EditText et_name;
    private EditText et_sex;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_add = (Button) findViewById(R.id.btn_add);
        btn_delete = (Button) findViewById(R.id.btn_delete);
        listView = (ListView) findViewById(R.id.list);
        btn_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addData();
                refleshListView();
            }
        });
        btn_delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                deleteData();
                refleshListView();
            }
        });
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//                Toast.makeText(MainActivity.this,""+position,Toast.LENGTH_SHORT).show();
                int positions = position + 1;
                Db db = new Db(MainActivity.this);
                SQLiteDatabase dbWrite = db.getWritableDatabase();
                dbWrite.delete("user2","_id=?",new String[]{""+positions});
                dbWrite.close();
                refleshListView();
            }
        });
    }
    public void addData() {
        btn_back = (Button) findViewById(R.id.btn_back);
        et_id = (EditText) findViewById(R.id.et_id);
        et_name = (EditText) findViewById(R.id.et_name);
        et_sex = (EditText) findViewById(R.id.et_sex);
        btn_add = (Button) findViewById(R.id.btn_add);
        btn_delete = (Button) findViewById(R.id.btn_delete);
        listView = (ListView) findViewById(R.id.list);
        btn_add.setVisibility(View.GONE);
        btn_delete.setVisibility(View.GONE);
        listView.setVisibility(View.GONE);
        btn_back.setVisibility(View.VISIBLE);
        et_id.setVisibility(View.VISIBLE);
        et_name.setVisibility(View.VISIBLE);
        et_sex.setVisibility(View.VISIBLE);
        btn_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                btn_add.setVisibility(View.VISIBLE);
                btn_delete.setVisibility(View.VISIBLE);
                listView.setVisibility(View.VISIBLE);
                btn_back.setVisibility(View.GONE);
                et_id.setVisibility(View.GONE);
                et_name.setVisibility(View.GONE);
                et_sex.setVisibility(View.GONE);
                String id = et_id.getText().toString(),
                        name =et_name.getText().toString(),
                        sex = et_sex.getText().toString();
                Db db = new Db(MainActivity.this);
                SQLiteDatabase dbWrite = db.getWritableDatabase();
                ContentValues cv = new ContentValues();
                cv.put("_id", id);
                cv.put("name", name);
                cv.put("sex", sex);
                dbWrite.insert("user2", null, cv);
                dbWrite.close();
                refleshListView();
            }
        });
//        String id = et_id.getText().toString(),
//               name =et_name.getText().toString(),
//               sex = et_sex.getText().toString();
//
//
//        Db db = new Db(MainActivity.this);
//        SQLiteDatabase dbWrite = db.getWritableDatabase();
//
//        ContentValues cv = new ContentValues();
//        cv.put("_id",id);
//        cv.put("name", name);
//        cv.put("sex", sex);
//        dbWrite.insert("user2", null, cv);
//
//        dbWrite.close();
    }
    public void deleteData() {
        Db db = new Db(MainActivity.this);
        SQLiteDatabase dbWrite = db.getWritableDatabase();
        dbWrite.delete("user2",null,new String[]{});
        dbWrite.close();
    }
    public void refleshListView() {
        Db db = new Db(MainActivity.this);
        SQLiteDatabase dbRead = db.getReadableDatabase();
        Cursor c = dbRead.query("user2", null, null, null, null, null, null);
        mAdapter = new SimpleCursorAdapter(MainActivity.this, R.layout.user_info, c,
                new String[]{"_id","name","sex"}, new int[]{R.id._id,R.id._name,R.id._sex});
        listView.setAdapter(mAdapter);
        dbRead.close();
    }
}
user_info.xml
<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/_id"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/_name"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/_sex"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> </LinearLayout>
activity_main.xml
<LinearLayout 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:orientation="vertical"
tools:context=".MainActivity"> <Button
android:id="@+id/btn_add"
android:text="Add"
android:textSize="20sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_delete"
android:text="Delete"
android:textSize="20sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> <ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/> <Button
android:id="@+id/btn_back"
android:text="确定"
android:textSize="20sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> <EditText
android:id="@+id/et_id"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="40dp" />
<EditText
android:id="@+id/et_name"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="40dp" />
<EditText
android:id="@+id/et_sex"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="40dp" />
</LinearLayout>
android studio中ListView与SQLite的结合使用的更多相关文章
- Android开发的小技巧,在Android Studio中使用Designtime Layout Attributes
		在编写xml文件时,为了预览效果,经常会使用默认填上一些内容,比如TextView时,随便写上一个text <TextView ... android:text="Name:" ... 
- Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源
		Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ... 
- android studio 中移除module和恢复module
		一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ... 
- Android Studio中Button等控件的Text中字符串默认大写的解决方法
		初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是 ... 
- .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口
		对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ... 
- 如何将Eclipse中的项目迁移到Android Studio 中
		如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ... 
- 在android studio 中使用applicationid的问题
		现在我需要对项目app的某个功能做性能测试,主要测试耗电量的多少. 1.我想到的方式是,我需要在同一台手机测试,同一个应用,需要安装在手机两次,第二次安装不覆盖第一次的安装. 在android stu ... 
- Android studio 中的配置编译错误总结
		1.编译Andorid 工程的时候,有时候出现gradle 报下面的错误. Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin : U ... 
- Android Studio中清单文件改versionCode和versionName没效果的原因
		在Android Studio中,项目的versionCode 和versionName 的控制不是在AndroidManifest.xml清单文件中更改的,而是在项目的build.gradle中更改 ... 
随机推荐
- vim 快捷键
			1.vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu #行号 set tabstop=4 #一个tab为4个空格长度 set ... 
- /var/spool/clientmqueue 下生成太多文件处理
			问题现象: linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件. 原因分析: 系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发 ... 
- python基础_制作多级菜单_(运用:字典_列表_元组等知识)
			#!/usr/bin/env python # -*- coding:utf-8 -*- #Author: nulige db = {} path = {} while True: temp = db ... 
- 安装myeclipse10后破解时发现没有common文件夹
			今天重新安装了myeclipse10软件,然后在破解的时候发现安装目录下没有common,这是因为以前安装过myeclipse,卸载时没有完全清除,再次安装时,myeclipse会自动找到以前安装的c ... 
- Yii2初级入门教程
			下载安装 Yii挺火的,也是MVC的Web框架.国内占有率,相当不错.值得一学. 网络上提供了两个版本模板的下载, advanced, 和 basic, 使用起来一致, 提供的模块支持不同. Adva ... 
- mysql explain知道
			
- iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理
			一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 #import "ChaosMu ... 
- iOS开发小技巧--实现将图片保存到本地相册
			一.报错的代码 错误 -- out of bounds 超出界限的意思 *** Terminating app due to uncaught exception 'NSInvalidArgument ... 
- iOS开发小技巧--修改按钮内部图片和文字之间的间距(xib)
			调整按钮的Edge属性,选择调整图片的Edge还是label的Edge,如图: 
- EPUB书籍阅读器插件分享
			本文主要分享EPUB文件的打开方式, 包括如何使用火狐浏览器打开epub, 如何使用chrome打开epub, 如何使用IE浏览器打开epub文件: 1:使用火狐打开epub文件 如果有安装火狐浏览器 ... 
