import android.app.*;
import android.database.*;
import android.os.Bundle;
import android.util.*;
import android.view.*;
import android.widget.*;
public class Insert extends ListActivity implements View.OnClickListener {
// DBHelper myhelper;
// SQLiteDatabase sqlDB;
DBHandler dbHandler;
EditText editname, editcardsa, editcardnumber;
ListView listView;
Cursor cursor = null;
String[] arr = null;
private Button btnexit;
Button btnsave, btnSelect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listactivity);
btnsave = (Button) findViewById(R.id.btnsave);
btnSelect = (Button) findViewById(R.id.btnselect);
btnexit = (Button) findViewById(R.id.btnexit);
btnsave.setOnClickListener(this);
btnSelect.setOnClickListener(this);
btnexit.setOnClickListener(this);
editname = (EditText) findViewById(R.id.editText);
editcardsa = (EditText) findViewById(R.id.editText2);
editcardnumber = (EditText) findViewById(R.id.editText3);
listView = (ListView) findViewById(android.R.id.list);
}
@Override
public void onClick(View v) {
dbHandler = DBHandler.open(this);
try {
if (v.getId()== R.id.btnsave) {
if (editname.getText().toString().equals("")) {
Toast.makeText(this, "이름 입력", Toast.LENGTH_SHORT).show();
return;
} else if (editcardsa.getText().toString().equals("")) {
Toast.makeText(this, "카드사 입력", Toast.LENGTH_SHORT).show();
return;
} else if (editcardnumber.getText().toString().equals("")) {
Toast.makeText(this, "카드번호 입력", Toast.LENGTH_SHORT).show();
return;
}
long re = dbHandler.insert(
editname.getText().toString(),
editcardsa.getText().toString(),
editcardnumber.getText().toString());
if (re == 0) {
Toast.makeText(this, "추가 실패", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "추가 성공", Toast.LENGTH_SHORT).show();
cursor = dbHandler.selectAll();
arr = new String[cursor.getCount()];
int count = 0;
while (cursor.moveToNext()) {
String code = cursor.getString(0);
String strUserName = cursor.getString(1);
String strCardSa = cursor.getString(2);
String strCardNumber = cursor.getString(3);
arr[count] = code + " " + strUserName + " " + strCardSa + " " + strCardNumber;
count++;
}
cursor.close();
invalidate();
}
} else if (v.getId()== R.id.btnselect) {
cursor = dbHandler.selectAll();
arr = new String[cursor.getCount()];
int count = 0;
while (cursor.moveToNext()) {
String code = cursor.getString(0);
String strUserName = cursor.getString(1);
String strCardSa = cursor.getString(2);
String strCardNumber = cursor.getString(3);
arr[count] = code + " " + strUserName + " " + strCardSa + " " + strCardNumber;
count++;
}
}
else if (v.getId()== R.id.btnexit) {
finish();
}
cursor.close();
invalidate();
} catch (Exception e) {
Log.i("disp", "err:" + e);
}
}
private void invalidate() {
ListAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, arr);
setListAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_insert, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "NFC";
private static final int DB_VER = 1;
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VER);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table NFC(" +
"code text primary key autoincrement," +
"strUserName text not null, strCardSa text not null ," +
"strCardNumber integer not null)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exist NFC");
onCreate(db);
}
}
import android.content.*;
import android.database.*;
import android.database.sqlite.*;
/**
* Created by inhatc on 2015-05-26.
*/
public class DBHandler {
private Context ctx;
private DBHelper myhelper;
private SQLiteDatabase sqlDB;
public DBHandler(Context ctx) {
this.ctx = ctx;
myhelper = new DBHelper(ctx);
sqlDB = myhelper.getWritableDatabase();
}
public static DBHandler open(Context ctx) throws SQLException {
DBHandler handler = new DBHandler(ctx);
return handler;
}
public void close() {
myhelper.close();
}
public long insert(String strUserName,String strCardSa,String strCardNumber) {
ContentValues values = new ContentValues();
values.put("strUserName",strUserName);
values.put("strCardSa",strCardSa);
values.put("strCardNumber",strCardNumber);
long result =sqlDB.insert("NFC", null, values);
return result;
}
public Cursor selectAll() {
Cursor cursor = sqlDB.query(true,"NFC",
new String[]{"code","strUserName","strCardSa","strCardNumber"},
null, null, null, null, null, null);
return cursor;
}
}
각 버튼에 클릭리스너 주고 했는데 ㅜ
버튼들을 누르면 계속 앱이 .. 운명 하시네요 ㅜ..
코드를 하루종일 봐도 문제점을 모르겠는데 ㅜ 답답함만 늘어갑니다 ㅜ
꼭좀 도와주세요 ㅜㅜ