Android数据库设计
转载
一、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);
|
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。