OSDN Git Service

English3
authoryuji <yuji.k64613@gmail.com>
Sat, 12 Jan 2013 05:45:35 +0000 (14:45 +0900)
committeryuji <yuji.k64613@gmail.com>
Sat, 12 Jan 2013 05:45:35 +0000 (14:45 +0900)
16 files changed:
workspace/JuggleMaster/bin/JuggleMaster.apk
workspace/JuggleMaster/bin/classes.dex
workspace/JuggleMaster/bin/classes/com/jm/Edit$5.class
workspace/JuggleMaster/bin/classes/com/jm/Edit$6$1.class
workspace/JuggleMaster/bin/classes/com/jm/Edit$6$2.class
workspace/JuggleMaster/bin/classes/com/jm/Edit$6.class
workspace/JuggleMaster/bin/classes/com/jm/Edit$7.class
workspace/JuggleMaster/bin/classes/com/jm/Edit.class
workspace/JuggleMaster/bin/classes/com/jm/PatternList.class
workspace/JuggleMaster/bin/classes/com/jm/db/Dao.class
workspace/JuggleMaster/bin/classes/com/jm/db/DatabaseHelper.class
workspace/JuggleMaster/bin/resources.ap_
workspace/JuggleMaster/src/com/jm/Edit.java
workspace/JuggleMaster/src/com/jm/PatternList.java
workspace/JuggleMaster/src/com/jm/db/Dao.java
workspace/JuggleMaster/src/com/jm/db/DatabaseHelper.java

index e650a86..6e42765 100644 (file)
Binary files a/workspace/JuggleMaster/bin/JuggleMaster.apk and b/workspace/JuggleMaster/bin/JuggleMaster.apk differ
index 0f81066..d049a36 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes.dex and b/workspace/JuggleMaster/bin/classes.dex differ
index 76a8437..206ab02 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/Edit$5.class and b/workspace/JuggleMaster/bin/classes/com/jm/Edit$5.class differ
index 25c5772..728a4df 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/Edit$6$1.class and b/workspace/JuggleMaster/bin/classes/com/jm/Edit$6$1.class differ
index 775233e..d9957ac 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/Edit$6$2.class and b/workspace/JuggleMaster/bin/classes/com/jm/Edit$6$2.class differ
index 698b306..a13296d 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/Edit$6.class and b/workspace/JuggleMaster/bin/classes/com/jm/Edit$6.class differ
index a7dc050..8a9685d 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/Edit$7.class and b/workspace/JuggleMaster/bin/classes/com/jm/Edit$7.class differ
index acb6bcd..411fad6 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/Edit.class and b/workspace/JuggleMaster/bin/classes/com/jm/Edit.class differ
index 96a3e8a..f0dc5a9 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/PatternList.class and b/workspace/JuggleMaster/bin/classes/com/jm/PatternList.class differ
index 0e5dcc8..06f7d5e 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/db/Dao.class and b/workspace/JuggleMaster/bin/classes/com/jm/db/Dao.class differ
index 57c8f77..1130529 100644 (file)
Binary files a/workspace/JuggleMaster/bin/classes/com/jm/db/DatabaseHelper.class and b/workspace/JuggleMaster/bin/classes/com/jm/db/DatabaseHelper.class differ
index 98467da..2113152 100644 (file)
Binary files a/workspace/JuggleMaster/bin/resources.ap_ and b/workspace/JuggleMaster/bin/resources.ap_ differ
index 4a9fa54..6b4db42 100644 (file)
@@ -198,11 +198,13 @@ public class Edit extends BaseActivity {
                                                getTextValue(dwellSeekBar.getProgress()),\r
                                                motion);\r
                                try {\r
+                                       Dao dao = Dao.getInstance();\r
                                        if (mode == NEW){\r
-                                               Dao.getInstance().add(jp);                                      \r
+                                               int m = dao.max(type);\r
+                                               dao.add(jp, m + 1);                                     \r
                                        }\r
                                        else {\r
-                                               Dao.getInstance().set(jp);\r
+                                               dao.set(jp);\r
                                        }\r
                                    Resource.speed = getTextValue(speedSeekBar.getProgress());\r
                                }\r
index 0fa303f..7091b23 100644 (file)
@@ -26,7 +26,7 @@ public class PatternList {
 //     private List                    patternList;\r
        private Vector<JmPattern> patterns;\r
 // }\r
-       \r
+       private int idx = -1;\r
 \r
        public PatternList() {\r
                \r
@@ -44,28 +44,25 @@ public class PatternList {
                        setPackage03();\r
                        setPackage04();\r
                        setPackage05();\r
+                       setPackage06();\r
                        break;\r
                default:\r
-                       setPackage00En();\r
+                       setPackage00En();                       \r
                        setPackage01En();\r
+                       setPackage06En();\r
                        break;\r
                }\r
        }\r
        \r
        public void update() throws JmException {\r
-               int type = 6;\r
-               int count = count(type);\r
-               \r
-               if (count <= 0){\r
-                       DatabaseHelper helper = DatabaseHelper.getInstance();\r
-                       switch (helper.getLangId()){\r
-                       case DatabaseHelper.JAPANEASE_ID:\r
-                               setPackage06();\r
-                               break;\r
-                       default:\r
-                               setPackage06En();\r
-                               break;\r
-                       }\r
+               DatabaseHelper helper = DatabaseHelper.getInstance();\r
+               switch (helper.getLangId()) {\r
+               case DatabaseHelper.JAPANEASE_ID:\r
+                       setPackage06();\r
+                       break;\r
+               default:\r
+                       setPackage06En();\r
+                       break;\r
                }\r
        }\r
 \r
@@ -174,6 +171,10 @@ public class PatternList {
                return patterns.size();\r
        }\r
        \r
+       private void clearIndex(){\r
+               idx = 0;\r
+       }\r
+       \r
        private void add(JmPattern jp) throws JmException {\r
                if (jp.getSiteSwap() == null) return;\r
 // edit {\r
@@ -181,7 +182,7 @@ public class PatternList {
 //             patternList.append(jp.getName(), null);\r
 // }\r
 //             patterns.addElement(jp);\r
-               Dao.getInstance().add(jp);\r
+               Dao.getInstance().add(jp, idx++);\r
 // }\r
        }\r
 \r
@@ -270,6 +271,7 @@ public class PatternList {
        public static final byte[][] columns = new byte[][] {c,f,f,c};\r
 \r
        public void setPackage00() throws JmException {\r
+               clearIndex();\r
 // edit {\r
                int type = 0;\r
 // }\r
@@ -312,6 +314,7 @@ public class PatternList {
        \r
        \r
        public void setPackage01() throws JmException {\r
+               clearIndex();\r
 // edit {\r
                int type = 1;\r
 // }\r
@@ -373,6 +376,7 @@ public class PatternList {
        }\r
        \r
        public void setPackage02() throws JmException {\r
+               clearIndex();\r
 // edit {\r
                int type = 2;\r
 // }\r
@@ -425,6 +429,7 @@ public class PatternList {
        }\r
        \r
        public void setPackage03() throws JmException {\r
+               clearIndex();\r
 // edit {\r
                int type = 3;\r
 // }\r
@@ -462,6 +467,7 @@ public class PatternList {
        }\r
        \r
        public void setPackage04() throws JmException {\r
+               clearIndex();\r
 // edit {\r
                int type = 4;\r
 // }\r
@@ -507,6 +513,7 @@ public class PatternList {
        }\r
 \r
        public void setPackage05() throws JmException {\r
+               clearIndex();\r
 // edit {\r
                int type = 5;\r
 // }\r
@@ -533,11 +540,13 @@ public class PatternList {
        }\r
        \r
        public void setPackage06() throws JmException {\r
+               clearIndex();\r
                int type = 6;\r
                add(new JmPattern(type, "[新規作成]", "1"));\r
        }\r
        \r
        public void setPackage00En() throws JmException {\r
+               clearIndex();\r
                int type = 0;\r
                add(new JmPattern(type, "Cascade", "3"));\r
                add(new JmPattern(type, "フラッシュ", "333355500", 30, 50));\r
@@ -623,6 +632,7 @@ public class PatternList {
        }\r
        \r
        public void setPackage01En() throws JmException {\r
+               clearIndex();\r
                int type = 1;\r
 \r
                add(new JmPattern(type, "531"));\r
@@ -727,6 +737,7 @@ public class PatternList {
        }\r
        \r
        public void setPackage06En() throws JmException {\r
+               clearIndex();\r
                int type = 6;\r
                add(new JmPattern(type, "[Create]", "1"));\r
        }\r
index d0322ad..551084e 100644 (file)
@@ -34,7 +34,8 @@ public class Dao {
                                + "dwell integer, "\r
                                + "name integer, "\r
                                + "motion text,"\r
-                               + "lang integer);"\r
+                               + "lang integer,"\r
+                               + "idx integer);"\r
                        );\r
                start(db);\r
        }\r
@@ -42,9 +43,9 @@ public class Dao {
        public void start(SQLiteDatabase db){\r
                insertStmt = db.compileStatement(\r
                                "insert into pattern ("\r
-                               + "type, siteswap, height, dwell, name, motion, lang"\r
+                               + "type, siteswap, height, dwell, name, motion, lang, idx"\r
                                + ") values ("\r
-                               + "?, ?, ?, ?, ?, ?, ?"\r
+                               + "?, ?, ?, ?, ?, ?, ?, ?"\r
                                + ");");        \r
                updateStmt = db.compileStatement(\r
                                "update pattern set "\r
@@ -54,7 +55,7 @@ public class Dao {
                                "delete from pattern where id = ? and lang = ?;");\r
        }\r
        \r
-       public void add(JmPattern jp) throws JmException{\r
+       public void add(JmPattern jp, int index) throws JmException{\r
                DatabaseHelper helper = DatabaseHelper.getInstance();\r
                SQLiteDatabase db = helper.getWritableDatabase();\r
                db.beginTransaction();\r
@@ -68,6 +69,7 @@ public class Dao {
                        stmt.bindString(i++, jp.getName());\r
                        stmt.bindString(i++, jp.motionToString());\r
                        stmt.bindLong(i++, helper.getLangId());\r
+                       stmt.bindLong(i++, index);\r
                        stmt.executeInsert();\r
                        db.setTransactionSuccessful();\r
                } catch (SQLException e){\r
@@ -123,38 +125,46 @@ public class Dao {
                try {\r
                        DatabaseHelper helper = DatabaseHelper.getInstance();\r
                        SQLiteDatabase db = helper.getReadableDatabase();\r
-                       String selection = "lang = " + helper.getLangId() + " and type = " + type;\r
-                       Cursor c = db.query(\r
-                                       "pattern",\r
-                                       new String[] {\r
-                                                       "id",\r
-                                                       "type",\r
-                                                       "siteswap",\r
-                                                       "height",\r
-                                                       "dwell",\r
-                                                       "name",\r
-                                                       "motion"},\r
-                                                       selection, null, null, null, null);\r
-                       c.moveToFirst();\r
-                       list = new JmPattern[c.getCount()];\r
-                       for (int i = 0; i < list.length; i++) {\r
-                               JmPattern jp = new JmPattern(\r
-                                               c.getInt(0), // id\r
-                                               c.getInt(1), // type\r
-                                               c.getString(5), // name\r
-                                               c.getString(2), // siteswap\r
-                                               c.getInt(3), // height\r
-                                               c.getInt(4), // dwell\r
-                                               JmPattern.getMotion(c.getString(6))); // motions\r
-                           list[i] = jp;\r
-                           c.moveToNext();\r
-                       }\r
-                       c.close();\r
+                       list = get(db, type);\r
                } catch (SQLException e){\r
                        throw new JmException(e);\r
                }\r
                return list;\r
        }\r
+\r
+       public JmPattern[] get(SQLiteDatabase db, int type) throws JmException{\r
+               DatabaseHelper helper = DatabaseHelper.getInstance();\r
+               JmPattern[] list = null;\r
+               String selection = "lang = " + helper.getLangId() + " and type = " + type;\r
+               String orderBy = "idx";\r
+               Cursor c = db.query(\r
+                               "pattern",\r
+                               new String[] {\r
+                                               "id",\r
+                                               "type",\r
+                                               "siteswap",\r
+                                               "height",\r
+                                               "dwell",\r
+                                               "name",\r
+                                               "motion"},\r
+                                               selection, null, null, null, orderBy);\r
+               c.moveToFirst();\r
+               list = new JmPattern[c.getCount()];\r
+               for (int i = 0; i < list.length; i++) {\r
+                       JmPattern jp = new JmPattern(\r
+                                       c.getInt(0), // id\r
+                                       c.getInt(1), // type\r
+                                       c.getString(5), // name\r
+                                       c.getString(2), // siteswap\r
+                                       c.getInt(3), // height\r
+                                       c.getInt(4), // dwell\r
+                                       JmPattern.getMotion(c.getString(6))); // motions\r
+                   list[i] = jp;\r
+                   c.moveToNext();\r
+               }\r
+               c.close();\r
+               return list;\r
+       }\r
        \r
        public JmPattern[] getFromId(int id) throws JmException{\r
                JmPattern[] list = null;\r
@@ -194,6 +204,22 @@ public class Dao {
                return list;\r
        }\r
 \r
+       public int max(int type) throws JmException{\r
+               int m = -1;\r
+               try {\r
+                       DatabaseHelper helper = DatabaseHelper.getInstance();\r
+                       SQLiteDatabase db = helper.getReadableDatabase();\r
+                       String sql = "select max(idx) from pattern where type = " + type + " and lang = " + helper.getLangId();\r
+                       Cursor c = db.rawQuery(sql, null);\r
+                       c.moveToFirst();\r
+                       m = c.getInt(0);\r
+                       c.close();\r
+               } catch (SQLException e){\r
+                       throw new JmException(e);\r
+               }\r
+               return m;\r
+       }\r
+       \r
        public int count() throws JmException{\r
                int count = -1;\r
                try {\r
index c5e8d50..28771a7 100644 (file)
@@ -5,6 +5,7 @@ import android.database.SQLException;
 import android.database.sqlite.SQLiteDatabase;\r
 import android.database.sqlite.SQLiteOpenHelper;\r
 \r
+import com.jm.JmPattern;\r
 import com.jm.PatternList;\r
 import com.jm.utility.Debug;\r
 import com.jm.utility.JmException;\r
@@ -13,9 +14,11 @@ public class DatabaseHelper extends SQLiteOpenHelper {
        public final static int ENGLISH_ID = 1;\r
        public final static int JAPANEASE_ID = 2;\r
        private static int langId = -1;\r
+       private static boolean type6Flag = false;\r
+       private static boolean convFlag = false;\r
        \r
        private static DatabaseHelper instance = null;\r
-\r
+       \r
        public static DatabaseHelper getInstance() {\r
                return instance;\r
        }\r
@@ -34,9 +37,21 @@ public class DatabaseHelper extends SQLiteOpenHelper {
                if (count <= 0) {\r
                        p.create();\r
                }\r
-               p.update();\r
+               if (type6Flag){\r
+                       p.update();\r
+                       type6Flag = false;\r
+               }\r
+               \r
+               if (convFlag){\r
+                       conv(context);\r
+                       convFlag = false;\r
+               }\r
        }\r
 \r
+       private static void conv(Context context) {\r
+               ;\r
+       }\r
+       \r
        public DatabaseHelper(Context context) {\r
                //super(context, "JuggleMaster.db", null, 1);\r
                super(context, "JuggleMaster.db", null, 2);\r
@@ -64,11 +79,30 @@ public class DatabaseHelper extends SQLiteOpenHelper {
                try {\r
                        if (oldVersion == 1 && newVersion == 2) {\r
                                db.execSQL("ALTER TABLE pattern ADD COLUMN lang integer;");\r
+                               db.execSQL("ALTER TABLE pattern ADD COLUMN idx integer;");\r
+                               \r
+                               Dao dao = Dao.getInstance();\r
+                               for (int i = 0; i < 7; i++){\r
+                                       JmPattern[] list = dao.get(db, i);\r
+                                       int size = list.length;\r
+                                       for (int j = 0; j < size; j++){\r
+                                               JmPattern item = list[j];\r
+                                               int id = item.getId();\r
+                                               db.execSQL("UPDATE pattern set idx = " + i + " WHERE ID = " + id + ";");\r
+                                       }\r
+                               }\r
+                               \r
                                // 既存のデータは、日本語のデータに変換\r
                                db.execSQL("UPDATE pattern set LANG = " + JAPANEASE_ID + " WHERE TYPE <> 6;");\r
                                // ただし、マイパターンは、システムの言語に\r
+                               if (langId != JAPANEASE_ID){\r
+                                       type6Flag = true;\r
+                               }\r
                                db.execSQL("UPDATE pattern set LANG = " + langId + " WHERE TYPE = 6;");\r
                                db.execSQL("create index langindex on pattern(lang);");\r
+                               db.execSQL("create index langindex on pattern(idx);");\r
+                               \r
+                               convFlag = true;\r
                        }\r
                } catch (Exception e) {\r
                        e.printStackTrace(); // TODO\r