package com.DB;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;

public class DBDB extends ListActivity {
    /** Called when the activity is first created. */
 private static String DB_name="text.db";
 private static String DB_table="text_table";
 private static int DB_version=1;
 
 public class DBopen extends SQLiteOpenHelper{

  public DBopen(Context context) {
   super(context, DB_name, null, DB_version);
   // TODO Auto-generated constructor stub
  }

  @Override
  public void onCreate(SQLiteDatabase db) {
   // TODO Auto-generated method stub
   db.execSQL("CREATE TABLE "+ DB_table + "id PRIMARY KEY,"+"age INT(3)"+");");
   String val="INSERT INTO "+ DB_table + "(age)"+ "VALUES ";
   db.execSQL(val + "(24)");
  }

  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
   // TODO Auto-generated method stub
   db.execSQL("DROP TABLE IF EXISTS "+ DB_table);
   onCreate(db);
  }
  public List<String> retrive(){
   SQLiteDatabase db=getReadableDatabase();
   Cursor c=db.query(DB_table, new String[]{"age"}, null, null, null, null, null);
   
   
   try{
    item.clear();
    int index1=c.getColumnIndex("age");
    int i=0;
    if(c.moveToFirst()){
     do{
      int age=c.getInt(index1);
      item.add(i+" "+age);
     }while(c.moveToNext());
    }
   }finally{
    if(c!=null){
     c.close();
    }
   }
   return item;
  }
 }
 
 private static DBopen open;
 List<String> item=null;
 ArrayAdapter<String> adapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        open=new DBopen(this);
        item=open.retrive();
        adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,item);
    }
   
    public void onActivity(int requestCode,int resultCode,Intent data){
     super.onActivityResult(requestCode, resultCode, data);
     SQLiteDatabase db=open.getReadableDatabase();
     if(Activity.RESULT_OK==resultCode){
      Bundle BD=data.getExtras();
      String val="INSERT INTO"+ DB_table+ "(age)"+"VELUS ";
      db.execSQL(val+"("+BD.getInt("age")+");");
     }
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Create and add new menu items.
        MenuItem itemAdd = menu.add(0, 0, Menu.NONE, "새로만들기");
        MenuItem itemRem = menu.add(0, 1, Menu.NONE, "종료");

        // Assign icons
        itemAdd.setIcon(android.R.drawable.ic_menu_add);
        itemRem.setIcon(android.R.drawable.ic_menu_close_clear_cancel);

        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case 0:
                startActivityForResult(new Intent(this, DBDB1.class), 0);
                return true;
            case 1:
                finish();
                return true;
        }
        return (super.onOptionsItemSelected(item));
    }
}

 

 

 

 

package com.DB;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class DBDB1 extends Activity {
 EditText e1;
 Button b1;
 Intent intent;
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     e1=(EditText)findViewById(R.id.e1);
     b1=(Button)findViewById(R.id.b1);
     // TODO Auto-generated method stub
     b1.setOnClickListener(new OnClickListener(){

   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    intent=new Intent(DBDB1.this,DBDB.class);
    intent.putExtra("age", e1.getText().toString());
    startActivityForResult(intent,0);
   }
      
     });
 }

}


이렇게 DB코딩을 했는데 Can't upgrade read-only database from version 0 to 1 란 에러가 떠요..

이것의 해결책 좀 알려주시면 감사하겠습니다.