Preparing for orm

captchafix
Florens Douwes 12 years ago
parent adc6cb0d52
commit 373f7f5e17
  1. BIN
      Chan/libdocs/ormlite-android-4.48-javadoc.jar
  2. BIN
      Chan/libdocs/ormlite-android-4.48-sources.jar
  3. BIN
      Chan/libdocs/ormlite-core-4.48-javadoc.jar
  4. BIN
      Chan/libdocs/ormlite-core-4.48-sources.jar
  5. 7
      Chan/src/org/floens/chan/ChanApplication.java
  6. 42
      Chan/src/org/floens/chan/database/DatabaseHelper.java
  7. 51
      Chan/src/org/floens/chan/database/DatabaseManager.java
  8. 3
      Chan/src/org/floens/chan/manager/PinnedManager.java
  9. 18
      Chan/src/org/floens/chan/model/Loadable.java
  10. 8
      Chan/src/org/floens/chan/model/Pin.java

@ -1,5 +1,6 @@
package org.floens.chan;
import org.floens.chan.database.DatabaseManager;
import org.floens.chan.manager.BoardManager;
import org.floens.chan.manager.PinnedManager;
import org.floens.chan.manager.ReplyManager;
@ -23,6 +24,7 @@ public class ChanApplication extends Application {
private static ImageLoader imageLoader;
private static BoardManager boardManager;
private static PinnedManager pinnedManager;
private static DatabaseManager databaseManager;
public ChanApplication() {
instance = this;
@ -48,6 +50,10 @@ public class ChanApplication extends Application {
return pinnedManager;
}
public static DatabaseManager getDatabaseManager() {
return databaseManager;
}
public static SharedPreferences getPreferences() {
return PreferenceManager.getDefaultSharedPreferences(instance);
}
@ -83,6 +89,7 @@ public class ChanApplication extends Application {
boardManager = new BoardManager(this);
pinnedManager = new PinnedManager(this);
new ReplyManager(this);
databaseManager = new DatabaseManager(this);
}
}

@ -0,0 +1,42 @@
package org.floens.chan.database;
import java.sql.SQLException;
import org.floens.chan.model.Loadable;
import org.floens.chan.model.Pin;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.support.ConnectionSource;
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "ChanDB";
private static final int DATABASE_VERSION = 1;
public Dao<Pin, Integer> pinDao;
public Dao<Loadable, Integer> loadableDao;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
try {
pinDao = getDao(Pin.class);
loadableDao = getDao(Loadable.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {
}
@Override
public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
}
}

@ -0,0 +1,51 @@
package org.floens.chan.database;
import java.sql.SQLException;
import java.util.List;
import org.floens.chan.model.Pin;
import android.content.Context;
public class DatabaseManager {
private final DatabaseHelper helper;
public DatabaseManager(Context context) {
helper = new DatabaseHelper(context);
}
public void addPin(Pin pin) {
try {
helper.pinDao.create(pin);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void removePin(Pin pin) {
try {
helper.pinDao.delete(pin);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updatePin(Pin pin) {
try {
helper.pinDao.update(pin);
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Pin> getPinned() {
List<Pin> list = null;
try {
list = helper.pinDao.queryForAll();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}

@ -13,11 +13,8 @@ import android.content.Context;
public class PinnedManager {
private final ArrayList<Pin> list = new ArrayList<Pin>();
private final PinnedAdapter adapter;
private final Context context;
public PinnedManager(Context context) {
this.context = context;
adapter = new PinnedAdapter(context, 0, list);
Pin header = new Pin();

@ -3,15 +3,33 @@ package org.floens.chan.model;
import android.content.Context;
import android.os.Bundle;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
/**
* Something that can be loaded, like a board or thread.
*/
@DatabaseTable
public class Loadable {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField
public int mode = Mode.INVALID;
@DatabaseField
public String board = "";
@DatabaseField
public int no = -1;
@DatabaseField
public String title = "";
@DatabaseField
public int listViewIndex;
@DatabaseField
public int listViewTop;
/**

@ -1,8 +1,16 @@
package org.floens.chan.model;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
@DatabaseTable
public class Pin {
@DatabaseField(generatedId = true)
private int id;
public Type type = Type.THREAD;
@DatabaseField(canBeNull = false, foreign = true)
public Loadable loadable = new Loadable("", -1);
/** Header is used to display a static header in the drawer listview. */

Loading…
Cancel
Save