public class PList extends Activity {
 
 MyTime mtmp_plist;
 ArrayList<Integer> mptime;
 ArrayList<MyTime> mplist = new ArrayList<MyTime>();
 MyListAdapter MyAdapter;
 
 PlistHelper mPlistHelper;
 String Filename;
 
 @SuppressWarnings("unchecked")
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.plist);
       
        mPlistHelper = new PlistHelper(this);
       
        Intent int_pl = getIntent();
     String Filename_tmp = int_pl.getStringExtra("FileName");
     Filename = Filename_tmp;
     Toast.makeText(this, Filename, Toast.LENGTH_SHORT).show();
        ArrayList<Integer> ptime_tmp = (ArrayList<Integer>)int_pl.getSerializableExtra("pointlist");
        mptime = ptime_tmp;
       
        // 처음, 마지막초 저장 X
        for(int i = 1; mptime.size()-2 > i; i++ ){ 
         mtmp_plist = new MyTime(String.format("%2d. %s", i, SetTime.set_time(mptime.get(i)/1000)));
         mplist.add(mtmp_plist);
        }
        MyAdapter = new MyListAdapter(this, R.layout.plist_context, mplist);
       
        ListView list = (ListView)findViewById(R.id.plist_ListView);
        list.setAdapter(MyAdapter);
        list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    }
 //리스트 뷰에 출력할 항목
 class MyTime {
  MyTime(String aTime) {
   Time = aTime;
  }
  String Time;
 }
 //어댑터 클래스
 class MyListAdapter extends BaseAdapter {
  Context maincon;
  LayoutInflater Inflater;
  ArrayList<MyTime> arSrc;
  int layout;
  public MyListAdapter(Context context, int alayout, ArrayList<MyTime> aarSrc) {
   maincon = context;
   Inflater = (LayoutInflater)context.getSystemService(
     Context.LAYOUT_INFLATER_SERVICE);
   arSrc = aarSrc;
   layout = alayout;
  }
  public int getCount() {
   return arSrc.size();
  }
  public String getItem(int position) {
   return arSrc.get(position).Time;
  }
  public long getItemId(int position) {
   return position;
  }
  // 각 항목의 뷰 생성
  public View getView(int position, View convertView, ViewGroup parent) {
   final int pos = position;
   if (convertView == null) {
    convertView = Inflater.inflate(layout, parent, false);
   }
   TextView txt = (TextView)convertView.findViewById(R.id.plist_text);
   txt.setText(arSrc.get(position).Time);
   
   //Move 버튼 이벤트
   Button Move = (Button)convertView.findViewById(R.id.plist_Move);
   Move.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
     Intent int_pl = getIntent();
     int_pl.putExtra("pointlist", mptime);
     int_pl.putExtra("moveindex", pos + 1);
     setResult(RESULT_OK, int_pl);
     finish();
    }  
   });
   
   //Del 버튼 이벤트
   Button Del = (Button)convertView.findViewById(R.id.plist_Del);
   Del.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
     mptime.remove(pos + 1);
     mplist.clear();
     for(int i = 1; i < mptime.size()-2 ; i++ ){ // 처음, 마지막초 저장 X
            mtmp_plist = new MyTime(String.format("%2d. %s", i, SetTime.set_time(mptime.get(i)/1000)));
            mplist.add(mtmp_plist);
           }
     MyAdapter.notifyDataSetChanged();
     Toast.makeText(PList.this, pos +"", Toast.LENGTH_SHORT).show();
    }
   });
   
   return convertView;
  }
 }
  
 @SuppressWarnings("null")
 public void mOnClick(View v){
  SQLiteDatabase db;
  ContentValues row = null;
  
  switch (v.getId()){
  case R.id.plist_close:
   Intent int_pl = getIntent();
   int_pl.putExtra("pointlist", mptime);
   setResult(RESULT_OK, int_pl);
   
   finish();
   break;
  
  case R.id.del_alplist:
   mptime.clear();
   mplist.clear();
   MyAdapter.notifyDataSetChanged();
   break;
   
  case R.id.save_plist:
   db = mPlistHelper.getWritableDatabase();
   
   for(int i =0; i < mptime.size(); i++){
    row.put("data", mptime.get(i).toString());
    db.insert(Filename, null, row);
    //db.execSQL("INSERT INTO " + Filename + " VALUES (null, '");
   }
   //db.insert(Filename, null, row);
   mPlistHelper.close();
   break;
  
  case R.id.load_plist:
   db = mPlistHelper.getReadableDatabase();
   
   db = mPlistHelper.getReadableDatabase();
   Cursor cursor = null;
   int i = 0;
   
   cursor = db.rawQuery("SELECT data FROM " + Filename , null);
   while(cursor.getInt(i) != -1){
    mptime.add(cursor.getInt(i));
    i++;
   }
   
   cursor.close();
   mPlistHelper.close();
   break;
  }
 }
 
 class PlistHelper extends SQLiteOpenHelper  
 {  
     public PlistHelper(Context context){  
         super(context, "Point.db", null, 1);  
     }  
      
     public void onCreate(SQLiteDatabase db)  
     {  
         db.execSQL("CREATE TABLE " + Filename + " ( _id INTEGER PRIMARY KEY AUTOINCREMENT," + "data INTEGER);");  
     }  
  
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)   
     {  
         db.execSQL("DROP TABLE IF EXISTS " + Filename);
         onCreate(db);
     }  
 }
}
 
오늘 하루동안 열심히공부하여 나름 코딩해봤습니다..
문제는 db = mPlistHelper.getWritableDatabase();
부분부터 오류가 나네요 ㅡ.ㅡ...
 
Arraylist(Integer)를 저장하려고 합니다.
각 리스트마다 변수는 40~60개로 임의적입니다.
아래 질문을 올렸었는데..
나름 이것저것 알아보고 구상했습니다.
 
filename으로 Table을 여러게 만들고 각 테이블은 1행 40 ~ 60개의 열을 갖게
하려고했는데.. 어디가 문법적으로 오류인건지 모르겠습니다.
 
도와주세요 ㅎ
아 그런데 table이름에 '.'마침표가 들어가도 되는지도 궁금합니다.ㅎ