데이터 베이스
데이터를 저장하기 위함
데이터 저장 방식
- RDB (Relational Database)
- 관계형 데이터 베이스
- 엑셀 처럼 생겼다
- key-Value
- 쌍으로 저장하는 방식(키,벨류)
Intent
- RDBMS
- Relational Database Management system
- RDB를 관리하기 위한 툴
- mySQL
- Oracle
- PostgreSQL
-SQL
-RDBMS 를 위한 언어이다
-NoSQL
-SQL말고 다르게 해보자
안드로이드 데이터베이스
-SQLiteDatabase
-SharedPreference
-key - value 방식
-목적 : 공유된 사용자의 기호 방식
-하드하게 데이터베이스 시스템이 구축할 수 없다!
사용방법
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".SharedPerferenceActivity">
<Button
android:id="@+id/save_btn"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="저장" />
<Button
android:id="@+id/load_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="불러오기" />
<Button
android:id="@+id/delete_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="부분 지우기" />
<Button
android:id="@+id/delete_all_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="전체 지우기" />
</LinearLayout>
activity
package com.example.myapplication
import android.content.Context
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_shared_perference.*
class SharedPerferenceActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_shared_perference)
// SharedPreference 에 저장하는 방법
// Mode
// - MODE_PRIVATE : 생성한 application에서만 사용 가능
// - MODE_WORLD_READABLE : 다른 application 사용 가능 -> 읽을수만 있다
// - MODE_WORLD_WRITABLE : 다른 application 사용 가능 -> 기록도 가능
// - MODE_MULTI_PROCESS : 이미 호출되어 사용중인지 체크
// - MODE_APPEND : 기존 preference에 신규로 추가
save_btn.setOnClickListener {
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val editor: SharedPreferences.Editor = sharedPreference.edit()
editor.putString("hello", "안녕하세요")
editor.putString("goodbye", "안녕하가세요")
editor.commit()
}
load_button.setOnClickListener {
// SharedPreference 에 값을 불러오는 방법
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val value1 = sharedPreference.getString("hello", "데이터 없음1")
val value2 = sharedPreference.getString("goodbye", "데이터 없음2")
Log.d("key-value", "Value 1 : " + value1)
Log.d("key-value", "Value 2 : " + value2)
}
delete_button.setOnClickListener {
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
editor.remove("hello")
editor.commit()
}
delete_all_button.setOnClickListener {
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
editor.clear()
editor.commit()
}
}
}
'Before > Android' 카테고리의 다른 글
Constraint Layout (0) | 2020.04.10 |
---|---|
안드로이드 개발시 주의해야할 3가지 보안성 (0) | 2020.03.27 |
Tablayout, Pager (0) | 2020.03.16 |
RecyclerView (0) | 2020.03.13 |
Android Library(glide) (0) | 2020.03.12 |
데이터 베이스
데이터를 저장하기 위함
데이터 저장 방식
- RDB (Relational Database)
- 관계형 데이터 베이스
- 엑셀 처럼 생겼다
- key-Value
- 쌍으로 저장하는 방식(키,벨류)
Intent
- RDBMS
- Relational Database Management system
- RDB를 관리하기 위한 툴
- mySQL
- Oracle
- PostgreSQL
-SQL
-RDBMS 를 위한 언어이다
-NoSQL
-SQL말고 다르게 해보자
안드로이드 데이터베이스
-SQLiteDatabase
-SharedPreference
-key - value 방식
-목적 : 공유된 사용자의 기호 방식
-하드하게 데이터베이스 시스템이 구축할 수 없다!
사용방법
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".SharedPerferenceActivity">
<Button
android:id="@+id/save_btn"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="저장" />
<Button
android:id="@+id/load_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="불러오기" />
<Button
android:id="@+id/delete_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="부분 지우기" />
<Button
android:id="@+id/delete_all_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="전체 지우기" />
</LinearLayout>
activity
package com.example.myapplication
import android.content.Context
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_shared_perference.*
class SharedPerferenceActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_shared_perference)
// SharedPreference 에 저장하는 방법
// Mode
// - MODE_PRIVATE : 생성한 application에서만 사용 가능
// - MODE_WORLD_READABLE : 다른 application 사용 가능 -> 읽을수만 있다
// - MODE_WORLD_WRITABLE : 다른 application 사용 가능 -> 기록도 가능
// - MODE_MULTI_PROCESS : 이미 호출되어 사용중인지 체크
// - MODE_APPEND : 기존 preference에 신규로 추가
save_btn.setOnClickListener {
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val editor: SharedPreferences.Editor = sharedPreference.edit()
editor.putString("hello", "안녕하세요")
editor.putString("goodbye", "안녕하가세요")
editor.commit()
}
load_button.setOnClickListener {
// SharedPreference 에 값을 불러오는 방법
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val value1 = sharedPreference.getString("hello", "데이터 없음1")
val value2 = sharedPreference.getString("goodbye", "데이터 없음2")
Log.d("key-value", "Value 1 : " + value1)
Log.d("key-value", "Value 2 : " + value2)
}
delete_button.setOnClickListener {
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
editor.remove("hello")
editor.commit()
}
delete_all_button.setOnClickListener {
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
editor.clear()
editor.commit()
}
}
}
'Before > Android' 카테고리의 다른 글
Constraint Layout (0) | 2020.04.10 |
---|---|
안드로이드 개발시 주의해야할 3가지 보안성 (0) | 2020.03.27 |
Tablayout, Pager (0) | 2020.03.16 |
RecyclerView (0) | 2020.03.13 |
Android Library(glide) (0) | 2020.03.12 |