Is it possible to Create sqlite table at run time based on number of elements in array Is it possible to Create sqlite table at run time based on number of elements in array sqlite sqlite

Is it possible to Create sqlite table at run time based on number of elements in array


I created my own class to create tables and insert values in generatized manner.

public void createDynamicDatabase(Context context,String tableName,ArrayList<String> title) {            Log.i("INSIDE createLoginDatabase() Method","*************creatLoginDatabase*********");            try {                int i;                String querryString;                myDataBase = context.openOrCreateDatabase("Db",Context.MODE_WORLD_WRITEABLE, null);         //Opens database in writable mode.                //System.out.println("Table Name : "+tableName.get(0));                querryString = title.get(0)+" VARCHAR(30),";                Log.d("**createDynamicDatabase", "in oncreate");                for(i=1;i<title.size()-1;i++)                {                                   querryString += title.get(i);                    querryString +=" VARCHAR(30)";                    querryString +=",";                }                querryString+= title.get(i) +" VARCHAR(30)";                querryString = "CREATE TABLE IF NOT EXISTS " + tableName + "("+querryString+");";                System.out.println("Create Table Stmt : "+ querryString);                myDataBase.execSQL(querryString);            } catch (SQLException ex) {                Log.i("CreateDB Exception ",ex.getMessage());            }        }        public void insert(Context context,ArrayList<String> array_vals,ArrayList<String> title,String TABLE_NAME) {            Log.d("Inside Insert","Insertion starts for table name: "+TABLE_NAME);            myDataBase = context.openOrCreateDatabase("Db",Context.MODE_WORLD_WRITEABLE, null);         //Opens database in writable mode.            String titleString=null;            String markString= null;            int i;            titleString = title.get(0)+",";            markString = "?,";            Log.d("**createDynamicDatabase", "in oncreate");            for(i=1;i<title.size()-1;i++)            {                               titleString += title.get(i);                titleString +=",";                markString += "?,";            }            titleString+= title.get(i);            markString += "?";            //System.out.println("Title String: "+titleString);            //System.out.println("Mark String: "+markString);            INSERT="insert into "+ TABLE_NAME + "("+titleString+")"+ "values" +"("+markString+")";            System.out.println("Insert statement: "+INSERT);            //System.out.println("Array size iiiiii::: "+array_vals.size());            //this.insertStmt = this.myDataBase.compileStatement(INSERT);            int s=0;            while(s<array_vals.size()){            System.out.println("Size of array1"+array_vals.size());                    //System.out.println("Size of array"+title.size());            int j=1;            this.insertStmt = this.myDataBase.compileStatement(INSERT);            for(int k =0;k< title.size();k++)            {                //System.out.println("Value of column "+title+" is "+array_vals.get(k+s));                //System.out.println("PRINT S:"+array_vals.get(k+s));                System.out.println("BindString: insertStmt.bindString("+j+","+ array_vals.get(k+s)+")");                insertStmt.bindString(j, array_vals.get(k+s));                j++;            }            s+=title.size();            }            insertStmt.executeInsert();        }