1. 程式人生 > >SQLite資料庫的基本使用,一看即會

SQLite資料庫的基本使用,一看即會

1.新建安卓工程後新建一個類:DatabaseHelper.java,該類繼承自SQLiteOpenHelper,主要用於新建資料庫,新建資料表和更新資料庫:

public class DatabaseHelper extends SQLiteOpenHelper {
    //類沒有例項化,是不能用作父類構造器的引數,必須宣告為靜態
private static final String name = "youyu"; //資料庫名稱
private static final int version = 1; //資料庫版本
public DatabaseHelper(Context context) {
        super
(context, name, null, version); } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
2.新建類YouYuDBHelper
public class YouYuDBHelper {
    private DatabaseHelper databaseHelper;
    public  
YouYuDBHelper(Context context){ databaseHelper = new DatabaseHelper(context); } public void dropTable(String sql){ } public void closeDataBase(String sql){ databaseHelper.getWritableDatabase().close(); } public void createTableUser(){//建立自己需要的表 String sql = "CREATE TABLE IF NOT EXISTS TB_User(id integer primary key autoincrement,name,year,job,address)"
; databaseHelper.getWritableDatabase().execSQL(sql); } public void insertUser(String name,String year,String job,String address){//資料插入 SQLiteDatabase db = databaseHelper.getWritableDatabase(); String sql = "insert into TB_User(name,year,job,address) values(?,?,?,?)"; db.execSQL(sql,new Object[]{name,year,job,address}); db.close(); } public List<User> selectUser(){//資料查詢,返回一個集合(可以根據自己的需要來修改返回值) List<User> list = new ArrayList<>(); SQLiteDatabase db = databaseHelper.getWritableDatabase(); String sql = "select * from TB_User"; Cursor cursor = db.rawQuery(sql,null); while (cursor.moveToNext()){ User user = new User(); user.setId(cursor.getInt(0)); user.setName(cursor.getString(1)); user.setYear(cursor.getString(2)); user.setJob(cursor.getString(3)); user.setAddress(cursor.getString(4)); list.add(user); } cursor.close(); db.close(); return list; } }

3.在Activity中的使用

public class MainActivity extends Activity implements View.OnClickListener{
    
   private TextView tv_content;
    private TextView tv_txt;
    private Button btn_insert;
    private Button btn_select;
    private YouYuDBHelper dbHelper;

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();//初始化控制元件
        dbHelper = new YouYuDBHelper(MainActivity.this);
        dbHelper.createTableUser();//新建一個表
    }

    private void initView() {
        tv_content = (TextView)findViewById(R.id.tv_content);
        tv_txt = (TextView)findViewById(R.id.tv_txt);
        btn_insert = (Button)findViewById(R.id.btn_insert);
        btn_select = (Button)findViewById(R.id.btn_select);
      
        btn_insert.setOnClickListener(this);
        btn_select.setOnClickListener(this);
    }


 

    @Override
public void onClick(View v) {
        switch(v.getId()){
           
        
            case R.id.btn_insert:
                for (int i = 0;i < 4;i++){
                    dbHelper.insertUser("王日"+(i+1),"20","銷售","上海市嘉定區");//插入操作
                }
                break;
            case R.id.btn_select:
              List<User> list =  dbHelper.selectUser();//查詢操作
                tv_content.setText(list.get(0).getId()+"--"+list.get(0).getName()+"---"+list.get(0).getYear()+"--"+list.get(0).getJob()+"---"+list.get(0).getAddress());
                tv_txt.setText(list.get(1).getId()+"--"+list.get(1).getName()+"---"+list.get(1).getYear()+"--"+list.get(1).getJob()+"---"+list.get(1).getAddress());
                break;
        }
    }

 
}

相關推薦

SQLite資料庫基本使用

1.新建安卓工程後新建一個類:DatabaseHelper.java,該類繼承自SQLiteOpenHelper,主要用於新建資料庫,新建資料表和更新資料庫: public class DatabaseHelper extends SQLiteOpenHelper {

Word文件自動生成目錄方法!還自動更新

無論是寫論文還是工作中,有時候需要設定Word文件的目錄,但是那麼多頁的文件,一個一個手動去新增太麻煩了,究竟有什麼好辦法可以讓Word文件自動生成目錄呢?相信大家都想知道,那今天就讓小編給大家講講Word文件自動生成目錄的方法吧,絕對簡單,保證大家看完就會! 1、先設定好文章的標題樣式 首先,需要把文章

Word文檔自動生成目錄方法!還自動更新

引用 有時 文本 images 圖片 鼠標 添加 麻煩 所有 無論是寫論文還是工作中,有時候需要設置Word文檔的目錄,但是那麽多頁的文檔,一個一個手動去添加太麻煩了,究竟有什麽好辦法可以讓Word文檔自動生成目錄呢?相信大家都想知道,那今天就讓小編給大家講講Word文檔自

Cocos2dx釋出Android包配置開發環境(菜鳥級入門

環境Cocos2.2.3: 1.下載adt-bundle-windows-x86_64這裡邊有Eclipse和Android SDK ,這個很方便,因為Eclipse裡Android的 SDK路徑已經給你配置好了。(找不到官網下載路徑就隨便在一個網站寫下載好了) PS:

好用的日曆外掛WdatePicker帶示例

先看一下示例圖片(見後面),只有一部分,沒截完,請見諒 簡單的程式碼呼叫,拿來就能用 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4

科目三靠邊停車30cm技巧!再也不怕不停車了!

大於 後視鏡 自己 這一 fun 附近 .com img com 靠邊停車是科目三考試的最後一關,如果在這一關失敗,那之前所有的努力都功虧一簣了,你感覺吃不吃虧?就連我們自己平時開車,輪胎萬一與路邊石階刮蹭,就會造成不小的傷害。那麽靠邊停車時有哪些註意要點呢?請和小編一起往

快速將Word轉PDF技巧讓你

圖標 get lan bsp 來吧 ref 安裝軟件 怎麽 img 關於Word轉PDF這個問題,在日常辦公中,我們還是比較經常遇到的,有的時候著急轉換文件,但是電腦上沒有軟件怎麽辦?有不需要安裝軟件就直接解決Word轉PDF這個問題辦法嗎? 答案是有的,今天就為大家介紹

超詳細 Nginx 極簡教程傻瓜

什麼是Nginx? Nginx (engine x) 是一款輕量級的Web 伺服器 、反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。 什麼是反向代理? 反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從

資料庫的優化思路(不後悔必懂)

①合理選擇資料庫引擎 ②sql語句的優化 ③索引的優化 ④分庫分表分割槽 ⑤預處理 ⑥讀寫分離 ⑦資料庫表結構設計 (1)儘量使用數字型欄位 儘量不要設計為字元型,這會降低查詢和連線的效能,並會增加儲存開銷。 這是因為引擎在處理查詢和連線時會逐個比較字串中每

iO開發 -Masonry學習讓你就能上手專案

在這裡問下大家,用的約束方式是哪種?近年來,約束這件事情在開發中的分量越來越重,不同機型的問世,使得原來使用係數的開發人員苦不堪言,一開始約束的使用讓很多人很不習慣,網上給出的Demo也層出不全,沒有人真正告訴你該怎麼來寫一個tableview,怎麼來寫一個scrollView,這對於不

Git憑證儲存(簡單易懂學就認真

今天給自己提了一個問題,當我們在github.com或者gitlab上面新建倉庫,並克隆到本地,首次使用的時候,會被問及使用者名稱密碼,但是這兩個資訊存在哪裡呢? 帶著這個問題,我開始搜尋,並在《Pro Git》7.14 Git-工具-憑證儲存中讀到了完整的解答,但是當我第一次閱讀的時候,並沒有太清楚它所要表

Consul 服務發現入個門(的那種)

### 前言 在微服務架構中,對於一個系統,會劃分出多個微服務,而且都是獨立開發、獨立部署,最後聚合在一起形成一個系統提供服務。當服務數量增多時,這些小服務怎麼管理?呼叫方又怎麼能確定服務的IP和埠?服務掛掉了又怎麼辦?單靠人工處理已經不太現實,使用系統統一管理就是最好的選擇,常用的服務發現產品有:**Co

Java 8 Lambda表達式

郵件 world! call() 靜態方法 ready function 性別 operation rom 匿名內部類的一個問題是:當一個匿名內部類的實現非常簡單,比如說接口只有一個抽象函數,那麽匿名內部類的語法有點笨拙且不清晰。我們經常會有傳遞一個函數作為參數給另一個函數

一大波可視化網頁采集完整過程記錄 新手也能

心得這幾年工作中經常用到各種各樣的網頁爬蟲,過年期間整理了一下,把一些比較實用的采集過程貼成動態GIF圖片小視頻,供以後自己使用。也希望方便到大家。這裏以八爪魚為演示,沒接觸過可視化網頁采集的話,不妨跟著動圖動手做一做,理解起來更容易些。下面都是些耗時在1~2分鐘左右的演示,包括完整的規則配置過程、實時運行效

深入解讀HashMap就懂

als 進行 get next 分配 行處理 而是 pac 代碼包 HashMap 和 HashSet 是 Java Collection Framework 的兩個重要成員,其中 HashMap 是 Map 接口的常用實現類,HashSet 是 Set 接口的常用實現類。

Eclipse中用Tomcat啟動服務端工程啟動就出錯

在Eclipse中用Tomcat啟動服務端工程,一啟動就會出錯,報錯如下: “Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds. If the server requires more tim

hibernate相關面試題(不後悔必懂)

概述 hibernate框架應用在dao層,,hibernate的底層程式碼是jdbc,它是一個開源的輕量級的框架. hibernate通過orm思想對資料庫進行crud操作.orm中文翻譯過來就是物件關係對映,它讓實體類(就是通常所說的pojo)和資料庫表對應,讓實體類的欄位和表裡的欄

spring bean的單例和多例的使用場景和在單例bean中注入多例(不後悔必懂)

為什麼用單例或者多例?何時用? 之所以用單例,是因為沒必要每個請求都新建一個物件,這樣子既浪費CPU又浪費記憶體; 之所以用多例,是為了防止併發問題;即一個請求改變了物件的狀態,此時物件又處理另一個請求,而之前請求對物件狀態的改變導致了物件對另一個請求做了錯誤的處理;  

spring bean的生命週期和作用域(不後悔必懂)

bean的生命週期 生命週期執行的過程如下: 1)spring在讀取xml配置檔案時對bean進行例項化,預設bean是單例 2)spring對bean進行依賴注入 3)如果bean實現了BeanNameAware介面,spring將bean的id傳給setBeanName

Spring的IOC,DI和AOP(不後悔必懂)

spring的優點 ①IOC和DI降低了元件之間的耦合性 ,讓程式設計師更專注於業務邏輯 ②容器提供了眾多的輔助類,能加快應用的開發 ③spring對於主流的應用框架提供了整合支援,如hibernate,mybatis,Struts等 ④spring屬於低侵入式設計,程式碼的汙染