布局文件main实现简单的功能:

  1. 1 <?xml version="1.0" encoding="utf-8"?>
  2. 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. 3 android:layout_width="fill_parent"
  4. 4 android:layout_height="fill_parent"
  5. 5 android:orientation="vertical" >
  6. 6
  7. 7 <TextView
  8. 8 android:id="@+id/showsomething"
  9. 9 android:layout_width="fill_parent"
  10. 10 android:layout_height="wrap_content"
  11. 11 android:text="@string/hello" />
  12. 12
  13. 13 <Button
  14. 14 android:id="@+id/btn_create"
  15. 15 android:layout_width="wrap_content"
  16. 16 android:layout_height="wrap_content"
  17. 17 android:text="创建数据库" />
  18. 18 <TextView
  19. 19 android:layout_width="wrap_content"
  20. 20 android:layout_height="wrap_content"
  21. 21 android:text="用户名:"
  22. 22 />
  23. 23 <EditText
  24. 24 android:id="@+id/username"
  25. 25 android:layout_width="fill_parent"
  26. 26 android:layout_height="40dp"
  27. 27 />
  28. 28 <TextView
  29. 29 android:layout_width="wrap_content"
  30. 30 android:layout_height="wrap_content"
  31. 31 android:text="密码:"
  32. 32 />
  33. 33 <EditText
  34. 34 android:id="@+id/password"
  35. 35 android:layout_width="fill_parent"
  36. 36 android:layout_height="40dp"
  37. 37 />
  38. 38 <Button
  39. 39 android:id="@+id/btn_insert"
  40. 40 android:layout_width="wrap_content"
  41. 41 android:layout_height="wrap_content"
  42. 42 android:text="添加用户"
  43. 43 android:textSize="20sp"
  44. 44 />
  45. 45
  46. 46 <Button
  47. 47 android:id="@+id/btn_update"
  48. 48 android:layout_width="wrap_content"
  49. 49 android:layout_height="wrap_content"
  50. 50 android:text="更新"
  51. 51 android:textSize="20sp"
  52. 52 />
  53. 53
  54. 54 <Button
  55. 55 android:id="@+id/btn_show"
  56. 56 android:layout_width="wrap_content"
  57. 57 android:layout_height="wrap_content"
  58. 58 android:text="显示用户"
  59. 59 android:textSize="20sp"
  60. 60 />
  61. 61
  62. 62 <Button
  63. 63 android:id="@+id/btn_showall"
  64. 64 android:layout_width="wrap_content"
  65. 65 android:layout_height="wrap_content"
  66. 66 android:text="显示all用户"
  67. 67 android:textSize="20sp"
  68. 68 />
  69. 69 <Button
  70. 70 android:id="@+id/btn_deleteusertable"
  71. 71 android:layout_width="wrap_content"
  72. 72 android:layout_height="wrap_content"
  73. 73 android:text="删除用户表"
  74. 74 android:textSize="20sp"
  75. 75 />
  76. 76 </LinearLayout>

工具类DBUtil.java是实现数据库的创建连接、断接、增删改查等操作。

  1. package com.db.util;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Vector;
  6.  
  7. import android.database.Cursor;
  8. import android.database.sqlite.SQLiteDatabase;
  9. import android.util.Log;
  10. import android.widget.EditText;
  11.  
  12. public class DBUtil
  13. {
  14. static SQLiteDatabase sld;
  15. public static void createOrOpenDatabase() throws Exception
  16. {
  17. sld=SQLiteDatabase.openDatabase
  18. (
  19. "/data/data/com.db/dbtest", //数据库所在路径
  20. null, //CursorFactory
  21. SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY //读写、若不存在则创建
  22. );
  23. String sql0="create table if not exists user(username varchar2(20),password varchar2(20))";
  24. sld.execSQL(sql0);
  25. }
  26.  
  27. public static void closeDatabase() throws Exception
  28. {
  29. try
  30. {
  31. sld.close();
  32. }
  33. catch(Exception e)
  34. {
  35. e.printStackTrace();
  36. }
  37. }
  38.  
  39. /*=====================================begin==========================================================*/
  40. //获取用户信息-winxiang
  41. public static List<String> searchuser(String username){
  42. List<String> list=new ArrayList<String>();
  43. try
  44. {
  45. createOrOpenDatabase();
  46. String sql="select * from user where username='"+username+"'";
  47. Cursor cur=sld.rawQuery(sql, new String[]{});
  48. while(cur.moveToNext())
  49. {
  50. list.add(cur.getString(0)); //username
  51. list.add(cur.getString(1)); //password
  52. }
  53. cur.close();
  54. closeDatabase();
  55. }
  56. catch(Exception e)
  57. {
  58. e.printStackTrace();
  59. }
  60. return list;
  61. }
  62. //获取所有用户信息-winxiang
  63. public static List<String> searchalluser(){
  64. List<String> list=new ArrayList<String>();
  65. try
  66. {
  67. createOrOpenDatabase();
  68. String sql="select * from user";
  69. Cursor cur=sld.rawQuery(sql, new String[]{});
  70. while(cur.moveToNext())
  71. {
  72. list.add(cur.getString(0)); //username
  73. list.add(cur.getString(1)); //password
  74. }
  75. cur.close();
  76. closeDatabase();
  77. }
  78. catch(Exception e)
  79. {
  80. e.printStackTrace();
  81. }
  82. return list;
  83. }
  84.  
  85. public static void updatetable(String sql)
  86. {
  87. try
  88. {
  89. createOrOpenDatabase();
  90. sld.execSQL(sql);
  91. closeDatabase();
  92. }
  93. catch(Exception e)
  94. {
  95. e.printStackTrace();
  96. }
  97. }
  98.  
  99. //舍弃user表
  100. public static void droptable(){
  101. try
  102. {
  103. String sql="drop table user";
  104. createOrOpenDatabase();
  105. sld.execSQL(sql);
  106. closeDatabase();
  107. }
  108. catch(Exception e)
  109. {
  110. e.printStackTrace();
  111. }
  112. Log.d("DB","had deleted table: user->");
  113. }
  114. /*=====================================end==========================================================*/
  115. }

DBTestactivity:

  1. 1 package com.db;
  2. 2
  3. 3
  4. 4 import java.util.List;
  5. 5
  6. 6 import com.db.util.DBUtil;
  7. 7 import android.app.Activity;
  8. 8 import android.os.Bundle;
  9. 9 import android.view.View;
  10. 10 import android.view.View.OnClickListener;
  11. 11 import android.widget.Button;
  12. 12 import android.widget.EditText;
  13. 13 import android.widget.TextView;
  14. 14 import android.widget.Toast;
  15. 15
  16. 16 public class DBtestActivity extends Activity {
  17. 17 Button btn_createdb,btn_insert,btn_show,btn_update,btn_showall,deleteusertable;
  18. 18 EditText username,password;
  19. 19 TextView showsomething;
  20. 20
  21. 21 @Override
  22. 22 public void onCreate(Bundle savedInstanceState) {
  23. 23 super.onCreate(savedInstanceState);
  24. 24 setContentView(R.layout.main);
  25. 25 init();
  26. 26 }
  27. 27
  28. 28 public void init(){
  29. 29 username = (EditText) findViewById(R.id.username);
  30. 30 password = (EditText) findViewById(R.id.password);
  31. 31 btn_createdb = (Button) findViewById(R.id.btn_create);
  32. 32 btn_insert = (Button) findViewById(R.id.btn_insert);
  33. 33 btn_show = (Button) findViewById(R.id.btn_show);
  34. 34 btn_update = (Button) findViewById(R.id.btn_update);
  35. 35 deleteusertable = (Button) findViewById(R.id.btn_deleteusertable);
  36. 36 btn_showall= (Button) findViewById(R.id.btn_showall);
  37. 37 showsomething = (TextView) findViewById(R.id.showsomething);
  38. 38
  39. 39 btn_createdb.setOnClickListener(listener);
  40. 40 btn_insert.setOnClickListener(listener);
  41. 41 btn_createdb.setOnClickListener(listener);
  42. 42 btn_show.setOnClickListener(listener);
  43. 43 btn_update.setOnClickListener(listener);
  44. 44 btn_showall.setOnClickListener(listener);
  45. 45 deleteusertable.setOnClickListener(listener);
  46. 46 }
  47. 47
  48. 48 public OnClickListener listener = new OnClickListener() {
  49. 49 @Override
  50. 50 public void onClick(View v) {
  51. 51 Button button = (Button) v;
  52. 52 if(button.getId()==btn_createdb.getId()){
  53. 53 try {
  54. 54 DBUtil.createOrOpenDatabase();
  55. 55 } catch (Exception e) {
  56. 56 e.printStackTrace();
  57. 57 }
  58. 58 }else if(button.getId()==btn_insert.getId()){
  59. 59 String sql="insert into user values ('"+username.getText()+"','"+password.getText()+"')";
  60. 60 DBUtil.updatetable(sql);
  61. 61 }else if(button.getId()==btn_show.getId()){
  62. 62 List<String>user = DBUtil.searchuser(username.getText().toString());
  63. 63 showsomething.setText(user.toString());
  64. 64 }else if(button.getId()==btn_update.getId()){
  65. 65 String sql="update user set username='"+username.getText()+"',password='"+password.getText()+"' where username = '"+username.getText()+"'";
  66. 66 System.out.println(sql);
  67. 67 DBUtil.updatetable(sql);
  68. 68 }else if(button.getId()==btn_showall.getId()){
  69. 69 List<String>users = DBUtil.searchalluser();
  70. 70 showsomething.setText(users.toString());
  71. 71 }else if(button.getId()==deleteusertable.getId()){
  72. 72 DBUtil.droptable();
  73. 73 Toast.makeText(getApplicationContext(), "用户表删除成功", Toast.LENGTH_SHORT).show();
  74. 74 }
  75. 75 }
  76. 76 };
  77. 77 }

靠谱好用,ANDROID SQLITE 增删查改的更多相关文章

  1. python下sqlite增删查改方法(转)

    sqlite读写   #coding=utf-8 import sqlite3 import os #创建数据库和游标 if os.path.exists(' test.db'): conn=sqli ...

  2. SQLite在Android程序中的使用方法,SQLite的增删查改方法

    Sqlite: 1.一款用来实现本地数据存储的轻量级数据管理工具,是众多用来实现数据库管理的工具之一. 2.Android已经将SQLite的代码功能吸收在它的系统中,我们可以直接在Android程序 ...

  3. Android SQLite最简单demo实现(增删查改)

    本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍, ...

  4. Android——另外一种增删查改的方式(ContentProvider常用)

    以下介绍另外一种增删查改的方式 package com.njupt.sqllist; import java.util.ArrayList; import java.util.List; import ...

  5. C# SQLite 创建数据库的方法增删查改语法和命令

    SQLite介绍 SQLite是一个开源.免费的小型RDBMS(关系型数据库),能独立运行.无服务器.零配置.支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准. SQLite数据库官方主页 ...

  6. 后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)

    1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug. 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到 ...

  7. 后端Spring Boot+前端Android交互+MySQL增删查改

    2021.1.27 更新 已更新新版本博客,更新内容很多,因此新开了一篇博客,戳这里. 1 概述 使用spring boot作为后端框架与Android端配合mysql进行基本的交互,包含了最基本的增 ...

  8. IOS CoreData的(增删查改)

    (1).CoreDataa>什么是CoreDatab>CoreData增删改查 "什么时候使用COredata 什么时候使用FMDatabases"CoreData 在 ...

  9. [置顶] cocos2dx sqllite 增删查改等操作

    首先导入文件shell.c sqllite3.c sqlite3.h sqlite3etx.h文件(注意在生成安卓项目是 不要将shell.c写进android.mk文件中,写进去在cywin中生成会 ...

随机推荐

  1. ArrayList源码和多线程安全问题分析

    1.ArrayList源码和多线程安全问题分析 在分析ArrayList线程安全问题之前,我们线对此类的源码进行分析,找出可能出现线程安全问题的地方,然后代码进行验证和分析. 1.1 数据结构 Arr ...

  2. aways on 配置部署(二)——配置域

    前一篇中我们基本了解了配置aways on的三个步骤,本篇就具体讲解如何配置域. DNS的配置 上篇可以看到三台服务器的ip地址,网关,DNS等配置,其中sqlDNS服务器的dns为自己的ip地址,s ...

  3. Appium--入门demo

    Appium环境搭建已经在在博客中写出 http://www.cnblogs.com/feimaoyuzhubaobao/p/5057832.html   那么本篇博客主要介绍java版本的appiu ...

  4. Ruby 2.x 命名参数特性简介

    我以前曾有一个梦想,就是我的爹是李嘉诚-,那个-,不是啦,我的梦想是ruby像ObjC,或是现在的swift那样给方法提供命名参数. 之前的ruby只能用hash来模拟这个行为,不过你没法很容易的定义 ...

  5. JAVA中的常量定义在class中还是interface中比较合理?

    本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 java中使用的常量可以集中定义在一个文件中. 有两种解决方案: 1.在Constants.java中 ...

  6. 凸函数与Jensen不等式

    这个是在凸优化里面看的,在EM算法中看有用到,所以用latex写了篇回忆用的小短文,现在不会把latex产生的pdf怎么转变成放到这里的内容. 所以我选择直接贴图. 这个pdf可以在我的资源里找到.  ...

  7. Unsupported major.minor version 52.0

    今天运行项目,切换一下eclipse,运行程序突然发现普通的类main()方法无法运行,报错详细信息如下: Exception in thread "main" java.lang ...

  8. pipeline(管道)设计模式

  9. SQL Server 索引维护(1)——如何获取索引使用情况

    前言: 在前面一文中,已经提到了三类常见的索引问题,那么问题来了,当系统出现这些问题时,该如何应对? 简单而言,需要分析现有系统的行为,然后针对性地对索引进行处理: 对于索引不足的情况:检查缺少索引的 ...

  10. 分布式缓存组件Hazelcast

    Hazelcast是一个Java的开源分布式内存实现,它具有以下特性: 提供java.util.{Queue, Set, List, Map}的分布式实现 提供java.util.concurrent ...