一、SQLITE数据库字段类型
NULL: 表示一个NULL值
INTEGER: 用来存储一个整数,根据大小可以使用1,2,3,4,6,8位来存储.
REAL: IEEE 浮点数
TEXT: 按照字符串来存储
BLOB: 按照二进制值存储,不做任何改变.
id自增长字段:id integer primary key autoincrement
二、SQLITE的CRUD操作
insert操作
1 | ContentValues values=new ContentValues(); |
2 | values.put("name", person.getName()); |
3 | database.insert("person", null, values); |
update操作
1 | ContentValues values=new ContentValues(); |
2 | values.put("name", person.getName()); |
3 | database.update("person", values, "personid=?", new String[]{String.valueOf(person.getPersonId())}); |
select操作
1 | Cursor cursor=database.query("person", null, null, null, null, null, null, offerset+","+maxResult); |
2 | while(cursor.moveToNext()){ |
3 | int personIda =cursor.getInt(cursor.getColumnIndex("personid")); |
4 | String name=cursor.getString(cursor.getColumnIndex("name")); |
5 | Person person=new Person(personIda,name); |
- delete操作
1 | database.delete("person", "personid=?", new String[]{String.valueOf(personId)}); |
三、数据库版本问题
为防止应用的数据库版本变更,每次发布的应用都应指定相应的数据库版本;
如果数据库结构有变动,那么针对版本的变更进行相关升级操作
四、数据库事务操作
database.beginTransaction();//开启事务
database.setTransactionSuccessful();//当操作成功的时候把事务状态改为成功状态
database.endTransaction();//提交事务 会根据事务的状态来提交事务还是回滚事务
附wordpress的数据库类源码
0001 | package org.wordpress.android; |
0003 | import java.text.StringCharacterIterator; |
0004 | import java.util.HashMap; |
0005 | import java.util.Vector; |
0007 | import android.content.ContentValues; |
0008 | import android.content.Context; |
0009 | import android.content.Intent; |
0010 | import android.database.Cursor; |
0011 | import android.database.SQLException; |
0012 | import android.database.sqlite.SQLiteDatabase; |
0014 | public class WordPressDB { |
0016 | private static final int DATABASE_VERSION = 9 ; |
0018 | private static final String CREATE_TABLE_SETTINGS = "create table if not exists accounts (id integer primary key autoincrement, " |
0019 | + "url text, blogName text, username text, password text, imagePlacement text, centerThumbnail boolean, fullSizeImage boolean, maxImageWidth text, maxImageWidthId integer, lastCommentId integer, runService boolean);" ; |
0020 | private static final String CREATE_TABLE_EULA = "create table if not exists eula (id integer primary key autoincrement, " |
0021 | + "read integer not null, interval text, statsdate integer);" ; |
0022 | private static final String SETTINGS_TABLE = "accounts" ; |
0023 | private static final String DATABASE_NAME = "wordpress" ; |
0026 | private static final String CREATE_TABLE_LOCALDRAFTS = "create table if not exists localdrafts (id integer primary key autoincrement, blogID text, uploaded boolean, title text,content text, picturePaths text, tags text, categories text, publish boolean);" ; |
0027 | private static final String CREATE_TABLE_LOCALPAGEDRAFTS = "create table if not exists localpagedrafts (id integer primary key autoincrement, blogID text, uploaded boolean, title text,content text, picturePaths text, publish boolean);" ; |
0029 | private static final String LOCALDRAFTS_TABLE = "localdrafts" ; |
0030 | private static final String LOCALPAGEDRAFTS_TABLE = "localpagedrafts" ; |
0032 | private static final String ADD_LATITUDE = "alter table localdrafts add latitude real" ; |
0033 | private static final String ADD_LONGITUDE = "alter table localdrafts add longitude real" ; |
0035 | private static final String ADD_STATUS = "alter table localdrafts add status text" ; |
0036 | private static final String ADD_PAGE_STATUS = "alter table localpagedrafts add status text" ; |
0039 | private static final String CREATE_TABLE_POSTSTORE = "create table if not exists poststore (blogID text, postID text, title text, postDate text, postDateFormatted text);" ; |
0040 | private static final String CREATE_TABLE_PAGES = "create table if not exists pages (blogID text, pageID text, parentID text, title text, pageDate text, pageDateFormatted text);" ; |
0041 | private static final String CREATE_TABLE_COMMENTS = "create table if not exists comments (blogID text, postID text, iCommentID integer, author text, comment text, commentDate text, commentDateFormatted text, status text, url text, email text, postTitle text);" ; |
0042 | private static final String POSTSTORE_TABLE = "poststore" ; |
0043 | private static final String PAGES_TABLE = "pages" ; |
0044 | private static final String COMMENTS_TABLE = "comments" ; |
0047 | private static final String EULA_TABLE = "eula" ; |
0050 | private static final String CREATE_TABLE_CATEGORIES = "create table if not exists cats (id integer primary key autoincrement, " |
0051 | + "blog_id text, wp_id integer, category_name text not null);" ; |
0052 | private static final String CATEGORIES_TABLE = "cats" ; |
0054 | //for capturing blogID, trac ticket # |
0055 | private static final String ADD_BLOGID = "alter table accounts add blogId integer;" ; |
0056 | private static final String UPDATE_BLOGID = "update accounts set blogId = 1;" ; //set them all to 1 if updating |
0058 | //add notification options |
0059 | private static final String ADD_SOUND_OPTION = "alter table eula add sound boolean default false;" ; |
0060 | private static final String ADD_VIBRATE_OPTION = "alter table eula add vibrate boolean default false;" ; |
0061 | private static final String ADD_LIGHT_OPTION = "alter table eula add light boolean default false;" ; |
0062 | private static final String ADD_TAGLINE = "alter table eula add tagline text;" ; |
0063 | private static final String ADD_TAGLINE_FLAG = "alter table eula add tagline_flag boolean default false;" ; |
0065 | //for capturing blogID, trac ticket # |
0066 | private static final String ADD_LOCATION_FLAG = "alter table accounts add location boolean default false;" ; |
0068 | //fix commentID data type |
0069 | private static final String ADD_NEW_COMMENT_ID = "ALTER TABLE comments ADD iCommentID INTEGER;" ; |
0070 | private static final String COPY_COMMENT_IDS = "UPDATE comments SET iCommentID = commentID;" ; |
0072 | //add wordpress.com stats login info |
0073 | private static final String ADD_DOTCOM_USERNAME = "alter table accounts add dotcom_username text;" ; |
0074 | private static final String ADD_DOTCOM_PASSWORD = "alter table accounts add dotcom_password text;" ; |
0075 | private static final String ADD_API_KEY = "alter table accounts add api_key text;" ; |
0076 | private static final String ADD_API_BLOGID = "alter table accounts add api_blogid text;" ; |
0078 | //add wordpress.com flag and version column |
0079 | private static final String ADD_DOTCOM_FLAG = "alter table accounts add dotcomFlag boolean default false;" ; |
0080 | private static final String ADD_WP_VERSION = "alter table accounts add wpVersion text;" ; |
0082 | //add new unique identifier to no longer use device imei |
0083 | private static final String ADD_UNIQUE_ID = "alter table eula add uuid text;" ; |
0085 | //add new table for QuickPress homescreen shortcuts |
0086 | private static final String CREATE_TABLE_QUICKPRESS_SHORTCUTS = "create table if not exists quickpress_shortcuts (id integer primary key autoincrement, accountId text, name text);" ; |
0087 | private static final String QUICKPRESS_SHORTCUTS_TABLE = "quickpress_shortcuts" ; |
0089 | private SQLiteDatabase db; |
0091 | public WordPressDB(Context ctx) { |
0092 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0093 | //db.execSQL("DROP TABLE IF EXISTS "+ SETTINGS_TABLE); |
0094 | db.execSQL(CREATE_TABLE_SETTINGS); |
0095 | //added eula to this class to fix trac #49 |
0096 | db.execSQL(CREATE_TABLE_EULA); |
0097 | //int test = db.getVersion(); |
0099 | db.execSQL(CREATE_TABLE_LOCALDRAFTS); |
0100 | db.execSQL(CREATE_TABLE_LOCALPAGEDRAFTS); |
0102 | db.execSQL(CREATE_TABLE_POSTSTORE); |
0103 | db.execSQL(CREATE_TABLE_PAGES); |
0104 | db.execSQL(CREATE_TABLE_COMMENTS); |
0106 | db.execSQL(CREATE_TABLE_CATEGORIES); |
0108 | db.execSQL(CREATE_TABLE_QUICKPRESS_SHORTCUTS); |
0111 | if (db.getVersion() < 1 ){ //user is new install |
0112 | db.execSQL(ADD_BLOGID); |
0113 | db.execSQL(UPDATE_BLOGID); |
0114 | db.execSQL(ADD_SOUND_OPTION); |
0115 | db.execSQL(ADD_VIBRATE_OPTION); |
0116 | db.execSQL(ADD_LIGHT_OPTION); |
0117 | db.execSQL(ADD_LOCATION_FLAG); |
0118 | db.execSQL(ADD_LATITUDE); |
0119 | db.execSQL(ADD_LONGITUDE); |
0120 | db.execSQL(ADD_TAGLINE); |
0121 | db.execSQL(ADD_TAGLINE_FLAG); |
0122 | db.execSQL(ADD_DOTCOM_USERNAME); |
0123 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0124 | db.execSQL(ADD_API_KEY); |
0125 | db.execSQL(ADD_API_BLOGID); |
0126 | db.execSQL(ADD_DOTCOM_FLAG); |
0127 | db.execSQL(ADD_WP_VERSION); |
0128 | db.execSQL(ADD_UNIQUE_ID); |
0129 | db.execSQL(ADD_STATUS); |
0130 | db.execSQL(ADD_PAGE_STATUS); |
0131 | db.setVersion(DATABASE_VERSION); //set to latest revision |
0133 | else if (db.getVersion() == 1 ){ //v1.0 or v1.0.1 |
0134 | db.execSQL(ADD_BLOGID); |
0135 | db.execSQL(UPDATE_BLOGID); |
0136 | db.execSQL(ADD_SOUND_OPTION); |
0137 | db.execSQL(ADD_VIBRATE_OPTION); |
0138 | db.execSQL(ADD_LIGHT_OPTION); |
0139 | db.execSQL(ADD_LOCATION_FLAG); |
0140 | db.execSQL(ADD_LATITUDE); |
0141 | db.execSQL(ADD_LONGITUDE); |
0142 | db.execSQL(ADD_TAGLINE); |
0143 | db.execSQL(ADD_TAGLINE_FLAG); |
0144 | db.execSQL(ADD_NEW_COMMENT_ID); |
0145 | db.execSQL(COPY_COMMENT_IDS); |
0146 | db.execSQL(ADD_DOTCOM_USERNAME); |
0147 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0148 | db.execSQL(ADD_API_KEY); |
0149 | db.execSQL(ADD_API_BLOGID); |
0150 | db.execSQL(ADD_DOTCOM_FLAG); |
0151 | db.execSQL(ADD_WP_VERSION); |
0152 | db.execSQL(ADD_UNIQUE_ID); |
0153 | db.execSQL(ADD_STATUS); |
0154 | db.execSQL(ADD_PAGE_STATUS); |
0155 | db.setVersion(DATABASE_VERSION); //set to latest revision |
0157 | else if (db.getVersion() == 2 ){ |
0158 | db.execSQL(ADD_SOUND_OPTION); |
0159 | db.execSQL(ADD_VIBRATE_OPTION); |
0160 | db.execSQL(ADD_LIGHT_OPTION); |
0161 | db.execSQL(ADD_LOCATION_FLAG); |
0162 | db.execSQL(ADD_LATITUDE); |
0163 | db.execSQL(ADD_LONGITUDE); |
0164 | db.execSQL(ADD_TAGLINE); |
0165 | db.execSQL(ADD_TAGLINE_FLAG); |
0166 | db.execSQL(ADD_NEW_COMMENT_ID); |
0167 | db.execSQL(COPY_COMMENT_IDS); |
0168 | db.execSQL(ADD_DOTCOM_USERNAME); |
0169 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0170 | db.execSQL(ADD_API_KEY); |
0171 | db.execSQL(ADD_API_BLOGID); |
0172 | db.execSQL(ADD_DOTCOM_FLAG); |
0173 | db.execSQL(ADD_WP_VERSION); |
0174 | db.execSQL(ADD_UNIQUE_ID); |
0175 | db.execSQL(ADD_STATUS); |
0176 | db.execSQL(ADD_PAGE_STATUS); |
0177 | db.setVersion(DATABASE_VERSION); |
0179 | else if (db.getVersion() == 3 ){ |
0180 | db.execSQL(ADD_LOCATION_FLAG); |
0181 | db.execSQL(ADD_LATITUDE); |
0182 | db.execSQL(ADD_LONGITUDE); |
0183 | db.execSQL(ADD_TAGLINE); |
0184 | db.execSQL(ADD_TAGLINE_FLAG); |
0185 | db.execSQL(ADD_NEW_COMMENT_ID); |
0186 | db.execSQL(COPY_COMMENT_IDS); |
0187 | db.execSQL(ADD_DOTCOM_USERNAME); |
0188 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0189 | db.execSQL(ADD_API_KEY); |
0190 | db.execSQL(ADD_API_BLOGID); |
0191 | db.execSQL(ADD_DOTCOM_FLAG); |
0192 | db.execSQL(ADD_WP_VERSION); |
0193 | db.execSQL(ADD_UNIQUE_ID); |
0194 | db.execSQL(ADD_STATUS); |
0195 | db.execSQL(ADD_PAGE_STATUS); |
0196 | db.setVersion(DATABASE_VERSION); |
0198 | else if (db.getVersion() == 4 ){ |
0199 | db.execSQL(ADD_LOCATION_FLAG); |
0200 | db.execSQL(ADD_LATITUDE); |
0201 | db.execSQL(ADD_LONGITUDE); |
0202 | db.execSQL(ADD_TAGLINE); |
0203 | db.execSQL(ADD_TAGLINE_FLAG); |
0204 | db.execSQL(ADD_NEW_COMMENT_ID); |
0205 | db.execSQL(COPY_COMMENT_IDS); |
0206 | db.execSQL(ADD_DOTCOM_USERNAME); |
0207 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0208 | db.execSQL(ADD_API_KEY); |
0209 | db.execSQL(ADD_API_BLOGID); |
0210 | db.execSQL(ADD_DOTCOM_FLAG); |
0211 | db.execSQL(ADD_WP_VERSION); |
0212 | db.execSQL(ADD_UNIQUE_ID); |
0213 | db.execSQL(ADD_STATUS); |
0214 | db.execSQL(ADD_PAGE_STATUS); |
0215 | db.setVersion(DATABASE_VERSION); |
0217 | else if (db.getVersion() == 5 ){ |
0218 | db.execSQL(ADD_TAGLINE); |
0219 | db.execSQL(ADD_TAGLINE_FLAG); |
0220 | db.execSQL(ADD_NEW_COMMENT_ID); |
0221 | db.execSQL(COPY_COMMENT_IDS); |
0222 | db.execSQL(ADD_DOTCOM_USERNAME); |
0223 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0224 | db.execSQL(ADD_API_KEY); |
0225 | db.execSQL(ADD_API_BLOGID); |
0226 | db.execSQL(ADD_DOTCOM_FLAG); |
0227 | db.execSQL(ADD_WP_VERSION); |
0228 | db.execSQL(ADD_UNIQUE_ID); |
0229 | db.execSQL(ADD_STATUS); |
0230 | db.execSQL(ADD_PAGE_STATUS); |
0231 | db.setVersion(DATABASE_VERSION); |
0233 | else if (db.getVersion() == 6 ){ |
0234 | db.execSQL(ADD_NEW_COMMENT_ID); |
0235 | db.execSQL(COPY_COMMENT_IDS); |
0236 | db.execSQL(ADD_DOTCOM_USERNAME); |
0237 | db.execSQL(ADD_DOTCOM_PASSWORD); |
0238 | db.execSQL(ADD_API_KEY); |
0239 | db.execSQL(ADD_API_BLOGID); |
0240 | db.execSQL(ADD_DOTCOM_FLAG); |
0241 | db.execSQL(ADD_WP_VERSION); |
0242 | db.execSQL(ADD_UNIQUE_ID); |
0243 | db.execSQL(ADD_STATUS); |
0244 | db.execSQL(ADD_PAGE_STATUS); |
0245 | db.setVersion(DATABASE_VERSION); |
0247 | else if (db.getVersion() == 7 ){ |
0248 | db.execSQL(ADD_UNIQUE_ID); |
0249 | db.execSQL(ADD_STATUS); |
0250 | db.execSQL(ADD_PAGE_STATUS); |
0251 | db.setVersion(DATABASE_VERSION); |
0253 | else if (db.getVersion() == 8 ){ |
0254 | db.execSQL(ADD_STATUS); |
0255 | db.execSQL(ADD_PAGE_STATUS); |
0256 | db.setVersion(DATABASE_VERSION); |
0258 | } catch (SQLException e) { |
0259 | e.printStackTrace(); |
0266 | public boolean addAccount(Context ctx, String url, String blogName, String username, String password, String imagePlacement, boolean centerThumbnail, boolean fullSizeImage, String maxImageWidth, int maxImageWidthId, boolean runService, int blogId, boolean wpcom, String wpVersion) { |
0267 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0268 | ContentValues values = new ContentValues(); |
0269 | values.put( "url" , url); |
0270 | values.put( "blogName" , blogName); |
0271 | values.put( "username" , username); |
0272 | values.put( "password" , password); |
0273 | values.put( "imagePlacement" , imagePlacement); |
0274 | values.put( "centerThumbnail" , centerThumbnail); |
0275 | values.put( "fullSizeImage" , fullSizeImage); |
0276 | values.put( "maxImageWidth" , maxImageWidth); |
0277 | values.put( "maxImageWidthId" , maxImageWidthId); |
0278 | values.put( "runService" , runService); |
0279 | values.put( "blogId" , blogId); |
0280 | values.put( "dotcomFlag" , wpcom); |
0281 | values.put( "wpVersion" , wpVersion); |
0282 | boolean returnValue = db.insert(SETTINGS_TABLE, null , values) > 0 ; |
0284 | return (returnValue); |
0286 | public Vector<HashMap<String, Object>> getAccounts(Context ctx) { |
0287 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0288 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "id" , "blogName" , "username" , "runService" , "blogId" , "url" }, null , null , null , null , null ); |
0290 | String blogName, username, url; |
0293 | int numRows = c.getCount(); |
0295 | Vector<HashMap<String, Object>> accounts = new Vector<HashMap<String, Object>>(); |
0296 | for ( int i = 0 ; i < numRows; i++) { |
0298 | id = c.getString( 0 ); |
0299 | blogName = c.getString( 1 ); |
0300 | username = c.getString( 2 ); |
0301 | runService = c.getInt( 3 ); |
0302 | blogId = c.getInt( 4 ); |
0303 | url = c.getString( 5 ); |
0306 | HashMap<String, Object> thisHash = new HashMap<String, Object>(); |
0308 | thisHash.put( "id" , id); |
0309 | thisHash.put( "blogName" , blogName); |
0310 | thisHash.put( "username" , username); |
0311 | thisHash.put( "runService" , runService); |
0312 | thisHash.put( "blogId" , blogId); |
0313 | thisHash.put( "url" , url); |
0314 | accounts.add(thisHash); |
0324 | public boolean checkMatch(Context ctx, String blogName, String blogURL, String username) { |
0325 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0326 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "blogName" , "url" }, "blogName='" + addSlashes(blogName) + "' AND url='" + addSlashes(blogURL) + "'" + " AND username='" + username + "'" , null , null , null , null ); |
0327 | int numRows = c.getCount(); |
0328 | boolean result = false ; |
0331 | //this account is already saved, yo! |
0341 | public static String addSlashes( String text ){ |
0342 | final StringBuffer sb = new StringBuffer( text.length() * 2 ); |
0343 | final StringCharacterIterator iterator = new StringCharacterIterator( text ); |
0345 | char character = iterator.current(); |
0347 | while ( character != StringCharacterIterator.DONE ){ |
0348 | if ( character == '"' ) sb.append( "\\\ "" ); |
0349 | else if ( character == '\'' ) sb.append( "\'\'" ); |
0350 | else if ( character == '\\' ) sb.append( "\\\\" ); |
0351 | else if ( character == '\n' ) sb.append( "\\n" ); |
0352 | else if ( character == '{' ) sb.append( "\\{" ); |
0353 | else if ( character == '}' ) sb.append( "\\}" ); |
0354 | else sb.append( character ); |
0356 | character = iterator.next(); |
0359 | return sb.toString(); |
0362 | public boolean saveSettings(Context ctx, String id, String url, String username, String password, String imagePlacement, boolean centerThumbnail, boolean fullSizeImage, String maxImageWidth, int maxImageWidthId, boolean location, boolean isWPCom, String originalUsername) { |
0363 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0364 | ContentValues values = new ContentValues(); |
0365 | values.put( "url" , url); |
0366 | values.put( "username" , username); |
0367 | values.put( "password" , password); |
0368 | values.put( "imagePlacement" , imagePlacement); |
0369 | values.put( "centerThumbnail" , centerThumbnail); |
0370 | values.put( "fullSizeImage" , fullSizeImage); |
0371 | values.put( "maxImageWidth" , maxImageWidth); |
0372 | values.put( "maxImageWidthId" , maxImageWidthId); |
0373 | values.put( "location" , location); |
0374 | boolean returnValue = db.update(SETTINGS_TABLE, values, "id=" + id, null ) > 0 ; |
0376 | //update the login for other wordpress.com accounts |
0377 | ContentValues userPass = new ContentValues(); |
0378 | userPass.put( "username" , username); |
0379 | userPass.put( "password" , password); |
0380 | returnValue = db.update(SETTINGS_TABLE, userPass, "username=\"" + originalUsername + "\" AND dotcomFlag=1" , null ) > 0 ; |
0383 | return (returnValue); |
0386 | public boolean deleteAccount(Context ctx, String id) { |
0387 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0388 | int rowsAffected = db.delete(SETTINGS_TABLE, "id=" + id, null ); |
0390 | boolean returnValue = false ; |
0391 | if (rowsAffected > 0 ){ |
0395 | // delete QuickPress homescreen shortcuts connected with this account |
0396 | Vector<HashMap<String, Object>> shortcuts = this .getQuickPressShortcuts(ctx, id); |
0397 | for ( int i = 0 ; i < shortcuts.size(); i++) { |
0398 | HashMap<String, Object> shortcutHash = shortcuts.get(i); |
0400 | Intent shortcutIntent = new Intent(); |
0401 | shortcutIntent.setClassName(editPost. class .getPackage().getName(), editPost. class .getName()); |
0402 | shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
0403 | shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); |
0404 | shortcutIntent.setAction(Intent.ACTION_VIEW); |
0405 | Intent broadcastShortcutIntent = new Intent(); |
0406 | broadcastShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); |
0407 | broadcastShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, shortcutHash.get( "name" ).toString()); |
0408 | broadcastShortcutIntent.putExtra( "duplicate" , false ); |
0409 | broadcastShortcutIntent.setAction( "com.android.launcher.action.UNINSTALL_SHORTCUT" ); |
0410 | ctx.sendBroadcast(broadcastShortcutIntent); |
0412 | deleteQuickPressShortcut(ctx, shortcutHash.get( "id" ).toString()); |
0416 | return (returnValue); |
0419 | public Vector<Object> loadSettings(Context ctx, String id) { |
0420 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0422 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "url" , "blogName" , "username" , "password" , "imagePlacement" , "centerThumbnail" , "fullSizeImage" , "maxImageWidth" , "maxImageWidthId" , "runService" , "blogId" , "location" , "dotcomFlag" }, "id=" + id, null , null , null , null ); |
0424 | int numRows = c.getCount(); |
0427 | Vector<Object> returnVector = new Vector<Object>(); |
0429 | if (c.getString( 0 ) != null ){ |
0430 | returnVector.add(c.getString( 0 )); |
0431 | returnVector.add(c.getString( 1 )); |
0432 | returnVector.add(c.getString( 2 )); |
0433 | returnVector.add(c.getString( 3 )); |
0434 | returnVector.add(c.getString( 4 )); |
0435 | returnVector.add(c.getInt( 5 )); |
0436 | returnVector.add(c.getString( 6 )); |
0437 | returnVector.add(c.getString( 7 )); |
0438 | returnVector.add(c.getInt( 8 )); |
0439 | returnVector.add(c.getInt( 9 )); |
0440 | returnVector.add(c.getInt( 10 )); |
0441 | returnVector.add(c.getInt( 11 )); |
0442 | returnVector.add(c.getInt( 12 )); |
0446 | returnVector = null ; |
0452 | return returnVector; |
0455 | public Vector<String> loadStatsLogin(Context ctx, String id) { |
0456 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0458 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "dotcom_username" , "dotcom_password" }, "id=" + id, null , null , null , null ); |
0462 | Vector<String> returnVector = new Vector<String>(); |
0463 | if (c.getString( 0 ) != null ){ |
0464 | returnVector.add(c.getString( 0 )); |
0465 | returnVector.add(c.getString( 1 )); |
0469 | returnVector = null ; |
0474 | return returnVector; |
0477 | public boolean saveStatsLogin(Context ctx, String id, String statsUsername, String statsPassword) { |
0478 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0479 | ContentValues values = new ContentValues(); |
0480 | values.put( "dotcom_username" , statsUsername); |
0481 | values.put( "dotcom_password" , statsPassword); |
0482 | boolean returnValue = db.update(SETTINGS_TABLE, values, "id=" + id, null ) > 0 ; |
0485 | return (returnValue); |
0489 | public Vector<String> loadAPIData(Context ctx, String id) { |
0490 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0492 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "api_key" , "api_blogid" }, "id=" + id, null , null , null , null ); |
0496 | Vector<String> returnVector = new Vector<String>(); |
0497 | if (c.getString( 0 ) != null ){ |
0498 | returnVector.add(c.getString( 0 )); |
0499 | returnVector.add(c.getString( 1 )); |
0503 | returnVector = null ; |
0508 | return returnVector; |
0511 | public boolean saveAPIData(Context ctx, String id, String apiKey, String apiBlogID) { |
0512 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0513 | ContentValues values = new ContentValues(); |
0514 | values.put( "api_key" , apiKey); |
0515 | values.put( "api_blogid" , apiBlogID); |
0516 | boolean returnValue = db.update(SETTINGS_TABLE, values, "id=" + id, null ) > 0 ; |
0519 | return (returnValue); |
0523 | public int getLatestCommentID(Context ctx, String id) { |
0524 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0526 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "lastCommentId" }, "id=" + id, null , null , null , null ); |
0528 | if (c.getString( 0 ) != null ){ |
0529 | returnInt = Integer.valueOf(c.getString( 0 )); |
0537 | public boolean updateLatestCommentID(Context ctx, String id, Integer newCommentID) { |
0538 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0539 | ContentValues values = new ContentValues(); |
0540 | values.put( "lastCommentId" , newCommentID); |
0542 | boolean returnValue = db.update(SETTINGS_TABLE, values, "id=" + id, null ) > 0 ; |
0544 | return (returnValue); |
0549 | public Vector<Integer> getNotificationAccounts(Context ctx) { |
0550 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0554 | c = db.query(SETTINGS_TABLE, new String[] { "id" }, "runService=1" , null , null , null , null ); |
0555 | } catch (Exception e) { |
0556 | e.printStackTrace(); |
0559 | int numRows = c.getCount(); |
0562 | Vector<Integer> returnVector = new Vector<Integer>(); |
0563 | for ( int i = 0 ; i < numRows; ++i) { |
0564 | int tempID = c.getInt( 0 ); |
0565 | returnVector.add(tempID); |
0571 | return returnVector; |
0575 | public String getAccountName(Context ctx, String accountID) { |
0576 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0577 | String accountName = "" ; |
0578 | Cursor c = db.query(SETTINGS_TABLE, new String[] { "blogName" }, "id=" + accountID, null , null , null , null ); |
0580 | if (c.getString( 0 ) != null ){ |
0581 | accountName = c.getString( 0 ); |
0589 | public void updateNotificationFlag(Context ctx, int id, boolean flag) { |
0590 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0591 | ContentValues values = new ContentValues(); |
0596 | values.put( "runService" , iFlag); |
0598 | boolean returnValue = db.update(SETTINGS_TABLE, values, "id=" + String.valueOf(id), null ) > 0 ; |
0605 | public void updateNotificationSettings(Context ctx, String interval, boolean sound, boolean vibrate, boolean light, boolean tagline_flag, String tagline) { |
0606 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0607 | ContentValues values = new ContentValues(); |
0608 | values.put( "interval" , interval); |
0609 | values.put( "sound" , sound); |
0610 | values.put( "vibrate" , vibrate); |
0611 | values.put( "light" , light); |
0612 | values.put( "tagline_flag" , tagline_flag); |
0613 | values.put( "tagline" , tagline); |
0615 | boolean returnValue = db.update( "eula" , values, null , null ) > 0 ; |
0621 | public String getInterval(Context ctx) { |
0622 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0624 | Cursor c = db.query( "eula" , new String[] { "interval" }, "id=0" , null , null , null , null ); |
0625 | int numRows = c.getCount(); |
0627 | String returnValue = "" ; |
0629 | if (c.getString( 0 ) != null ){ |
0630 | returnValue = c.getString( 0 ); |
0640 | public HashMap<String, Object> getNotificationOptions(Context ctx) { |
0641 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0642 | Cursor c = db.query( "eula" , new String[] { "id" , "sound" , "vibrate" , "light" , "tagline_flag" , "tagline" }, "id=0" , null , null , null , null ); |
0643 | int sound, vibrate, light; |
0645 | HashMap<String, Object> thisHash = new HashMap<String, Object>(); |
0646 | int numRows = c.getCount(); |
0650 | sound = c.getInt( 1 ); |
0651 | vibrate = c.getInt( 2 ); |
0652 | light = c.getInt( 3 ); |
0653 | tagline = c.getString( 5 ); |
0654 | thisHash.put( "sound" , sound); |
0655 | thisHash.put( "vibrate" , vibrate); |
0656 | thisHash.put( "light" , light); |
0657 | thisHash.put( "tagline_flag" , c.getInt( 4 )); |
0658 | if (tagline != null ){ |
0659 | thisHash.put( "tagline" , tagline); |
0662 | thisHash.put( "tagline" , "" ); |
0675 | public boolean saveLocalDraft(Context ctx, String blogID, String title, String content, String picturePaths, String tags, String categories, String status, Double latitude, Double longitude) { |
0676 | boolean returnValue = false ; |
0677 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0679 | ContentValues values = new ContentValues(); |
0680 | values.put( "blogID" , blogID); |
0681 | values.put( "title" , title); |
0682 | values.put( "content" , content); |
0683 | values.put( "picturePaths" , picturePaths); |
0684 | values.put( "tags" , tags); |
0685 | values.put( "categories" , categories); |
0686 | values.put( "status" , status); |
0687 | values.put( "latitude" , latitude); |
0688 | values.put( "longitude" , longitude); |
0689 | returnValue = db.insert(LOCALDRAFTS_TABLE, null , values) > 0 ; |
0692 | return (returnValue); |
0695 | public boolean updateLocalDraft(Context ctx, String blogID, String postID, String title, String content, String picturePaths, String tags, String categories, String status, Double latitude, Double longitude) { |
0696 | boolean returnValue = false ; |
0697 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0699 | ContentValues values = new ContentValues(); |
0700 | values.put( "blogID" , blogID); |
0701 | values.put( "title" , title); |
0702 | values.put( "content" , content); |
0703 | values.put( "picturePaths" , picturePaths); |
0704 | values.put( "tags" , tags); |
0705 | values.put( "categories" , categories); |
0706 | values.put( "status" , status); |
0707 | values.put( "latitude" , latitude); |
0708 | values.put( "longitude" , longitude); |
0709 | returnValue = db.update(LOCALDRAFTS_TABLE, values, "id=" + postID, null ) > 0 ; |
0712 | return (returnValue); |
0715 | public Vector<HashMap<String, Object>> loadPosts(Context ctx, String blogID) { |
0716 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0717 | Vector<HashMap<String, Object>> returnVector = new Vector<HashMap<String, Object>>(); |
0718 | Cursor c = db.query(LOCALDRAFTS_TABLE, new String[] { "id" , "title" , "status" , "uploaded" }, "blogID=" + blogID, null , null , null , "id desc" ); |
0719 | int numRows = c.getCount(); |
0722 | for ( int i = 0 ; i < numRows; ++i) { |
0723 | if (c.getString( 0 ) != null ){ |
0724 | HashMap<String, Object> returnHash = new HashMap<String, Object>(); |
0725 | returnHash.put( "id" , c.getInt( 0 )); |
0726 | returnHash.put( "title" , c.getString( 1 )); |
0727 | returnHash.put( "status" , c.getString( 2 )); |
0728 | returnHash.put( "uploaded" , c.getInt( 3 )); |
0729 | returnVector.add(i, returnHash); |
0737 | returnVector = null ; |
0740 | return returnVector; |
0743 | public Vector<HashMap<String, Object>> loadPost(Context ctx, String postID) { |
0744 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0745 | Vector<HashMap<String, Object>> returnVector = new Vector<HashMap<String, Object>>(); |
0746 | Cursor c = db.query(LOCALDRAFTS_TABLE, new String[] { "title" , "content" , "picturePaths" , "tags" , "categories" , "status" , "latitude" , "longitude" }, "id=" + postID, null , null , null , null ); |
0748 | int numRows = c.getCount(); |
0751 | for ( int i = 0 ; i < numRows; ++i) { |
0752 | if (c.getString( 0 ) != null ){ |
0753 | HashMap<String, Object> returnHash = new HashMap<String, Object>(); |
0754 | returnHash.put( "title" , c.getString( 0 )); |
0755 | returnHash.put( "content" , c.getString( 1 )); |
0756 | returnHash.put( "picturePaths" , c.getString( 2 )); |
0757 | returnHash.put( "tags" , c.getString( 3 )); |
0758 | returnHash.put( "categories" , c.getString( 4 )); |
0759 | returnHash.put( "status" , c.getString( 5 )); |
0760 | returnHash.put( "latitude" , c.getDouble( 6 )); |
0761 | returnHash.put( "longitude" , c.getDouble( 7 )); |
0762 | returnVector.add(i, returnHash); |
0770 | returnVector = null ; |
0773 | return returnVector; |
0776 | public boolean deletePost(Context ctx, String postID) { |
0777 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0779 | boolean returnValue = false ; |
0782 | result = db.delete(LOCALDRAFTS_TABLE, "id=" + postID, null ); |
0792 | public boolean saveLocalPageDraft(Context ctx, String blogID, String title, String content, String picturePaths, String status) { |
0793 | boolean returnValue = false ; |
0794 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0796 | ContentValues values = new ContentValues(); |
0797 | values.put( "blogID" , blogID); |
0798 | values.put( "title" , title); |
0799 | values.put( "content" , content); |
0800 | values.put( "picturePaths" , picturePaths); |
0801 | values.put( "status" , status); |
0802 | returnValue = db.insert(LOCALPAGEDRAFTS_TABLE, null , values) > 0 ; |
0805 | return (returnValue); |
0808 | public boolean updateLocalPageDraft(Context ctx, String blogID, String postID, String title, String content, String picturePaths, String status) { |
0809 | boolean returnValue = false ; |
0810 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0812 | ContentValues values = new ContentValues(); |
0813 | values.put( "blogID" , blogID); |
0814 | values.put( "title" , title); |
0815 | values.put( "content" , content); |
0816 | values.put( "picturePaths" , picturePaths); |
0817 | values.put( "status" , status); |
0818 | returnValue = db.update(LOCALPAGEDRAFTS_TABLE, values, "id=" + postID, null ) > 0 ; |
0821 | return (returnValue); |
0824 | public Vector<HashMap<String, Object>> loadPageDrafts(Context ctx, String blogID) { |
0825 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0826 | Vector<HashMap<String, Object>> returnVector = new Vector<HashMap<String, Object>>(); |
0827 | Cursor c = db.query(LOCALPAGEDRAFTS_TABLE, new String[] { "id" , "title" , "status" , "uploaded" }, "blogID=" + blogID, null , null , null , "id desc" ); |
0828 | int numRows = c.getCount(); |
0831 | for ( int i = 0 ; i < numRows; ++i) { |
0832 | if (c.getString( 0 ) != null ){ |
0833 | HashMap<String, Object> returnHash = new HashMap<String, Object>(); |
0834 | returnHash.put( "id" , c.getInt( 0 )); |
0835 | returnHash.put( "title" , c.getString( 1 )); |
0836 | returnHash.put( "status" , c.getString( 2 )); |
0837 | returnHash.put( "uploaded" , c.getInt( 3 )); |
0838 | returnVector.add(i, returnHash); |
0846 | returnVector = null ; |
0849 | return returnVector; |
0852 | public Vector<HashMap<String, Object>> loadPageDraft(Context ctx, String postID) { |
0853 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0854 | Vector<HashMap<String, Object>> returnVector = new Vector<HashMap<String, Object>>(); |
0855 | Cursor c = db.query(LOCALPAGEDRAFTS_TABLE, new String[] { "title" , "content" , "picturePaths" , "status" }, "id=" + postID, null , null , null , null ); |
0857 | int numRows = c.getCount(); |
0860 | for ( int i = 0 ; i < numRows; ++i) { |
0861 | if (c.getString( 0 ) != null ){ |
0862 | HashMap<String, Object> returnHash = new HashMap<String, Object>(); |
0863 | returnHash.put( "title" , c.getString( 0 )); |
0864 | returnHash.put( "content" , c.getString( 1 )); |
0865 | returnHash.put( "picturePaths" , c.getString( 2 )); |
0866 | returnHash.put( "status" , c.getString( 3 )); |
0867 | returnVector.add(i, returnHash); |
0875 | returnVector = null ; |
0878 | return returnVector; |
0881 | public boolean deletePageDraft(Context ctx, String postID) { |
0882 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0884 | boolean returnValue = false ; |
0887 | result = db.delete(LOCALPAGEDRAFTS_TABLE, "id=" + postID, null ); |
0897 | public int getLatestDraftID(Context ctx, String id) { |
0898 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0899 | Cursor c = db.query(LOCALDRAFTS_TABLE, new String[] { "id" }, "blogID=" + id, null , null , null , "id desc" , "1" ); |
0902 | int numRows = c.getCount(); |
0905 | latestID = c.getInt( 0 ); |
0913 | public int getLatestPageDraftID(Context ctx, String id) { |
0914 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0915 | Cursor c = db.query(LOCALPAGEDRAFTS_TABLE, new String[] { "id" }, "blogID=" + id, null , null , null , "id desc" , "1" ); |
0918 | int numRows = c.getCount(); |
0921 | latestID = c.getInt( 0 ); |
0930 | public boolean savePosts(Context ctx, Vector<?> postValues) { |
0931 | boolean returnValue = false ; |
0932 | if (postValues.size() != 0 ) |
0934 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0935 | HashMap<?, ?> firstHash = (HashMap<?, ?>) postValues.get( 0 ); |
0936 | String blogID = firstHash.get( "blogID" ).toString(); |
0937 | //delete existing values |
0938 | db.delete(POSTSTORE_TABLE, "blogID=" + blogID, null ); |
0940 | for ( int i = 0 ; i < postValues.size(); i++){ |
0941 | ContentValues values = new ContentValues(); |
0942 | HashMap<?, ?> thisHash = (HashMap<?, ?>) postValues.get(i); |
0943 | values.put( "blogID" , thisHash.get( "blogID" ).toString()); |
0944 | values.put( "postID" , thisHash.get( "postID" ).toString()); |
0945 | values.put( "title" , thisHash.get( "title" ).toString()); |
0946 | values.put( "postDate" , thisHash.get( "postDate" ).toString()); |
0947 | values.put( "postDateFormatted" , thisHash.get( "postDateFormatted" ).toString()); |
0948 | returnValue = db.insert(POSTSTORE_TABLE, null , values) > 0 ; |
0954 | return (returnValue); |
0957 | public Vector<HashMap<String, String>> loadSavedPosts(Context ctx, String blogID) { |
0958 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0959 | Vector<HashMap<String, String>> returnVector = new Vector<HashMap<String, String>>(); |
0960 | Cursor c = db.query(POSTSTORE_TABLE, new String[] { "blogID" , "postID" , "title" , "postDate" , "postDateFormatted" }, "blogID=" + blogID, null , null , null , null ); |
0962 | int numRows = c.getCount(); |
0965 | for ( int i = 0 ; i < numRows; ++i) { |
0966 | if (c.getString( 0 ) != null ){ |
0967 | HashMap<String, String> returnHash = new HashMap<String, String>(); |
0968 | returnHash.put( "blogID" , c.getString( 0 )); |
0969 | returnHash.put( "postID" , c.getString( 1 )); |
0970 | returnHash.put( "title" , c.getString( 2 )); |
0971 | returnHash.put( "postDate" , c.getString( 3 )); |
0972 | returnHash.put( "postDateFormatted" , c.getString( 4 )); |
0973 | returnVector.add(i, returnHash); |
0981 | returnVector = null ; |
0984 | return returnVector; |
0987 | public Vector<HashMap<String, String>> loadPages(Context ctx, String blogID) { |
0988 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
0989 | Vector<HashMap<String, String>> returnVector = new Vector<HashMap<String, String>>(); |
0990 | Cursor c = db.query(PAGES_TABLE, new String[] { "blogID" , "pageID" , "title" , "pageDate" , "pageDateFormatted" }, "blogID=" + blogID, null , null , null , null ); |
0992 | int numRows = c.getCount(); |
0995 | for ( int i = 0 ; i < numRows; ++i) { |
0996 | if (c.getString( 0 ) != null ){ |
0997 | HashMap<String, String> returnHash = new HashMap<String, String>(); |
0998 | returnHash.put( "blogID" , c.getString( 0 )); |
0999 | returnHash.put( "pageID" , c.getString( 1 )); |
1000 | returnHash.put( "title" , c.getString( 2 )); |
1001 | returnHash.put( "pageDate" , c.getString( 3 )); |
1002 | returnHash.put( "pageDateFormatted" , c.getString( 4 )); |
1003 | returnVector.add(i, returnHash); |
1011 | returnVector = null ; |
1014 | return returnVector; |
1017 | public boolean savePages(Context ctx, Vector<?> pageValues) { |
1018 | boolean returnValue = false ; |
1019 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1020 | HashMap<?, ?> firstHash = (HashMap<?, ?>) pageValues.get( 0 ); |
1021 | String blogID = firstHash.get( "blogID" ).toString(); |
1022 | //delete existing values |
1023 | db.delete(PAGES_TABLE, "blogID=" + blogID, null ); |
1025 | for ( int i = 0 ; i < pageValues.size(); i++){ |
1026 | ContentValues values = new ContentValues(); |
1027 | HashMap<?, ?> thisHash = (HashMap<?, ?>) pageValues.get(i); |
1028 | values.put( "blogID" , thisHash.get( "blogID" ).toString()); |
1029 | values.put( "pageID" , thisHash.get( "pageID" ).toString()); |
1030 | values.put( "parentID" , thisHash.get( "parentID" ).toString()); |
1031 | values.put( "title" , thisHash.get( "title" ).toString()); |
1032 | values.put( "pageDate" , thisHash.get( "pageDate" ).toString()); |
1033 | values.put( "pageDateFormatted" , thisHash.get( "pageDateFormatted" ).toString()); |
1034 | returnValue = db.insert(PAGES_TABLE, null , values) > 0 ; |
1039 | return (returnValue); |
1043 | public Vector<HashMap<String, Object>> loadComments(Context ctx, String blogID) { |
1044 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1045 | Vector<HashMap<String, Object>> returnVector = new Vector<HashMap<String, Object>>(); |
1046 | Cursor c = db.query(COMMENTS_TABLE, new String[] { "blogID" , "postID" , "iCommentID" , "author" , "comment" , "commentDate" , "commentDateFormatted" , "status" , "url" , "email" , "postTitle" }, "blogID=" + blogID, null , null , null , null ); |
1048 | int numRows = c.getCount(); |
1051 | HashMap<String, Object> numRecords = new HashMap<String, Object>(); |
1052 | //add the number of stored records so the offset can be computed |
1054 | numRecords.put( "numRecords" , numRows); |
1055 | returnVector.add( 0 , numRecords); |
1058 | for ( int i = 1 ; i < (numRows + 1 ); ++i) { |
1059 | if (c.getString( 0 ) != null ){ |
1060 | HashMap<String, Object> returnHash = new HashMap<String, Object>(); |
1061 | returnHash.put( "blogID" , c.getString( 0 )); |
1062 | returnHash.put( "postID" , c.getInt( 1 )); |
1063 | returnHash.put( "commentID" , c.getInt( 2 )); |
1064 | returnHash.put( "author" , c.getString( 3 )); |
1065 | returnHash.put( "comment" , c.getString( 4 )); |
1066 | returnHash.put( "commentDate" , c.getString( 5 )); |
1067 | returnHash.put( "commentDateFormatted" , c.getString( 6 )); |
1068 | returnHash.put( "status" , c.getString( 7 )); |
1069 | returnHash.put( "url" , c.getString( 8 )); |
1070 | returnHash.put( "email" , c.getString( 9 )); |
1071 | returnHash.put( "postTitle" , c.getString( 10 )); |
1072 | returnVector.add(i, returnHash); |
1080 | returnVector = null ; |
1083 | return returnVector; |
1086 | public Vector<HashMap<String, Object>> loadMoreComments(Context ctx, String blogID, int limit) { |
1087 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1088 | Vector<HashMap<String, Object>> returnVector = new Vector<HashMap<String, Object>>(); |
1089 | Cursor c = db.query(COMMENTS_TABLE, new String[] { "blogID" , "postID" , "iCommentID" , "author" , "comment" , "commentDate" , "commentDateFormatted" , "status" , "url" , "email" , "postTitle" }, "blogID=" + blogID, null , null , null , "iCommentID ASC" , String.valueOf(limit)); |
1090 | int numRows = c.getCount(); |
1093 | //HashMap numRecords = new HashMap(); |
1094 | //add the number of stored records so the offset can be computed |
1096 | numRecords.put("numRecords", numRows); |
1097 | returnVector.add(0, numRecords); |
1099 | for ( int i = 0 ; i < numRows; i++) { |
1100 | if (c.getString( 0 ) != null ){ |
1101 | HashMap<String, Object> returnHash = new HashMap<String, Object>(); |
1102 | returnHash.put( "blogID" , c.getString( 0 )); |
1103 | returnHash.put( "postID" , c.getInt( 1 )); |
1104 | returnHash.put( "commentID" , c.getInt( 2 )); |
1105 | returnHash.put( "author" , c.getString( 3 )); |
1106 | returnHash.put( "comment" , c.getString( 4 )); |
1107 | returnHash.put( "commentDate" , c.getString( 5 )); |
1108 | returnHash.put( "commentDateFormatted" , c.getString( 6 )); |
1109 | returnHash.put( "status" , c.getString( 7 )); |
1110 | returnHash.put( "url" , c.getString( 8 )); |
1111 | returnHash.put( "email" , c.getString( 9 )); |
1112 | returnHash.put( "postTitle" , c.getString( 10 )); |
1113 | returnVector.add(i, returnHash); |
1121 | returnVector = null ; |
1124 | return returnVector; |
1127 | public boolean saveComments(Context ctx, Vector<?> commentValues, boolean loadMore) { |
1128 | boolean returnValue = false ; |
1129 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1130 | HashMap<?, ?> firstHash = (HashMap<?, ?>) commentValues.get( 0 ); |
1131 | String blogID = firstHash.get( "blogID" ).toString(); |
1132 | //delete existing values, if user hit refresh button |
1134 | db.delete(COMMENTS_TABLE, "blogID=" + blogID, null ); |
1137 | for ( int i = 0 ; i < commentValues.size(); i++){ |
1138 | ContentValues values = new ContentValues(); |
1139 | HashMap<?, ?> thisHash = (HashMap<?, ?>) commentValues.get(i); |
1140 | values.put( "blogID" , thisHash.get( "blogID" ).toString()); |
1141 | values.put( "postID" , thisHash.get( "postID" ).toString()); |
1142 | values.put( "iCommentID" , thisHash.get( "commentID" ).toString()); |
1143 | values.put( "author" , thisHash.get( "author" ).toString()); |
1144 | values.put( "comment" , thisHash.get( "comment" ).toString()); |
1145 | values.put( "commentDate" , thisHash.get( "commentDate" ).toString()); |
1146 | values.put( "commentDateFormatted" , thisHash.get( "commentDateFormatted" ).toString()); |
1147 | values.put( "status" , thisHash.get( "status" ).toString()); |
1148 | values.put( "url" , thisHash.get( "url" ).toString()); |
1149 | values.put( "email" , thisHash.get( "email" ).toString()); |
1150 | values.put( "postTitle" , thisHash.get( "postTitle" ).toString()); |
1151 | returnValue = db.insert(COMMENTS_TABLE, null , values) > 0 ; |
1156 | return (returnValue); |
1160 | public void updateCommentStatus(Context ctx, String blogID, String id, String newStatus) { |
1161 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1163 | ContentValues values = new ContentValues(); |
1164 | values.put( "status" , newStatus); |
1165 | boolean returnValue = db.update(COMMENTS_TABLE, values, "blogID=" + blogID + " AND iCommentID=" + id, null ) > 0 ; |
1172 | public void clearPages(Context ctx, String blogID) { |
1173 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1174 | //delete existing values |
1175 | db.delete(PAGES_TABLE, "blogID=" + blogID, null ); |
1179 | public void clearPosts(Context ctx, String blogID) { |
1180 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1181 | //delete existing values |
1182 | db.delete(POSTSTORE_TABLE, "blogID=" + blogID, null ); |
1188 | public boolean checkEULA(Context ctx){ |
1189 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1191 | Cursor c = db.query(EULA_TABLE, new String[] { "read" }, "id=0" , null , null , null , null ); |
1192 | int numRows = c.getCount(); |
1194 | boolean returnValue = false ; |
1196 | returnValue = (c.getInt( 0 ) != 0 ); |
1204 | public void setEULA(Context ctx) { |
1205 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1206 | ContentValues values = new ContentValues(); |
1207 | values.put( "id" , 0 ); |
1208 | values.put( "read" , 1 ); //set that they've read the EULA |
1209 | boolean returnValue = db.insert(EULA_TABLE, null , values) > 0 ; |
1215 | public void setStatsDate(Context ctx) { |
1216 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1217 | ContentValues values = new ContentValues(); |
1218 | values.put( "statsdate" , System.currentTimeMillis()); //set to current time |
1220 | boolean returnValue = db.update(EULA_TABLE, values, "id=0" , null ) > 0 ; |
1226 | public long getStatsDate(Context ctx) { |
1227 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1229 | Cursor c = db.query(EULA_TABLE, new String[] { "statsdate" }, "id=0" , null , null , null , null ); |
1230 | int numRows = c.getCount(); |
1232 | long returnValue = 0 ; |
1234 | returnValue = c.getLong( 0 ); |
1242 | public boolean insertCategory(Context ctx, String id, int wp_id, String category_name) { |
1243 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1244 | ContentValues values = new ContentValues(); |
1245 | values.put( "blog_id" , id); |
1246 | values.put( "wp_id" , wp_id); |
1247 | values.put( "category_name" , category_name.toString()); |
1248 | boolean returnValue = db.insert(CATEGORIES_TABLE, null , values) > 0 ; |
1250 | return (returnValue); |
1253 | public Vector<String> loadCategories(Context ctx, String id) { |
1254 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1256 | Cursor c = db.query(CATEGORIES_TABLE, new String[] { "id" , "wp_id" , "category_name" }, "blog_id=" + id, null , null , null , null ); |
1257 | int numRows = c.getCount(); |
1259 | Vector<String> returnVector = new Vector<String>(); |
1260 | for ( int i = 0 ; i < numRows; ++i) { |
1261 | String category_name = c.getString( 2 ); |
1262 | if (category_name != null ) |
1264 | returnVector.add(category_name); |
1271 | return returnVector; |
1274 | public int getCategoryId(Context ctx, String id, String category){ |
1275 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1277 | Cursor c = db.query(CATEGORIES_TABLE, new String[] { "wp_id" }, "category_name=\"" + category + "\" AND blog_id=" + id, null , null , null , null ); |
1280 | categoryID = c.getInt( 0 ); |
1285 | public void clearCategories(Context ctx, String id){ |
1286 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1287 | //clear out the table since we are refreshing the whole enchilada |
1288 | db.delete(CATEGORIES_TABLE, "blog_id=" + id, null ); |
1292 | //unique identifier queries |
1293 | public void updateUUID(Context ctx, String uuid) { |
1294 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1295 | ContentValues values = new ContentValues(); |
1296 | values.put( "uuid" , uuid); |
1297 | boolean returnValue = db.update( "eula" , values, null , null ) > 0 ; |
1302 | public String getUUID(Context ctx) { |
1303 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1304 | Cursor c = db.query( "eula" , new String[] { "uuid" }, "id=0" , null , null , null , null ); |
1305 | int numRows = c.getCount(); |
1307 | String returnValue = "" ; |
1309 | if (c.getString( 0 ) != null ){ |
1310 | returnValue = c.getString( 0 ); |
1320 | public boolean addQuickPressShortcut(Context ctx, String accountId, String name) { |
1321 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1322 | ContentValues values = new ContentValues(); |
1323 | values.put( "accountId" , accountId); |
1324 | values.put( "name" , name); |
1325 | boolean returnValue = db.insert(QUICKPRESS_SHORTCUTS_TABLE, null , values) > 0 ; |
1327 | return (returnValue); |
1330 | public Vector<HashMap<String, Object>> getQuickPressShortcuts(Context ctx, String accountId) { |
1331 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1332 | Cursor c = db.query(QUICKPRESS_SHORTCUTS_TABLE, new String[] { "id" , "accountId" , "name" }, "accountId = " +accountId, null , null , null , null ); |
1334 | int numRows = c.getCount(); |
1336 | Vector<HashMap<String, Object>> accounts = new Vector<HashMap<String, Object>>(); |
1337 | for ( int i = 0 ; i < numRows; i++) { |
1339 | id = c.getString( 0 ); |
1340 | name = c.getString( 2 ); |
1343 | HashMap<String, Object> thisHash = new HashMap<String, Object>(); |
1345 | thisHash.put( "id" , id); |
1346 | thisHash.put( "name" , name); |
1347 | accounts.add(thisHash); |
1357 | public boolean deleteQuickPressShortcut(Context ctx, String id) { |
1358 | db = ctx.openOrCreateDatabase(DATABASE_NAME, 0 , null ); |
1359 | int rowsAffected = db.delete(QUICKPRESS_SHORTCUTS_TABLE, "id=" + id, null ); |
1361 | boolean returnValue = false ; |
1362 | if (rowsAffected > 0 ){ |
1368 | return (returnValue); |