혼자서 네이버나 펍을 통해 APP을 공부중인 학생입니다...
데이터를 받아오는 과정에서 오류가 나서 질문합니다
데이터가 있을때는 오류가 나지 않는데
데이터가 없을때 확인하려고 하면 오류가 납니다...
굵게 표시한 부분이 오류인것 같은데...
원인을 모르겠습니다... ㅜㅜ
고수님들 도와주세요 ㅜㅜ
package mm.nn;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class Wallet extends Activity {
private SQLiteDatabase myDB;
private int income,expense,rest;
private TextView txt_income,txt_expense,txt_rest;
private Cursor c_income, c_expense;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dbdbdb);
txt_income = (TextView)findViewById(R.id.txt_income);
txt_expense = (TextView)findViewById(R.id.txt_expense);
txt_rest = (TextView)findViewById(R.id.txt_rest);
openDB();
//총수입
c_income =myDB.rawQuery("Select price from ddata where price>0", null);
income=0;
if( c_income.moveToFirst()){
do{
income=income+c_income.getInt(0);
}while(c_income.moveToNext());
String str2 = Integer.toString(income);
str2 = "" + income;
txt_income.setText(str2);
rest = rest + income;
}
//총지출
c_expense =myDB.rawQuery("Select price from ddata where price<0", null);
expense=0;
if( c_expense.moveToFirst()){
do{
expense=expense+c_expense.getInt(0);
}while(c_expense.moveToNext());
rest = rest + expense;
String str3 = Integer.toString(expense);
str3 = "" + expense;
txt_expense.setText(str3);
}
//잔고
String str4 = Integer.toString(rest);
str4 = "" + rest;
txt_rest.setText(str4);
}
}
private void showToast(String msg) {
// TODO Auto-generated method stub
Toast.makeText(this,msg,Toast.LENGTH_SHORT).show();
}
private void openDB() {
// TODO Auto-generated method stub
myDB = openOrCreateDatabase("dbdbdb",Context.MODE_PRIVATE, null);
}
}




데이터가 없을 때 아마 ArrayIndex 오류가 나지 않을까 생각이 드네요..
try{
}catch(Exception e){}
한번 추가해 보세요...