Androids中数据库的使用SQLite

(一)

知识点:

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

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

 2.布局

(1)activity_main.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.app5.MainActivity"
11     android:orientation="vertical">
12 
13     <TextView
14         android:layout_width="wrap_content"
15         android:layout_height="wrap_content"
16         android:text="数据库使用" />
17     <Button
18         android:id="@+id/btn_add"
19         android:onClick="doClick"
20         android:layout_width="match_parent"
21         android:layout_height="wrap_content"
22         android:text="增加数据"/>
23     <Button
24         android:id="@+id/btn_query"
25         android:onClick="doClick"
26         android:layout_width="match_parent"
27         android:layout_height="wrap_content"
28         android:text="查询数据"/>
29     <ListView
30         android:id="@+id/lv"
31         android:layout_width="match_parent"
32         android:layout_height="wrap_content"></ListView>
33 </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

 1 package com.example.app5.Dao;
 2 
 3 import android.content.ContentValues;
 4 import android.content.Context;
 5 import android.database.Cursor;
 6 import android.database.sqlite.SQLiteDatabase;
 7 
 8 import com.example.app5.DBUtil.MySQLiteHelper;
 9 import com.example.app5.entity.User;
10 
11 import java.util.ArrayList;
12 import java.util.List;
13 
14 
15 /**
16  * Created by Administrator on 2018/5/24.
17  */
18 public class UserDao {
19     private MySQLiteHelper mySQLiteHelper;
20     private SQLiteDatabase db;
21 
22 
23     public UserDao(Context context){
24         mySQLiteHelper = new MySQLiteHelper(context);
25         db=mySQLiteHelper.getReadableDatabase(); //获取数据库对象
26     }
27     public void insertUser(){
28         //使用字符串拼接方式操作数据
29         String sql = "insert into t_user(userName,userAge) values ('zhangsan',20)";
30         db.execSQL(sql);
31         //通过占位符的形式进行数据操作
32         db.execSQL("insert into t_user(userName,userAge) values(?,?)",new Object[]{"lisi",21});
33         //使用系统自带的方法实现数据操作
34         ContentValues values = new ContentValues();
35         values.put("userName","wangwu");
36         values.put("userAge",22);
37         db.insert("t_user",null,values);
38 
39 
40     }
41 
42     public List<User>query(){
43         List<User> list= new ArrayList<>();
44         Cursor cursor = db.rawQuery("select * from t_user",null);
45         if(cursor!=null){
46             while (cursor.moveToNext()){
47                 int userId = cursor.getInt(cursor.getColumnIndex("userId"));
48                 String userName = cursor.getString(1);
49                 int userAge = cursor.getInt(2);
50                 User user = new User(userId,userName,userAge);
51                 list.add(user);
52 
53             }
54         }
55         cursor.close();
56         return list;
57 
58     }
59 }

4.MySQLiteHelper

 1 package com.example.app5.DBUtil;
 2 
 3 import android.content.Context;
 4 import android.database.sqlite.SQLiteDatabase;
 5 import android.database.sqlite.SQLiteOpenHelper;
 6 
 7 /**
 8  * Created by Administrator on 2018/5/24.
 9  */
10 public class MySQLiteHelper extends SQLiteOpenHelper {
11     private static  final  String NAME="mydata.db";
12     private static final  int version=1;
13 
14     public MySQLiteHelper(Context context) {
15 
16         super(context, NAME, null, version);
17     }
18 
19     @Override
20     public void onCreate(SQLiteDatabase db) {
21         db.execSQL("create table t_user(userId integer primary key autoincrement,userName text not null,userAge integer not null)");
22 
23     }
24 
25 
26 
27     @Override
28     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
29 
30     }
31 }

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

 1 package com.example.app5;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.support.v7.widget.ListViewCompat;
 6 import android.view.View;
 7 import android.widget.ListView;
 8 import android.widget.Toast;
 9 
10 import com.example.app5.Dao.UserDao;
11 import com.example.app5.entity.User;
12 
13 import java.util.List;
14 
15 public class MainActivity extends AppCompatActivity {
16     private UserDao userDao;
17     private List<User> list;
18     private  MyAapter myAapter;
19     private ListView listView;
20 
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25         userDao = new UserDao(MainActivity.this);
26         listView=(ListView)findViewById(R.id.lv);
27     }
28 
29     public  void  doClick(View view){
30         switch (view.getId()){
31             case R.id.btn_add:
32                 userDao.insertUser();
33                 Toast.makeText(MainActivity.this, "插入完毕111333333333", Toast.LENGTH_SHORT).show();
34                 break;
35             case R.id.btn_query:
36                 list=userDao.query();
37                 myAapter=new MyAapter(list,MainActivity.this);
38                 listView.setAdapter(myAapter);
39                break;
40 
41 
42 
43 
44         }
45     }
46 }

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 }

猜你喜欢

转载自www.cnblogs.com/sunxiaoyan/p/9082693.html