diff --git a/OSJ Forum/AndroidManifest.xml b/OSJ Forum/AndroidManifest.xml index 98c2db3..9e549e5 100644 --- a/OSJ Forum/AndroidManifest.xml +++ b/OSJ Forum/AndroidManifest.xml @@ -1,5 +1,5 @@ list = db.getForums(); - final XMLRPCClient client = XMLRPCClient.getClient(context); - - Object[] result = null; - try { - result = (Object[]) client.call("get_forum", true); - } catch (final XMLRPCException e) { - e.printStackTrace(); - } - - if (result != null) - for (int i = 0; i < result.length; i++) { - final HashMap contentHash = (HashMap) result[i]; - addItem(new ForumItem(Integer.valueOf(i).toString(), contentHash)); - } + int index = 0; + for(String item : list) + addItem(new ForumItem(Integer.valueOf(index++).toString(), db.getForum(item))); } } \ No newline at end of file diff --git a/OSJ Forum/src/org/RickBarrette/osj/forum/database/ForumDatabase.java b/OSJ Forum/src/org/RickBarrette/osj/forum/database/ForumDatabase.java index da6d609..82015cb 100644 --- a/OSJ Forum/src/org/RickBarrette/osj/forum/database/ForumDatabase.java +++ b/OSJ Forum/src/org/RickBarrette/osj/forum/database/ForumDatabase.java @@ -361,8 +361,35 @@ public class ForumDatabase { }).start(); } - public Cursor getForums(){ - return mDb.query(TABLE_FORUMS, new String[] { KEY_ID}, null, null, null, null, null); + /** + * Retrieves a list of forum ids + * @return + * @author ricky barrette + */ + public List getForums(){ + ArrayList list = new ArrayList(); + Cursor c = mDb.query(TABLE_FORUMS, new String[] { KEY_ID }, null, null, null, null, null); + if(c.moveToFirst()) + do{ + list.add(c.getString(0)); + } while(c.moveToNext()); + return list; + } + + /** + * Retrieves a forum from the database + * @param id + * @return + * @author ricky barrette + */ + public HashMap getForum(String id){ + HashMap h = new HashMap(); + Cursor c = mDb.query(TABLE_FORUM_INFO, new String[] { KEY, KEY_VALUE }, KEY_FORUM_ID +" = "+ DatabaseUtils.sqlEscapeString(id), null, null, null, null); + if(c.moveToFirst()) + do{ + h.put(c.getString(0), c.getString(1)); + } while(c.moveToNext()); + return h; } /**