edittext 2개중 한개는 db에 잘올라가는데 한개는 int값만올라가네요
package com.soo.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final DatabaseHelper DatabaseHelper = new DatabaseHelper(getApplicationContext(),
"DEMO_SQLITE.db", null, 1);
// 테이블에 있는 모든 데이터 출력
final TextView result = (TextView) findViewById(R.id.result);
final EditText etDate = (EditText) findViewById(R.id.date);
final EditText etItem = (EditText) findViewById(R.id.item);
final EditText etmean = (EditText) findViewById(R.id.mean);
// 날짜는 현재 날짜로 고정
// 현재 시간 구하기
long now = System.currentTimeMillis();
Date date = new Date(now);
// 출력될 포맷 설정
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy년 MM월 dd일");
etDate.setText(simpleDateFormat.format(date));
// DB에 데이터 추가
Button insert = (Button) findViewById(R.id.insert);
insert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String date = etDate.getText().toString();
String item = etItem.getText().toString();
String mean = etmean.getText().toString();
//입력값이 누락된게 없는지 확인
if(date.length() == 0 || item.length() == 0 || mean.length() == 0 ) {
Toast.makeText( getApplicationContext(), "모든 데이터를 입력하세요.",
Toast.LENGTH_SHORT).show();
}
else {
//DB 삽입 -> 결과 출력 -> 입력필드 초기화
DatabaseHelper.insert(date, item, mean);
result.setText(DatabaseHelper.getResult());
Toast.makeText(getApplicationContext(), "데이터 생성",
Toast.LENGTH_SHORT).show();
etItem.setText(null);
etmean.setText(null);
}
}
});
// DB에 있는 데이터 수정
// Button update = (Button) findViewById(R.id.update);
// update.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// String item = etItem.getText().toString();
// String mean = etmean.getText().toString();
// DatabaseHelper.update(item, mean);
// result.setText(DatabaseHelper.getResult());
// Toast.makeText(getApplicationContext(), "데이터 수정",
//
// Toast.LENGTH_SHORT).show();
//
// }
// });
// DB에 있는 데이터 삭제
Button delete = (Button) findViewById(R.id.delete);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String item = etItem.getText().toString();
DatabaseHelper.delete(item);
result.setText(DatabaseHelper.getResult());
Toast.makeText(getApplicationContext(), "데이터 삭제",
Toast.LENGTH_SHORT).show();
}
});
// DB에 있는 데이터 조회
Button select = (Button) findViewById(R.id.select);
select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.setText(DatabaseHelper.getResult());
Toast.makeText(getApplicationContext(), "데이터 조회",
Toast.LENGTH_SHORT).show();
}
});
}
}
package com.soo.myapplication;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
// DBHelper 생성자로 관리할 DB 이름과 버전 정보를 받음
public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,
int version) {
super(context, name, factory, version);
}
// private int a = 0;
// DB를 새로 생성할 때 호출되는 함수
@Override
public void onCreate(SQLiteDatabase db) {
// 새로운 테이블 생성
/* 이름은 DEMO_SQLITE이고, 자동으로 값이 증가하는 _id 정수형 기본키 컬럼과
item 문자열 컬럼, price 문자열 컬럼, create_at 문자열 컬럼으로 구성된 테이블을 생성. */
db.execSQL( "CREATE TABLE DEMO_SQLITE (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"item TEXT, price TEXT, create_at TEXT);");
}
// DB 업그레이드를 위해 버전이 변경될 때 호출되는 함수
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void insert(String create_at, String item, String price) {
// 읽고 쓰기가 가능하게 DB 열기
SQLiteDatabase db = getWritableDatabase();
// DB에 입력한 값으로 행 추가
ContentValues values = new ContentValues();
db.execSQL( "INSERT INTO DEMO_SQLITE VALUES(null, '" + item + "', " + price + ", '" + create_at + "');");
db.close();
}
// public void update(String item, String price) {
// SQLiteDatabase db = getWritableDatabase();
// // 입력한 항목과 일치하는 행의 가격 정보 수정
// db.execSQL("UPDATE DEMO_SQLITE SET price=" + price +
// " WHERE item='" + item + "';");
// db.close();
// }
public void delete(String item) {
// SQLiteDatabase db = getWritableDatabase();
SQLiteDatabase db =getWritableDatabase();
// 입력한 항목과 일치하는 행 삭제
db.execSQL("DELETE FROM DEMO_SQLITE WHERE item='" + item + "';");
db.close();
}
public String getResult() {
// 읽기가 가능하게 DB 열기
SQLiteDatabase db = getReadableDatabase();
String result = "";
// DB에 있는 데이터를 쉽게 처리하기 위해 Cursor를 사용하여 테이블에 있는 모든 데이터 출력
Cursor cursor = db.rawQuery("SELECT * FROM DEMO_SQLITE", null);
while (cursor.moveToNext()) {
result += cursor.getString(0)
+ " : "
+ cursor.getString(1)
+ " / "
+ cursor.getString(2)
+ "/ "
+ cursor.getString(3)
+ "\n";
}
return result;
}
}
열심히 찾아도 잘보이지가 않네요