[Android] SQLite資料庫使用

更新 發佈閱讀 14 分鐘


示範

XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
>

<EditText
android:id="@+id/ed1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/ed2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ed1" />

<EditText
android:id="@+id/ed3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ed2" />

<EditText
android:id="@+id/ed4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ed3" />

<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:onClick="click"
android:text="存資料"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>

JAVA

public class MainActivity extends AppCompatActivity {
SQLiteDatabase db; //資料庫宣告
Cursor cc;//查詢資料庫宣告
static final String db_name="testDB"; // 資料庫名稱
static final String tb_name="test"; // 資料表名稱
EditText ed1,ed2,ed3,ed4;
TextView t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1=(EditText)findViewById(R.id.ed1);
ed2=(EditText)findViewById(R.id.ed2);
ed3=(EditText)findViewById(R.id.ed3);
ed4=(EditText)findViewById(R.id.ed4);
t1=(TextView)findViewById(R.id.t1);
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null);
String createTable="CREATE TABLE IF NOT EXISTS " +
tb_name + // 資料表名稱
"(number1 VARCHAR(100), " +
"number2 VARCHAR(100), " +
"number3 VARCHAR(100), " +
"number4 VARCHAR(100))";
db.execSQL(createTable); // 建立資料表

}
public void click(View v){
if(!ed1.getText().equals("")&&!ed2.getText().equals("")&&!ed3.getText().equals("")&&!ed4.getText().equals("")) {
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null);
addData(ed1.getText().toString(), ed2.getText().toString(), ed3.getText().toString(), ed4.getText().toString());
cc = db.rawQuery("SELECT * FROM " + tb_name, null); // 重新查詢
if (cc.moveToFirst()) { // 移到第 1 筆資料 (若有資料才繼續)
String str = "";
do { // 逐筆讀出資料
str += "number1:" + cc.getString(0) + "\n";
str += "number2:" + cc.getString(1) + "\n";
str += "number3:" + cc.getString(2) + "\n";
str += "number4:" + cc.getString(3) + "\n";
t1.setText(""+str);//將資料印出來
} while (cc.moveToNext()); // 有一下筆就繼續迴圈
}
db.close();
}
}

private void addData(String s1, String s2, String s3,String s4) {
ContentValues cv=new ContentValues(4); // 建立含4個資料項目的物件
cv.put("number1", s1);
cv.put("number2", s2);
cv.put("number3", s3);
cv.put("number4", s4);
db.insert(tb_name, null, cv); // 將資料加到資料表
}
}

 

展示

vocus|新世代的創作平台


相關文章:

[Android] Android 程式設計教學

本網站https://kk665403.pixnet.net/內之全部圖文,Saioyan梟夜所有,非經本人同意不得將全部或部分內容轉載於任何形式之媒體
Copyright © 2021 Saioyan. All rights reserved.
版權所有© 2021 Saioyan梟夜

留言
avatar-img
Saioyan的沙龍
39會員
946內容數
贊助我 https://vocus.cc/pay/donate/@kk665403?donateSourceType=exclusiveLink
Saioyan的沙龍的其他內容
2018/07/27
要做到Activity的切換頁面功能要先準備兩個或以上的XML和JAVA檔案 另外再AndroidManifest裡面還要再設定初始開啟的Class和可切換頁面的Class 示範 XML1 <?xml version="1.0" encoding="utf-8"?> <android.sup
Thumbnail
2018/07/27
要做到Activity的切換頁面功能要先準備兩個或以上的XML和JAVA檔案 另外再AndroidManifest裡面還要再設定初始開啟的Class和可切換頁面的Class 示範 XML1 <?xml version="1.0" encoding="utf-8"?> <android.sup
Thumbnail
2018/07/27
ProgressBar pb1; pb1 = (ProgressBar) findViewById(R.id.pb1); pb1.setVisibility(progress<100? View.VISIBLE:View.GONE); pb1.setProgress(progress);  
Thumbnail
2018/07/27
ProgressBar pb1; pb1 = (ProgressBar) findViewById(R.id.pb1); pb1.setVisibility(progress<100? View.VISIBLE:View.GONE); pb1.setProgress(progress);  
Thumbnail
2018/07/27
要到AndroidManifest.xml加入網路權限才可以使用喔 <uses-permission android:name="android.permission.INTERNET"/> 示範 XML <?xml version="1.0" encoding="utf-8"?> <and
Thumbnail
2018/07/27
要到AndroidManifest.xml加入網路權限才可以使用喔 <uses-permission android:name="android.permission.INTERNET"/> 示範 XML <?xml version="1.0" encoding="utf-8"?> <and
Thumbnail
看更多
你可能也想看
Thumbnail
本課程介紹 Android API 版本,主要介紹關於 Android 版本名稱和 API 等級的對照表。
Thumbnail
本課程介紹 Android API 版本,主要介紹關於 Android 版本名稱和 API 等級的對照表。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
上一篇文我們談到折疊手機的王者三星,但從軟體面來看,蘋果的 iOS 系統往往較為人所知。究竟三星的系統藏有什麼特色?和 Android 的關係又是什麼? 這篇文章,我們就來換個角度,認識三星手機的內部搭載的作業系統,ONE UI。
Thumbnail
上一篇文我們談到折疊手機的王者三星,但從軟體面來看,蘋果的 iOS 系統往往較為人所知。究竟三星的系統藏有什麼特色?和 Android 的關係又是什麼? 這篇文章,我們就來換個角度,認識三星手機的內部搭載的作業系統,ONE UI。
Thumbnail
主要在工作上剛好接觸到SQLite的資料庫,因此想藉由這個機會將這個技術了解一下~ Android 內可使用SQLite資料庫,有著輕量級的特性,因此適合用於行動設備上。Android SQLite 主要提供SQLiteOpenHelper與SQLiteDatabase兩個類別使用。 而這次主要
Thumbnail
主要在工作上剛好接觸到SQLite的資料庫,因此想藉由這個機會將這個技術了解一下~ Android 內可使用SQLite資料庫,有著輕量級的特性,因此適合用於行動設備上。Android SQLite 主要提供SQLiteOpenHelper與SQLiteDatabase兩個類別使用。 而這次主要
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
本課程學習如何使用 Android Studio 常用快速鍵。
Thumbnail
本課程學習如何使用 Android Studio 常用快速鍵。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News