----- Menu layouts SpectraHex activity: + New game (ic_menu_compose.png) + Easy + Intermediate + Difficult + More (ic_menu_more.png) - High scores + About + Exit Application + Help (ic_menu_help.png) - Undo all moves (ic_menu_revert.png) ----- Possible future database schema CREATE TABLE state (sel_x INTEGER, sel_y INTEGER, undo_pos INTEGER) CREATE TABLE board (x INTEGER, y INTEGER, color TEXT, PRIMARY KEY (x, y)) CREATE TABLE undo (date INTEGER PRIMARY KEY, value CLOB) ----- Distribution for different difficulty levels: board size: 36 total pri's 36 45 60 primary 36 100% 27 75% 16 43.75% secondary X 9 25% 16 43.75% tertiary X X 4 12.5% difficulty N D I So, this means: A Normal game will have 36 randomly selected primaries. A Difficult game will have 27 randomly selected primaries and 9 randomly selected secondaries. An Impossible game will have 16 randomly selected primaries, 16 randomly selected secondaries and 4 tertiaries (which can only be Gray. But are a bitch to get rid of) board size: 45 total pri's 45 56 75 primary 45 100% 34 75% 20 43.75% secondary X 11 25% 20 43.75% tertiary X X 5 12.5% difficulty N D I So, this means: A Normal game will have 45 randomly selected primaries. A Difficult game will have 34 randomly selected primaries and 11 randomly selected secondaries. An Impossible game will have 20 randomly selected primaries, 20 randomly selected secondaries and 5 tertiaries (which can only be Gray. But are a bitch to get rid of) ----- A color I liked: val colorDustyBlue = 0xFF097286 ----- Installing on the device or emulator specifically: $ ant install -Dadb.device.arg=-d $ ant install -Dadb.device.arg=-e ----- Specifying the kind of build, normal or demo: Default is a normal build (not demo). To build demo: $ ant install -Dbuild.type=demo If you want to be explicit about it, you can do this: $ ant install -Dbuild.type=normal ----- package manager and version info at runtime: val pm = getPackageManager() val pi = pm.getPackageInfo(getPackageName(), 0) Log.d(logTag, pi.versionName) ----- version numbering: Version info is kept in AndroidManifest.xml versionName versionCode 1.0.0.0 100000 1.12.1.9 112109 2.1.3.68 201368 pad these sections with zeroes: 1 . 2 . 3 . 4 1 02 3 04 3 . 27 . 1 . 17 3 27 1 17 change the version in these files: AndroidManifest.xml-normal AndroidManifest.xml-demo version numbering scheme major.minor.status.build major.status.build status 0 alpha 1 beta 2 release candidate 3 release examples 1.3.0.2 v1.3 alpha build 2 1.2.1.1 v1.2 beta build 1 2.10.3.5 v2.10 release build 5 (say they were bug fixes) 1.5.2.20090818 Can even use a date for build v1.5 release candidate 2009-08-18 build