首页 > 移动平台 > 详细

Android自学之路——SQLite数据库的使用

时间:2016-03-11 21:56:39      阅读:249      评论:0      收藏:0      [点我收藏+]

学习笔记:1)Cursor是SQLite 数据库查询返回的行数集合

            2)SQLiteDatabase的execSQL()方法可执行任意的SQL语句 但是因为其没有返回值 所以一般执行DDL和DML语句

 1 package com.example.cms.sqlite;
 2 /**
 3  *示范如何在Android中操作SQLites数据库
 4  * 提供两个文本框让用户输入内容 用户点击按钮 既可实现将数据存入数据库中
 5  */
 6 
 7 import android.database.Cursor;
 8 import android.database.sqlite.SQLiteDatabase;
 9 import android.database.sqlite.SQLiteException;
10 import android.support.v7.app.AppCompatActivity;
11 import android.os.Bundle;
12 import android.view.View;
13 import android.widget.Button;
14 import android.widget.CursorAdapter;
15 import android.widget.EditText;
16 import android.widget.ListView;
17 import android.widget.SimpleCursorAdapter;
18 
19 public class MainActivity extends AppCompatActivity {
20     private EditText news_title;
21     private EditText news_content;
22     private Button button;
23     private ListView listView;
24     SQLiteDatabase dataBase;       //获取SQLite对象
25     @Override
26     protected void onCreate(Bundle savedInstanceState) {
27         super.onCreate(savedInstanceState);
28         setContentView(R.layout.activity_main);
29 
30 
31         //绑定布局控件
32         news_title= (EditText) findViewById(R.id.news_title);
33         news_content= (EditText) findViewById(R.id.news_content);
34         button= (Button) findViewById(R.id.button);
35         listView= (ListView) findViewById(R.id.listView);
36         dataBase=SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/my.db3",null);
37 
38         //设置Button的点击事件
39         button.setOnClickListener(new View.OnClickListener() {
40             @Override
41             public void onClick(View v) {
42                 //获取用户输入
43                 String title=news_title.getText().toString();
44                 String content=news_content.getText().toString();
45                 try{
46                     //调用方法向SQLite数据库中存入数据
47                     insertData(dataBase,title,content);
48                     Cursor cursor= dataBase.rawQuery("SELECT * FROM news_inf",null);
49                     inflateList(cursor);
50                 }catch (SQLiteException se){
51                     //执行DDL创建数据库
52                     dataBase.execSQL("CREATE TABLE news_inf("
53                                 +"_id INTEGER PRIMARY KEY AUTOINCREMENT,"
54                                 +"news_title VARCHAR(50),"
55                                 +"news_content VARCHAR(255))");
56                     insertData(dataBase,title,content);
57                     Cursor cursor= dataBase.rawQuery("SELECT * FROM news_inf",null);
58                     inflateList(cursor);
59                 }
60             }
61         });
62     }
63 
64     private void insertData(SQLiteDatabase database,String title,String content){
65         database.execSQL("INSERT INTO news_inf VALUES(null,?,?)",new String[]{title,content});
66     }
67     private void inflateList(Cursor cursor){
68         SimpleCursorAdapter adapter=new SimpleCursorAdapter(MainActivity.this,R.layout.line,cursor,new String[]{"news_title","news_content"},new int[]{R.id.set_title,R.id.set_content}, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
69         listView.setAdapter(adapter);
70 
71     }
72 
73     @Override
74     protected void onDestroy() {
75         super.onDestroy();
76         if(dataBase!=null&&dataBase.isOpen()){
77             dataBase.close();
78         }
79     }
80 }

 

Android自学之路——SQLite数据库的使用

原文:http://www.cnblogs.com/xiaoxuanandroid/p/5267213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!