01-05 11:22:44.698: E/AndroidRuntime(11417): FATAL EXCEPTION: main
01-05 11:22:44.698: E/AndroidRuntime(11417): java.lang.RuntimeException: Unable to resume activity {com.pyo.sqlite.girl/com.pyo.sqlite.girl.GirlsGroupEntryPoint}: android.database.sqlite.SQLiteException: Can't upgrade read-only database from version 0 to 1: /data/data/com.pyo.sqlite.girl/databases/girlsGroupDB.db
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2120)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.os.Looper.loop(Looper.java:130)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread.main(ActivityThread.java:3683)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at java.lang.reflect.Method.invokeNative(Native Method)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at java.lang.reflect.Method.invoke(Method.java:507)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at dalvik.system.NativeStart.main(Native Method)
01-05 11:22:44.698: E/AndroidRuntime(11417): Caused by: android.database.sqlite.SQLiteException: Can't upgrade read-only database from version 0 to 1: /data/data/com.pyo.sqlite.girl/databases/girlsGroupDB.db
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:199)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at com.pyo.sqlite.girl.GirlsGroupEntryPoint.applyAutoCompleteFromTBLGirlsGroupInfo(GirlsGroupEntryPoint.java:48)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at com.pyo.sqlite.girl.GirlsGroupEntryPoint.onResume(GirlsGroupEntryPoint.java:45)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.Activity.performResume(Activity.java:3832)
01-05 11:22:44.698: E/AndroidRuntime(11417):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2110)
01-05 11:22:44.698: E/AndroidRuntime(11417):  ... 12 more

 

 

 import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteQueryBuilder;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.pyo.sqlite.girl.GirlsGroupDB.GirlsGroupInfo;
import com.pyo.sqlite.girl.GirlsGroupDB.GirlsGroupMusic;

public class GirlsGroupEntryPoint extends GirlsGroupBaseActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.girls_group_layout);
  
  Button saveBtn = (Button)findViewById(R.id.girlsGroupInsert);
  saveBtn.setOnClickListener(girlsSaveListener);
  
  Button displayBtn = (Button)findViewById(R.id.girlGroupDisplayBtn);
  displayBtn.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
    Intent intent = new Intent(getApplicationContext(),GirlsGroupBaseActivity.class);
    startActivity(intent);
   }
  });
 }

 @Override
 protected void onResume() {
  super.onResume();
  applyAutoCompleteFromTBLGirlsGroupInfo();
 }
 private void applyAutoCompleteFromTBLGirlsGroupInfo(){
  SQLiteDatabase dbHandler = girlsDB.getReadableDatabase();
  Cursor resultSet = dbHandler.query(
          GirlsGroupInfo.TABLE_NAME,
          new String[]{GirlsGroupInfo.TEAM_NAME},
          null,null,null,null,
          GirlsGroupInfo.SORT_ORDER);
  
  int numberOfGroupNames = resultSet.getCount();
  String numberOfAutoText [] = new String[numberOfGroupNames];
  
  if(numberOfGroupNames > 0){
   resultSet.moveToFirst();
   for(int i = 0; i<numberOfGroupNames; i++){
    numberOfAutoText[i] = resultSet.getString(
    resultSet.getColumnIndex(GirlsGroupInfo.TEAM_NAME));
    resultSet.moveToNext();
   }
   ArrayAdapter<String>autoTextAdapter = new ArrayAdapter<String>(
     this,
     android.R.layout.simple_dropdown_item_1line,
     numberOfAutoText);
   AutoCompleteTextView autoText = (AutoCompleteTextView)findViewById(R.id.autoTextGirlsGroupFinder);
   autoText.setAdapter(autoTextAdapter);
  }
  resultSet.close();
  dbHandler.close();
 }
 private OnClickListener girlsSaveListener = new OnClickListener() {
  public void onClick(View v) {
   final EditText girlsGroupMusicName = (EditText)findViewById(R.id.musicNameEdit);
   final EditText girlsGroupName = (EditText)findViewById(R.id.autoTextGirlsGroupFinder);
   SQLiteDatabase dbHandler = girlsDB.getWritableDatabase();
   dbHandler.beginTransaction();
   long girlGroupID = 0;
   try{
    String groupName = girlsGroupName.getText().toString();
    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
    queryBuilder.setTables(GirlsGroupInfo.TABLE_NAME);
    queryBuilder.appendWhere(GirlsGroupInfo.TEAM_NAME + "=" + groupName + "");
    Cursor resultExist = queryBuilder.query(dbHandler,null,null,null,null,null,null);
    if(resultExist.getCount() == 0){
     ContentValues groupNameValues = new ContentValues();
     groupNameValues.put(GirlsGroupInfo.TEAM_NAME,groupName);
     girlGroupID = dbHandler.insert(GirlsGroupInfo.TABLE_NAME, "NODATA", groupNameValues);
     
    }else{
     resultExist.moveToFirst();
     girlGroupID = resultExist.getLong(resultExist.getColumnIndex(GirlsGroupInfo._ID));
     ContentValues musicRowValues = new ContentValues();
     musicRowValues.put(GirlsGroupMusic.MUSIC_TITLE,girlsGroupMusicName.getText().toString());
     musicRowValues.put(GirlsGroupMusic.GIRLS_GROUP_ID,girlGroupID);
     dbHandler.insert(GirlsGroupMusic.TABLE_NAME,"NODATA",musicRowValues);
     dbHandler.setTransactionSuccessful();
     resultExist.close();
     Toast.makeText(GirlsGroupEntryPoint.this, "정상 처리 되었습니다!", Toast.LENGTH_SHORT).show();
    }
   }catch(SQLiteException sqle){
    Log.e("걸그룹세이브리스너에러",sqle.toString());
    Toast.makeText(GirlsGroupEntryPoint.this, "심각한 에러 발생!LogCat 확인 바람!", Toast.LENGTH_SHORT).show();
   }finally{
    dbHandler.endTransaction();
    dbHandler.close();
   }
   girlsGroupMusicName.setText("");
   girlsGroupName.setText("");
  }
 };
}

 

 



applyAutoCompleteFromTBLGirlsGroupInfo();
 }
 private void applyAutoCompleteFromTBLGirlsGroupInfo(){
  SQLiteDatabase dbHandler = girlsDB.getReadableDatabase();

 

이부분이 오류던대 ...

 

왜오류가나는건가요 ? ㅠㅠㅠ