안드로이드 개발 질문/답변 
    (글 수    45,052)
        	
        
        
    editText 3개가 있습니다..
 디비 테이블 3개 있는데.. 하나식 넣고 싶은데 .. 어떤 식으로 하면 될까요. 
전 무식하게.. 이렇게 했습니다. 오류는 없는데. 에디트텍스트 내용은 저장되지 않습니다. 
String str=editText.getText().toString();           //editText내용을 불러와서
writeDB(str); //저장
String str1=editText1.getText().toString();
writeDB1(str1);
String str2=editText2.getText().toString();
writeDB2(str2);
writeDB(str); //저장
String str1=editText1.getText().toString();
writeDB1(str1);
String str2=editText2.getText().toString();
writeDB2(str2);
에디트 내용들을 저장하고
private void writeDB(String info) throws Exception {
ContentValues values=new ContentValues();
values.put("id","0");
values.put("info",info);
int colNum=db.update(DB_TABLE,values,null,null);
if (colNum==0) db.insert(DB_TABLE,null,values);
}
  
private void writeDB1(String prf) throws Exception {
ContentValues values=new ContentValues();
values.put("id","0");
values.put("prf",prf);
int colNum=db.update(DB_TABLE,values,null,null);
if (colNum==0) db.insert(DB_TABLE,null,values);
}
  
private void writeDB2(String stdr) throws Exception {
ContentValues values=new ContentValues();
values.put("id","0");
values.put("stdr",stdr);
int colNum=db.update(DB_TABLE,values,null,null);
if (colNum==0) db.insert(DB_TABLE,null,values);
}
ContentValues values=new ContentValues();
values.put("id","0");
values.put("info",info);
int colNum=db.update(DB_TABLE,values,null,null);
if (colNum==0) db.insert(DB_TABLE,null,values);
}
private void writeDB1(String prf) throws Exception {
ContentValues values=new ContentValues();
values.put("id","0");
values.put("prf",prf);
int colNum=db.update(DB_TABLE,values,null,null);
if (colNum==0) db.insert(DB_TABLE,null,values);
}
private void writeDB2(String stdr) throws Exception {
ContentValues values=new ContentValues();
values.put("id","0");
values.put("stdr",stdr);
int colNum=db.update(DB_TABLE,values,null,null);
if (colNum==0) db.insert(DB_TABLE,null,values);
}
이렇게 하나하나 저장하고 있네요..  에러는 없이 실행은 되나.. 저장은 안되네요..  어떤방식으로 하면 될지. 
조언 부탁드립니다.
                2011.03.24 00:13:38                            
            
                        
            지금 string 선언하시면서 바로 EditText의 값을 대입하고 계시네요.
EditText의 초기 상태는 공백이므로, 당연히 아무 값도 저장이 안되는 것처럼 보이겠죠?
가령 저장 버튼을 눌렀을때, 
각각 스트링을 재정의 하셔야합니다.
프로그램의 동작 흐름을 생각해보셔요
지금은
EditText 선언
String 선언과 동시에 EditText 내용 받아와 저장
저장된 String을 DB에 쓰기
현재 상태는 String이 공백이므로 저장이 안되는 것처럼 보임
개선후에는
EditText선언
저장 버튼등을 통한 특정 이벤트 발생
String에 EditText 값을 저장
DB에 String을 저장
이렇게 되어야겠죠.
                2011.03.24 11:11:25                            
            
                        
            private OnClickListener _Save =  new OnClickListener() {
  
@Override
public void onClick(View v) {
String str="";
String str1="";
String str2="";
if (v==save) {
try{
str=editText.getText().toString();
writeDB(str);
      
str1=editText1.getText().toString();
writeDB1(str1);
      
str2=editText2.getText().toString();
writeDB2(str2);
} catch(Exception e){}
}
}
}; 이런식으로 말씀이신지요??? 그래도 .. DB에 내용 insert는 안되네욤 아 머리야
                                
            @Override
public void onClick(View v) {
String str="";
String str1="";
String str2="";
if (v==save) {
try{
str=editText.getText().toString();
writeDB(str);
str1=editText1.getText().toString();
writeDB1(str1);
str2=editText2.getText().toString();
writeDB2(str2);
} catch(Exception e){}
}
}
}; 이런식으로 말씀이신지요??? 그래도 .. DB에 내용 insert는 안되네욤 아 머리야










