• Androids中数据库的使用SQLite


    (一)

    知识点:

    SQLite3支持的数据类型:NULL,INTEGER,REAL(浮点数字),TEXT(字符串文本),BLOB(二进制对象),虽然他支持的类型只有五种,但实际上sqlite3也接受varchar(n),char(n)等数据类型

    1.效果图:点击增加数据,显示增加完毕,点击查询数据,可以查看加进去的数据   。。。。

       

     2.布局

    (1)activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <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:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.administrator.hello.MainActivity"
        android:orientation="vertical">
    
        <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="数据库使用" />
             <Button
                 android:id="@+id/btn_add"
                 android:onClick="doClick"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="增加数据"/>
            <Button
                 android:id="@+id/btn_query"
                 android:onClick="doClick"
                 android:layout_width="match_parent"
                android:layout_height="wrap_content"
                 android:text="查询数据"/>
        <Button
            android:id="@+id/btn_update"
            android:onClick="doClick"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="修改数据"/>
        <Button
            android:id="@+id/btn_delete1"
            android:onClick="doClick"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="删除指定数据"/>
        <Button
            android:id="@+id/btn_delete2"
            android:onClick="doClick"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="删除全部数据"/>
    
            <ListView
                 android:id="@+id/lv"
                android:layout_width="match_parent"
                 android:layout_height="wrap_content"></ListView>
    </LinearLayout>

     (2)item.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     >
     6 
     7     <TextView
     8         android:id="@+id/user_Id"
     9         android:layout_width="50dp"
    10         android:layout_height="wrap_content" />
    11     <TextView
    12         android:id="@+id/user_Name"
    13         android:layout_width="100dp"
    14         android:layout_height="wrap_content" />
    15     <TextView
    16         android:id="@+id/user_Age"
    17        android:layout_width="50dp"
    18         android:layout_height="wrap_content" />
    19 
    20 </LinearLayout>

    3.UserDao.java

    package com.example.administrator.hello.Dao;
    
    /**
     * Created by Administrator on 2018/5/25.
     */
    
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    
    
    import com.example.administrator.hello.DBUtil.MySQLiteHelper;
    import com.example.administrator.hello.entity.User;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    /**
     * Created by Administrator on 2018/5/24.
     */
    public class UserDao {
        private MySQLiteHelper mySQLiteHelper;
        private SQLiteDatabase db;
    
    
        public UserDao(Context context) {
            mySQLiteHelper = new MySQLiteHelper(context);
            db = mySQLiteHelper.getReadableDatabase(); //获取数据库对象
        }
    
        public void insertUser() {
            //使用字符串拼接方式操作数据
            String sql = "insert into t_user(userName,userAge) values ('zhangsan',20)";
            db.execSQL(sql);
            //通过占位符的形式进行数据操作
            db.execSQL("insert into t_user(userName,userAge) values(?,?)", new Object[]{"lisi", 21});
            //使用系统自带的方法实现数据操作
            ContentValues values = new ContentValues();
            values.put("userName", "wangwu");
            values.put("userAge", 22);
            db.insert("t_user", null, values);
    
    
        }
    
        public List<User> query() {
            List<User> list = new ArrayList<>();
            Cursor cursor = db.rawQuery("select * from t_user", null);
            if (cursor != null) {
                while (cursor.moveToNext()) {
                    int userId = cursor.getInt(cursor.getColumnIndex("userId"));
                    String userName = cursor.getString(1);
                    int userAge = cursor.getInt(2);
                    User user = new User(userId, userName, userAge);
                    list.add(user);
    
                }
            }
            cursor.close();
            return list;
    
        }
    
        public void  update(){
            db.execSQL("update t_user set userName=? where userId =?",new Object[]{"李四",2});
            ContentValues values = new ContentValues();
            values.put("userName","王五");
            db.update("t_user",values,"userId=?",new String[]{3+""});
        }
        public  void  update(String name,String id){
            db.execSQL("update t_user set userName='"+name+"' where userId="+id);
        }
    
        public  void  delete(){
            //1
            db.execSQL("delete from t_user where userId ='1'");
            //2
            db.execSQL("delete from t_user where userId=?",new Object[]{"2"});
            //3
            db.delete("t_user","userId=?",new  String[]{"3"});
        }
        public  void  deleteAll(){
            db.execSQL("delete from t_user");
        }
    
    
    
    
    
    
    
    
    
    }

    4.MySQLiteHelper

    package com.example.administrator.hello.DBUtil;
    
    /**
     * Created by Administrator on 2018/5/25.
     */
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    
    /**
     * Created by Administrator on 2018/5/24.
     */
    public class MySQLiteHelper extends SQLiteOpenHelper {
        private static final String NAME = "mydata.db";
        private static final int version = 1;
    
        public MySQLiteHelper(Context context) {
    
            super(context, NAME, null, version);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table t_user(userId integer primary key autoincrement,userName text not null,userAge integer not null)");
    
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
        }
    }

    5.User.java

     1 package com.example.app5.entity;
     2 
     3 /**
     4  * Created by Administrator on 2018/5/24.
     5  */
     6 public class User {
     7     private int userId;
     8     private String userName;
     9     private int useAge;
    10 
    11     public User(int userId, String userName, int useAge) {
    12         this.userId = userId;
    13         this.userName = userName;
    14         this.useAge = useAge;
    15     }
    16 
    17     public int getUserId() {
    18         return userId;
    19     }
    20 
    21     public void setUserId(int userId) {
    22         this.userId = userId;
    23     }
    24 
    25     public String getUserName() {
    26         return userName;
    27     }
    28 
    29     public void setUserName(String userName) {
    30         this.userName = userName;
    31     }
    32 
    33     public int getUseAge() {
    34         return useAge;
    35     }
    36 
    37     public void setUseAge(int useAge) {
    38         this.useAge = useAge;
    39     }
    40 }

    6.MainActivity.java

    package com.example.administrator.hello;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.ListViewCompat;
    import android.view.View;
    import android.widget.ListView;
    import android.widget.Toast;
    
    
    import com.example.administrator.hello.Dao.UserDao;
    import com.example.administrator.hello.entity.User;
    
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity {
        private UserDao userDao;
        private List<User> list;
        private MyAapter myAapter;
        private ListView listView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            userDao = new UserDao(MainActivity.this);
            listView = (ListView) findViewById(R.id.lv);
        }
    
        public void doClick(View view) {
            switch (view.getId()) {
                case R.id.btn_add:
                    userDao.insertUser();
                    Toast.makeText(MainActivity.this, "插入数据成功", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.btn_query:
                    list = userDao.query();
                    myAapter = new MyAapter(list, MainActivity.this);
                    listView.setAdapter(myAapter);
                    break;
                case  R.id.btn_update:
                    String name="张三" ;
                    String id ="1";
                    userDao.update(name,id);
                    userDao.update();
                    Toast.makeText(MainActivity.this, "修改数据成功", Toast.LENGTH_SHORT).show();
                    break;
                case  R.id.btn_delete1:
                    userDao.delete();
                    Toast.makeText(MainActivity.this, "删除指定数据成功", Toast.LENGTH_SHORT).show();
                    break;
                case  R.id.btn_delete2:
                    userDao.deleteAll();
                    Toast.makeText(MainActivity.this, "删除全部数据成功", Toast.LENGTH_SHORT).show();
                    break;
    
    
            }
        }
    }

    7.MyAapter

     1 package com.example.app5;
     2 
     3 import android.content.Context;
     4 import android.view.LayoutInflater;
     5 import android.view.View;
     6 import android.view.ViewGroup;
     7 import android.widget.BaseAdapter;
     8 import android.widget.TextView;
     9 
    10 import com.example.app5.entity.User;
    11 
    12 import java.util.List;
    13 
    14 /**
    15  * Created by Administrator on 2018/5/24.
    16  */
    17 public class MyAapter extends BaseAdapter {
    18     private Context context;
    19     private List<User> list;
    20 
    21     public MyAapter(List<User> list, Context context) {
    22         this.list = list;
    23         this.context = context;
    24     }
    25     @Override
    26     public int getCount() {
    27         return list.size();
    28     }
    29 
    30     @Override
    31     public Object getItem(int position) {
    32         return list.get(position);
    33     }
    34 
    35     @Override
    36     public long getItemId(int position) {
    37         return position;
    38     }
    39 
    40     @Override
    41     public View getView(int position, View convertView, ViewGroup parent) {
    42         ViewH viewH;
    43         if (convertView==null){
    44             convertView= LayoutInflater.from(context).inflate(R.layout.item,null);
    45             viewH = new ViewH();
    46             viewH.tv_id=(TextView)convertView.findViewById(R.id.user_Id);
    47             viewH.tv_age=(TextView)convertView.findViewById(R.id.user_Age);
    48             viewH.tv_name=(TextView)convertView.findViewById(R.id.user_Name);
    49             convertView.setTag(viewH);
    50         }else {
    51             viewH=(ViewH)convertView.getTag();
    52         }
    53         viewH.tv_id.setText(list.get(position).getUserId()+"");
    54         viewH.tv_name.setText(list.get(position).getUserName()+"");
    55         viewH.tv_age.setText(list.get(position).getUseAge()+"");
    56         return convertView;
    57     }
    58 
    59     class  ViewH{
    60         private TextView tv_id;
    61         private TextView tv_age;
    62         private  TextView tv_name;
    63     }
    64 }
  • 相关阅读:
    JDK7与JDK8环境共存与切换:先安装jdk7,配置好环境变量后再安装jdk8
    Maven环境配置
    JDK的安装
    Access2010打开系统表MSysObjects的控制权限
    Spring aop 简单示例
    redis集群搭建
    springmvc中拦截器与springmvc全局异常处理器的问题
    自定义springmvc统一异常处理器(实现HandlerExceptionResolver接口)不起作用的一种情况
    一句SQL实现MYSQL的递归查询
    2002年的决战坦克,重新玩一遍。qq群号:1035127306
  • 原文地址:https://www.cnblogs.com/sunxiaoyan/p/9082693.html
Copyright © 2020-2023  润新知