๐ฑ dreaming DiNO
[Android Studio] SQL database ๋ง๋ค๊ธฐ, create, insert, select ๋ณธ๋ฌธ
Android/Android Studio
[Android Studio] SQL database ๋ง๋ค๊ธฐ, create, insert, select
MK_____ 2021. 11. 11. 00:21package com.example.database;
import androidx.appcompat.app.AppCompatActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText editText;
EditText editText2;
TextView textView;
//database ๊ฐ์ฒด
SQLiteDatabase database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
editText2 = findViewById(R.id.editText2);
textView = findViewById(R.id.textView);
//database ๊ฐ์ฒด์์ฑํ๊ธฐ ์ํ ๋ฒํผ ํด๋ฆญ
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String databaseName = editText.getText().toString();
createDatabase(databaseName);
}
});
//table ์์ฑ๋ฆญํ๊ธฐ ์ํ ๋ฒํผ ํด๋ฆญ
Button button2 = findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String tableName = editText2.getText().toString();
createTable(tableName);
}
});
//์ปฌ๋ผ ํ์ค ์ถ๊ฐ (INSERT) ์ํ ๋ฒํผ ํด๋ฆญ
Button button3 = findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
insertRecord();
}
});
//SELECT
Button button4 = findViewById(R.id.button4);
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
executeQuery();
}
});
}
public void createDatabase(String databaseName){
println("createDatabase() ํธ์ถ");
try {
//database ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ํจ์
database = openOrCreateDatabase(databaseName, MODE_PRIVATE, null);
println("๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ๋จ" + databaseName);
}catch (Exception e){
e.printStackTrace();
}
}
public void createTable(String tableName){
println("createTable() ํธ์ถ");
if ( database == null ){
println("๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ด์ฃผ์ธ์");
return;
}
String sql = "CREATE TABLE " + tableName + "(_id integer PRIMARY KEY autoincrement, name text, age integer, mobile text)";
database.execSQL(sql);
println("ํ
์ด๋ธ ์์ฑ ๋จ, ์ด๋ฆ : " + tableName);
}
public void insertRecord(){
println("insertRecord() ํธ์ถ");
if ( database == null ){
println("๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ด์ฃผ์ธ์");
return;
}
String tableName = editText2.getText().toString();
if (tableName == null){
println("ํ
์ด๋ธ ์ด๋ฆ์ ๋ฃ์ด์ฃผ์ธ์");
return;
}
String sql = "INSERT INTO " + tableName + " (name, age, mobile) values ('์ฉ๋ฏธ๊ฒฝ', 30, '010-3923-9995')";
database.execSQL(sql);
println("๋ ์ฝ๋ ์ถ๊ฐํจ");
}
public void executeQuery(){
println("executeQuery ํธ์ถ๋จ");
String tableName = editText2.getText().toString();
if (tableName == null){
println("ํ
์ด๋ธ ์ด๋ฆ์ ์
๋ ฅํ์์ค");
}
String sql = "SELECT _id, name, age, mobile from " + tableName;
Cursor cursor = database.rawQuery(sql, null);
int recordCnt = cursor.getCount();
println("๋ ์ฝ๋ ๊ฐฏ์ : " + recordCnt);
for (int i = 0; i < recordCnt; i++ ){
cursor.moveToNext();
int id = cursor.getInt(0); // ์ฒซ๋ฒ์จฐ ์ปฌ๋ผ ๊ฐ (๊ณ ์ ๋ฒํธ๋ก ์ง์ ํด์คฌ์)
String name = cursor.getString(1);
int age = cursor.getInt(2);
String mobile = cursor.getString(3);
println("๋ ์ฝ๋ #" + i + " : id=> " + id +" name=> " + name + " age=> "+ age +" mobile=> " +mobile);
}
cursor.close();// ํ์ ๋ ์์์ด๋ผ ๋ซ์์ค์ผ ํจ
}
public void println(String data){
textView.append(data + "\n");
}
}