안드로이드 개발 질문/답변
(글 수 45,052)
--------
메인액티비티는 다음과 같고
public class SmartMemoActivity extends Activity {
DBManager dbManager ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE) ;
setContentView(R.layout.main);
dbManager = ((MainApplication) getApplicationContext()).getDBManager();
}
}
Main Application과 DBMAnager는 다음과같습니다.
import android.app.Application;
import kr.womenpro.android.rosemary1.app.db.DBManager;
public class MainApplication extends Application{
DBManager dbManager ;
public MainApplication(){
dbManager = new DBManager(this);
}
@Override
public void onCreate() {
super.onCreate(); //To change body of overridden methods use File | Settings | File Templates.
dbManager.openDatabase();
}
public void onTerminate(){
super.onTerminate();
dbManager.closeDatabase();
}
public DBManager getDBManager() {
return dbManager ;
}
}
-------------------------------------------------
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import kr.womenpro.android.rosemary1.app.model.MemoItem;
import java.util.ArrayList;
public class DBManager {
SQLiteDatabase database ;
Context context ;
DBHelper helper ;
public DBManager(Context context) {
this.context = context ;
helper = new DBHelper(context , "memo.db" , 1) ;
openDatabase() ;
}
public void openDatabase() {
database = helper.getWritableDatabase() ;
}
/**
*
*
*
*
*/
public boolean addItem(MemoItem item) {
ContentValues values = new ContentValues() ;
values.put("title" , item.getTitle()) ;
values.put("writtendate" , item.getWrittenDate()) ;
values.put("content" , item.getContent()) ;
values.put("smsnums" , item.getSmsnums()) ;
values.put("schedule" , item.getSchedule()) ;
values.put("color" , item.getColor()) ;
long result = database.insert("memo" , null , values) ;
return (result > 0L) ;
}
public boolean removeItem(int itemid) {
long result = database.delete("memo" , "_id=" + itemid , null) ;
return (result > 0 ) ;
}
public boolean updateItem(MemoItem item) {
ContentValues values = new ContentValues() ;
values.put("title" , item.getTitle()) ;
values.put("writtendate" , item.getWrittenDate()) ;
values.put("content" , item.getContent()) ;
values.put("smsnums" , item.getSmsnums()) ;
values.put("schedule" , item.getSchedule()) ;
values.put("color" , item.getColor()) ;
long result = database.update("memo" , values , "_id=" + item.get_id() , null) ;
return (result > 0L) ;
}
public ArrayList<MemoItem> getItems() {
Cursor cursor = database.rawQuery("select * from memo order by writtendate desc" , null) ;
ArrayList<MemoItem> items = new ArrayList<MemoItem>() ;
while(cursor.moveToNext()){
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String title = cursor.getString(cursor.getColumnIndex("title")) ;
String writtendate = cursor.getString(cursor.getColumnIndex("writtendate")) ;
String cotent = cursor.getString(cursor.getColumnIndex("content")) ;
String smsnums = cursor.getString(cursor.getColumnIndex("smsnums")) ;
String schedule = cursor.getString(cursor.getColumnIndex("schedule")) ;
int color = cursor.getInt(cursor.getColumnIndex("color")) ;
MemoItem info = new MemoItem(id,title,writtendate,cotent,smsnums,schedule,color);
items.add(info);
}
cursor.close();
return items ;
}
public void closeDatabase(){
database.close();
}
}
위의 빨간줄을 추가하자마자 바로 튕겨버리는데 원인을 모르겠습니다.
어디서 문제가 생긴거죠???




logcat에는 뭐라 나오나요?