利用SQLite在android上創建資料庫

来源:http://www.cnblogs.com/Renyi-Fan/archive/2017/08/27/7441306.html
-Advertisement-
Play Games

利用SQLite在android上創建資料庫 方法: 1、創建我們的資料庫類繼承SQLiteOpenHelper類 完成相關函數的重寫和資料庫對象的初始化 public MySQLiteOpenHelper(Context context,int version) super(context, "f ...


利用SQLite在android上創建資料庫

 

方法:

1、創建我們的資料庫類繼承SQLiteOpenHelper類

  完成相關函數的重寫和資料庫對象的初始化

    public MySQLiteOpenHelper(Context context,int version)

    super(context, "fanfan2.db", null, version);

    helper.getReadableDatabase();

    重寫onCreate和onUpgrade

2、創建資料庫對象並獲取資料庫對象

  MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getContext(), 1);

  helper.getReadableDatabase();

3、要創建新表的話,就在oncreate裡面敲execSQL

  這樣就是創建一個新的學生表

    public void onCreate(SQLiteDatabase db) {
        Log.d("fanfan", "onCreate");
        db.execSQL("CREATE TABLE student(id INTEGER,name TEXT)");
    }

4、oncreate在創建新的資料庫的時候才會被調用,如果你之前創建了,現在是不會被調用的。

  onUpgrade是在資料庫的版本更新之後才會被調用。

 

代碼:

com.fry.MySQLiteOpenHelper

 1 package com.fry;
 2 
 3 import android.content.Context;
 4 import android.database.sqlite.SQLiteDatabase;
 5 import android.database.sqlite.SQLiteDatabase.CursorFactory;
 6 import android.database.sqlite.SQLiteOpenHelper;
 7 import android.util.Log;
 8 
 9 public class MySQLiteOpenHelper extends SQLiteOpenHelper{
10 
11     /*
12      * 1、context 上下文
13      * 2、那麼資料庫名稱
14      * 3、factory
15      * 4、version 資料庫文件的版本
16      */
17 
18     public MySQLiteOpenHelper(Context context,int version) {
19         super(context, "fanfan2.db", null, version);
20         // TODO Auto-generated constructor stub
21     }
22 
23     /* 資料庫文件創建成功後調用
24      * (non-Javadoc)
25      * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
26      */
27     @Override
28     public void onCreate(SQLiteDatabase arg0) {
29         Log.d("fanfan", "onCreate");
30     }
31 
32     /* 資料庫文件更新後調用 
33      * (non-Javadoc)
34      * @see android.database.sqlite.SQLiteOpenHelper#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)
35      */
36     @Override
37     public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
38         Log.d("fanfan", "onUpgrade");
39     }
40 
41 }
資料庫類

com.fanfan.test.Test

 1 package com.fanfan.test;
 2 
 3 
 4 import com.fry.Activity01;
 5 import com.fry.MySQLiteOpenHelper;
 6 
 7 import android.annotation.SuppressLint;
 8 import android.test.AndroidTestCase;
 9 import android.util.Log;
10 
11 public class Test extends AndroidTestCase{
12     @SuppressLint("NewApi") public void test1(){
13         MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getContext(), 1);
14         helper.getReadableDatabase();
15         String name=helper.getDatabaseName();
16         Log.d("test1", name);
17     }
18     
19 
20 }
Java Unit測試

/createDatabase2/AndroidManifest.xml

 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 2     package="com.example.createDatabase_2"
 3     android:versionCode="1"
 4     android:versionName="1.0" >
 5 
 6     <uses-sdk
 7         android:minSdkVersion="8"
 8         android:targetSdkVersion="19" />
 9 
10     <application
11         android:allowBackup="true"
12         android:icon="@drawable/ic_launcher"
13         android:label="@string/app_name"
14         android:theme="@style/AppTheme" >
15         
16         <uses-library android:name="android.test.runner"/>
17         
18         <activity
19             android:name="com.fry.MainActivity"
20             android:label="@string/app_name" >
21             <intent-filter>
22                 <action android:name="android.intent.action.MAIN" />
23 
24                 <category android:name="android.intent.category.LAUNCHER" />
25             </intent-filter>
26         </activity>
27         <activity android:name="com.fry.Activity01" android:exported="true"></activity>
28     </application>
29     <instrumentation 
30         android:name="android.test.InstrumentationTestRunner"
31         android:targetPackage="com.example.createDatabase_2" android:label="Test for My app"
32         ></instrumentation>
33 
34 </manifest>
配置文件

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、前沿||潛心修心,學無止盡。生活如此,coding亦然。本人鳥窩,一隻正在求職的鳥。聯繫我可以直接微信:jkxx123321 二、項目總結 **||**文章參考資料:1. http://blog.csdn.net/u011272795/article/details/73824558 2.htt ...
  • 參考資料:https://github.com/sunyardTime/React-Native-CodeStyle 感謝情書哥無私奉獻 ##一、編程規約 ###(一) 命名規約 【強制】 代碼中命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束; 【強制】 代碼中命名嚴禁使用拼音與英文 ...
  • ...
  • Notification的幾種基本使用方法,大家肯定都已經爛熟於心,我也不必多說.給一個鏈接:https://zhuanlan.zhihu.com/p/25841482 接下來我想說的是android5.0 後的彈出通知, 網上的方法是: 但上面的做法並不能在android5.0以下的設備上使通知彈 ...
  • 因為項目中需要用到頭像上傳的功能,所以就下個Ddmo先來實現下。 demo我是類似仿微信的,在一個GridView中展示所有的圖片,其中第一個item可以去照相;獲取到圖片後再進行剪切。 圖片的剪切是從網上找的感覺不錯就用,暫時也沒有測試。 獲取圖片可以用:https://github.com/lo ...
  • 效果 源碼 https://github.com/YouXianMing/Animations 說明 1. TwoLevelLinkageView封裝了兩個tableView,左邊tableView中的cell以及右邊tableView中的cell以及header都可以定製 2. TwoLevelL ...
  • 利用SQLite在android上實現增刪改查 方法: 一、直接利用database.execSQL()方法輸入完整sql語句進行操作 這種方法適用於複雜的sql語句,比如多表查詢等等 這裡適合於增刪改,這個方法沒有返回值,而查需要返回數據,故不適用 增實例: database.execSQL("i ...
  • 轉載自:http://blog.csdn.net/bwf_erg/article/details/70858865 數組是由一組類型相同的元素構成的有序數據集合。數組中的集合元素是有 序的,而且可以重覆出現。 1 數組創建 在Swift語言中,數組的類型格式為: Array<ElementType> ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...