package com.example.gcm;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class UserDB {
	private static final String USERDB_NAME = "UserDB.db";
	private static final int DB_VERSION = 1;
	public static SQLiteDatabase myDB;
	private CreateDB myDBHelper;
	private Context myContext;
	
	private class CreateDB extends SQLiteOpenHelper
	{
		public CreateDB(Context context, String name, CursorFactory factory,
				int version) {
			super(context, name, factory, version);
		}
		@Override
		public void onCreate(SQLiteDatabase db) {	
			db.execSQL(User_Info.CreateWorker._CREATE);
			db.execSQL(User_Info.CreateGame._CREATE);
			db.execSQL(User_Info.CreateCompany._CREATE);
		}
		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			db.execSQL("DROP TABLE IF EXISTS "+ User_Info.CreateCompany._TABLENAME);
			db.execSQL("DROP TABLE IF EXISTS "+ User_Info.CreateGame._TABLENAME);
			db.execSQL("DROP TABLE IF EXISTS "+ User_Info.CreateWorker._TABLENAME);
			onCreate(db);
		}
		
	}
	
	public UserDB(Context context)
	{
		this.myContext = context;
	}
	
	public UserDB open() throws SQLException
	{
		myDBHelper = new CreateDB(myContext, USERDB_NAME, null , DB_VERSION);
		myDB = myDBHelper.getWritableDatabase();
		return this;
	}
	
	public void close()
	{
		myDB.close();
	}
	
	public long insertWorker(int no, String type, int stat1, int stat2, int stat3, 
							 int stat4, int stat5, int stat6, int stat7, int stat8,
							 int level,int cost,int experience,int limite){
		ContentValues values = new ContentValues();
		values.put(User_Info.CreateWorker.W_NO, no);
		values.put(User_Info.CreateWorker.TYPE, type);
		values.put(User_Info.CreateWorker.STAT1, stat1);
		values.put(User_Info.CreateWorker.STAT2, stat2);
		values.put(User_Info.CreateWorker.STAT3, stat3);
		values.put(User_Info.CreateWorker.STAT4, stat4);
		values.put(User_Info.CreateWorker.STAT5, stat5);
		values.put(User_Info.CreateWorker.STAT6, stat6);
		values.put(User_Info.CreateWorker.STAT7, stat7);
		values.put(User_Info.CreateWorker.STAT8, stat8);
		values.put(User_Info.CreateWorker.LEVEL, level);
		values.put(User_Info.CreateWorker.COST, cost);
		values.put(User_Info.CreateWorker.EXPERIENCE_POINT, experience);
		values.put(User_Info.CreateWorker.STAT_LIMITE, limite);
		return myDB.insert(User_Info.CreateWorker._TABLENAME, null, values);
	}
	public Cursor getWorker()
	{
		return myDB.query(User_Info.CreateWorker._TABLENAME, null, null, null, null, null, null);
	}
}
import android.provider.BaseColumns;
public class User_Info {
	
	public static final class CreateWorker implements BaseColumns
	{
		public static final String _TABLENAME = "WorkerInfo";
		public static final String W_NO = "Id";
		public static final String TYPE = "DepartmentTypes";
		public static final String STAT1 = "Stat1";
		public static final String STAT2 = "Stat2";
		public static final String STAT3 = "Stat3";
		public static final String STAT4 = "Stat4";
		public static final String STAT5 = "Stat5";
		public static final String STAT6 = "Stat6";
		public static final String STAT7 = "Stat7";
		public static final String STAT8 = "Stat8";
		public static final String LEVEL = "Level";
		public static final String COST = "Cost";
		public static final String EXPERIENCE_POINT = "Experience Point";
		public static final String STAT_LIMITE = "Stat Limite";
		
		public static final String _CREATE =
				"create table " +_TABLENAME +"("
						+ W_NO + " integer primary key, "
						+ TYPE + " integer, "
						+ STAT1 + " integer, "
						+ STAT2 + " integer, "
						+ STAT3 + " integer, "
						+ STAT4 + " integer, "
						+ STAT5 + " integer, "
						+ STAT6 + " integer, "
						+ STAT7 + " integer, "
						+ STAT8 + " integer, "
						+ LEVEL + " integer, "
						+ COST + " integer, "
						+ EXPERIENCE_POINT + " integer, "
						+ STAT_LIMITE + " integer);";	
	}
}
public class MainActivity extends Activity {
	private UserDB helper;
	private Cursor mycursor;
	TextView text;
	Button btn;
	ArrayList<String> array;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        array = new ArrayList<String>();
       btn = (Button) findViewById(R.id.button);
        text = (TextView) findViewById(R.id.textView);
        helper = new UserDB(this);
        helper.open();
        
       helper.insertWorker(1,"Developer", 10, 12, 14, 9, 0, 0, 0, 0, 3, 10, 150, 45);
       helper.insertWorker(1,"PR", 0, 0, 0, 0, 6, 5, 0, 0, 3, 10, 150, 45);
       helper.insertWorker(1,"Planing", 0, 0, 0, 0, 0, 0, 8,7, 3, 10, 150, 45);
       
       btn.setOnClickListener(new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			mycursor = null;
			mycursor = helper.getWorker();
			array.clear();
			while(mycursor.moveToNext())
			{
				int no = mycursor.getInt(mycursor.getColumnIndex("Id"));
				String type = mycursor.getString(mycursor.getColumnIndex("DepartmentTypes"));
				int stat1 = mycursor.getInt(mycursor.getColumnIndex("Stat1"));
				int stat2 = mycursor.getInt(mycursor.getColumnIndex("Stat2"));
				int stat3 = mycursor.getInt(mycursor.getColumnIndex("Stat3"));
				int stat4 = mycursor.getInt(mycursor.getColumnIndex("Stat4"));
				int stat5 = mycursor.getInt(mycursor.getColumnIndex("Stat5"));
				int stat6 = mycursor.getInt(mycursor.getColumnIndex("Stat6"));
				int stat7 = mycursor.getInt(mycursor.getColumnIndex("Stat7"));
				int stat8 = mycursor.getInt(mycursor.getColumnIndex("Stat8"));
				int level = mycursor.getInt(mycursor.getColumnIndex("Level"));
				int cost = mycursor.getInt(mycursor.getColumnIndex("Cost"));
				int exp = mycursor.getInt(mycursor.getColumnIndex("Experience Point"));
				int limit = mycursor.getInt(mycursor.getColumnIndex("Stat Limite"));
				
				array.add(no+type+stat1+stat2+stat3+stat4+stat5+stat6+stat7+stat8+level+cost+exp+limit);
				
			}
			if(array.isEmpty())
			{
				text.setText("null");
			}
			else
			{
				text.setText("correct");
			}
			mycursor.close();
		}
	});
    }
	게임어플에서 사용할 유저데이터를 넣을 DB입니다.
	제대로 만들어졌는지 확인할려고 임시로 데이터를 넣고
	그걸 꺼내와서 어레이에 넣어 확인할려는데요
	계속 어레이에 아무런 데이터도 안써지는 겁니다.
	아무래도 테이블생성이나 데이터입력,출력 부분이 문제인거같은데
	어디가 문제인지 모르겠습니다.
	이 코드는 제가 참조한 예제랑 똑같은 형태로 만들었는데
	예제프로그램은 잘 작동하는데 제가 만든건 문제가 생기네요
	실행은 잘되고 오류메세지도 없습니다.
	단지 데이터가 들어가지 않거나 출력되지 않습니다