本文整理汇总了Java中com.liulishuo.filedownloader.model.ConnectionModel类的典型用法代码示例。如果您正苦于以下问题:Java ConnectionModel类的具体用法?Java ConnectionModel怎么用?Java ConnectionModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ConnectionModel类属于com.liulishuo.filedownloader.model包,在下文中一共展示了ConnectionModel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: findConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public List<ConnectionModel> findConnectionModel(int id) {
final List<ConnectionModel> resultList = new ArrayList<>();
Cursor c = null;
try {
c = db.rawQuery(FileDownloadUtils.formatString("SELECT * FROM %s WHERE %s = ?",
CONNECTION_TABLE_NAME, ConnectionModel.ID), new String[]{Integer.toString(id)});
while (c.moveToNext()) {
final ConnectionModel model = new ConnectionModel();
model.setId(id);
model.setIndex(c.getInt(c.getColumnIndex(ConnectionModel.INDEX)));
model.setStartOffset(c.getInt(c.getColumnIndex(ConnectionModel.START_OFFSET)));
model.setCurrentOffset(c.getInt(c.getColumnIndex(ConnectionModel.CURRENT_OFFSET)));
model.setEndOffset(c.getInt(c.getColumnIndex(ConnectionModel.END_OFFSET)));
resultList.add(model);
}
} finally {
if (c != null)
c.close();
}
return resultList;
}
示例2: getSoFar
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
public long getSoFar(final int id) {
final FileDownloadModel model = mDatabase.find(id);
if (model == null) {
return 0;
}
final int connectionCount = model.getConnectionCount();
if (connectionCount <= 1) {
return model.getSoFar();
} else {
final List<ConnectionModel> modelList = mDatabase.findConnectionModel(id);
if (modelList == null || modelList.size() != connectionCount) {
return 0;
} else {
return ConnectionModel.getTotalOffset(modelList);
}
}
}
示例3: onCreate
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS " +
DefaultDatabaseImpl.TABLE_NAME + "( " +
FileDownloadModel.ID + " INTEGER PRIMARY KEY, " + // id
FileDownloadModel.URL + " VARCHAR, " + // url
FileDownloadModel.PATH + " VARCHAR, " + // path
FileDownloadModel.STATUS + " TINYINT(7), " + // status ,ps SQLite will auto change to integer.
FileDownloadModel.SOFAR + " INTEGER, " +// so far
FileDownloadModel.TOTAL + " INTEGER, " +// total
FileDownloadModel.ERR_MSG + " VARCHAR, " + // error message
FileDownloadModel.ETAG + " VARCHAR, " +// e tag
FileDownloadModel.PATH_AS_DIRECTORY + " TINYINT(1) DEFAULT 0, " +// path as directory
FileDownloadModel.FILENAME + " VARCHAR, " +// path as directory
FileDownloadModel.CONNECTION_COUNT + " INTEGER DEFAULT 1" + // connection count
")");
db.execSQL("CREATE TABLE IF NOT EXISTS " +
DefaultDatabaseImpl.CONNECTION_TABLE_NAME + "( " +
ConnectionModel.ID + " INTEGER, " +
ConnectionModel.INDEX + " INTEGER, " +
ConnectionModel.START_OFFSET + " INTEGER, " +
ConnectionModel.CURRENT_OFFSET + " INTEGER, " +
ConnectionModel.END_OFFSET + " INTEGER, " +
"PRIMARY KEY ( " + ConnectionModel.ID + ", " + ConnectionModel.INDEX + " )" +
")");
}
示例4: findConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public List<ConnectionModel> findConnectionModel(int id) {
final List<ConnectionModel> resultList = new ArrayList<>();
Cursor c = null;
try {
c = db.rawQuery(FileDownloadUtils.formatString("SELECT * FROM %s WHERE %s = ?",
CONNECTION_TABLE_NAME, ConnectionModel.ID), new String[]{Integer.toString(id)});
while (c.moveToNext()) {
final ConnectionModel model = new ConnectionModel();
model.setId(id);
model.setIndex(c.getInt(c.getColumnIndex(ConnectionModel.INDEX)));
model.setStartOffset(c.getLong(c.getColumnIndex(ConnectionModel.START_OFFSET)));
model.setCurrentOffset(c.getLong(c.getColumnIndex(ConnectionModel.CURRENT_OFFSET)));
model.setEndOffset(c.getLong(c.getColumnIndex(ConnectionModel.END_OFFSET)));
resultList.add(model);
}
} finally {
if (c != null)
c.close();
}
return resultList;
}
示例5: onCreate
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS "
+ SqliteDatabaseImpl.TABLE_NAME + "( "
+ FileDownloadModel.ID + " INTEGER PRIMARY KEY, " // id
+ FileDownloadModel.URL + " VARCHAR, " // url
+ FileDownloadModel.PATH + " VARCHAR, " // path
+ FileDownloadModel.STATUS + " TINYINT(7), " // status
+ FileDownloadModel.SOFAR + " INTEGER, " // so far bytes
+ FileDownloadModel.TOTAL + " INTEGER, " // total bytes
+ FileDownloadModel.ERR_MSG + " VARCHAR, " // error message
+ FileDownloadModel.ETAG + " VARCHAR, " // etag
+ FileDownloadModel.PATH_AS_DIRECTORY + " TINYINT(1) DEFAULT 0, "//path as directory
+ FileDownloadModel.FILENAME + " VARCHAR, " // path as directory
+ FileDownloadModel.CONNECTION_COUNT + " INTEGER DEFAULT 1" // connection count
+ ")");
db.execSQL("CREATE TABLE IF NOT EXISTS "
+ SqliteDatabaseImpl.CONNECTION_TABLE_NAME + "( "
+ ConnectionModel.ID + " INTEGER, "
+ ConnectionModel.INDEX + " INTEGER, "
+ ConnectionModel.START_OFFSET + " INTEGER, "
+ ConnectionModel.CURRENT_OFFSET + " INTEGER, "
+ ConnectionModel.END_OFFSET + " INTEGER, "
+ "PRIMARY KEY ( " + ConnectionModel.ID + ", " + ConnectionModel.INDEX + " )"
+ ")");
}
示例6: findConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public List<ConnectionModel> findConnectionModel(int id) {
final List<ConnectionModel> resultList = new ArrayList<>();
Cursor c = null;
try {
c = db.rawQuery(FileDownloadUtils.formatString("SELECT * FROM %s WHERE %s = ?",
CONNECTION_TABLE_NAME, ConnectionModel.ID), new String[]{Integer.toString(id)});
while (c.moveToNext()) {
final ConnectionModel model = new ConnectionModel();
model.setId(id);
model.setIndex(c.getInt(c.getColumnIndex(ConnectionModel.INDEX)));
model.setStartOffset(c.getLong(c.getColumnIndex(ConnectionModel.START_OFFSET)));
model.setCurrentOffset(c.getLong(c.getColumnIndex(ConnectionModel.CURRENT_OFFSET)));
model.setEndOffset(c.getLong(c.getColumnIndex(ConnectionModel.END_OFFSET)));
resultList.add(model);
}
} finally {
if (c != null) c.close();
}
return resultList;
}
示例7: pending
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
public void pending() {
if (model.getConnectionCount() > 1) {
final List<ConnectionModel> connectionOnDBList = database.findConnectionModel(model.getId());
if (model.getConnectionCount() == connectionOnDBList.size()) {
model.setSoFar(ConnectionModel.getTotalOffset(connectionOnDBList));
} else {
// dirty
model.setSoFar(0);
database.removeConnections(model.getId());
}
}
statusCallback.onPending();
}
示例8: fetchWithMultipleConnectionFromBeginning
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
private void fetchWithMultipleConnectionFromBeginning(final long totalLength, final int connectionCount) throws InterruptedException {
long startOffset = 0;
final long eachRegion = totalLength / connectionCount;
final int id = model.getId();
final List<ConnectionModel> connectionModelList = new ArrayList<>();
for (int i = 0; i < connectionCount; i++) {
final long endOffset;
if (i == connectionCount - 1) {
// avoid float precision error
endOffset = 0;
} else {
// [startOffset, endOffset)
endOffset = startOffset + eachRegion - 1;
}
final ConnectionModel connectionModel = new ConnectionModel();
connectionModel.setId(id);
connectionModel.setIndex(i);
connectionModel.setStartOffset(startOffset);
connectionModel.setCurrentOffset(startOffset);
connectionModel.setEndOffset(endOffset);
connectionModelList.add(connectionModel);
database.insertConnectionModel(connectionModel);
startOffset += eachRegion;
}
model.setConnectionCount(connectionCount);
database.updateConnectionCount(id, connectionCount);
fetchWithMultipleConnection(connectionModelList, totalLength);
}
示例9: updateConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void updateConnectionModel(int id, int index, long currentOffset) {
final ContentValues values = new ContentValues();
values.put(ConnectionModel.CURRENT_OFFSET, currentOffset);
db.update(CONNECTION_TABLE_NAME, values
, ConnectionModel.ID + " = ? AND " + ConnectionModel.INDEX + " = ?"
, new String[]{Integer.toString(id), Integer.toString(index)});
}
示例10: onFinishMaintain
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void onFinishMaintain() {
if (currentIterator != null) currentIterator.onFinishMaintain();
final int length = needChangeIdList.size();
if (length < 0) return;
db.beginTransaction();
try {
for (int i = 0; i < length; i++) {
final int oldId = needChangeIdList.keyAt(i);
final FileDownloadModel modelWithNewId = needChangeIdList.get(oldId);
db.delete(TABLE_NAME, FileDownloadModel.ID + " = ?", new String[]{String.valueOf(oldId)});
db.insert(TABLE_NAME, null, modelWithNewId.toContentValues());
if (modelWithNewId.getConnectionCount() > 1) {
List<ConnectionModel> connectionModelList = findConnectionModel(oldId);
if (connectionModelList.size() <= 0) continue;
db.delete(CONNECTION_TABLE_NAME, ConnectionModel.ID + " = ?", new String[]{String.valueOf(oldId)});
for (ConnectionModel connectionModel : connectionModelList) {
connectionModel.setId(modelWithNewId.getId());
db.insert(CONNECTION_TABLE_NAME, null, connectionModel.toContentValues());
}
}
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
示例11: onUpgrade
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) {
String addAsDirectoryColumn = "ALTER TABLE " + DefaultDatabaseImpl.TABLE_NAME +
" ADD COLUMN " + FileDownloadModel.PATH_AS_DIRECTORY +
" TINYINT(1) DEFAULT 0";
db.execSQL(addAsDirectoryColumn);
String addFilenameColumn = "ALTER TABLE " + DefaultDatabaseImpl.TABLE_NAME +
" ADD COLUMN " + FileDownloadModel.FILENAME +
" VARCHAR";
db.execSQL(addFilenameColumn);
}
if (oldVersion < 3) {
final String addConnectionCount = "ALTER TABLE " + DefaultDatabaseImpl.TABLE_NAME +
" ADD COLUMN " + FileDownloadModel.CONNECTION_COUNT +
" INTEGER DEFAULT 1";
db.execSQL(addConnectionCount);
db.execSQL("CREATE TABLE IF NOT EXISTS " +
DefaultDatabaseImpl.CONNECTION_TABLE_NAME + "( " +
ConnectionModel.ID + " INTEGER, " +
ConnectionModel.INDEX + " INTEGER, " +
ConnectionModel.START_OFFSET + " INTEGER, " +
ConnectionModel.CURRENT_OFFSET + " INTEGER, " +
ConnectionModel.END_OFFSET + " INTEGER, " +
"PRIMARY KEY ( " + ConnectionModel.ID + ", " + ConnectionModel.INDEX + " )" +
")");
}
}
示例12: findConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public List<ConnectionModel> findConnectionModel(int id) {
final List<ConnectionModel> resultList = new ArrayList<>();
final List<ConnectionModel> processList = connectionModelListMap.get(id);
if (processList != null) resultList.addAll(processList);
return resultList;
}
示例13: insertConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void insertConnectionModel(ConnectionModel model) {
final int id = model.getId();
List<ConnectionModel> processList = connectionModelListMap.get(id);
if (processList == null) {
processList = new ArrayList<>();
connectionModelListMap.put(id, processList);
}
processList.add(model);
}
示例14: updateConnectionModel
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void updateConnectionModel(int id, int index, long currentOffset) {
final List<ConnectionModel> processList = connectionModelListMap.get(id);
if (processList == null) return;
for (ConnectionModel connectionModel : processList) {
if (connectionModel.getIndex() == index) {
connectionModel.setCurrentOffset(currentOffset);
return;
}
}
}
示例15: onUpgrade
import com.liulishuo.filedownloader.model.ConnectionModel; //导入依赖的package包/类
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) {
String addAsDirectoryColumn = "ALTER TABLE " + SqliteDatabaseImpl.TABLE_NAME
+ " ADD COLUMN " + FileDownloadModel.PATH_AS_DIRECTORY
+ " TINYINT(1) DEFAULT 0";
db.execSQL(addAsDirectoryColumn);
String addFilenameColumn = "ALTER TABLE " + SqliteDatabaseImpl.TABLE_NAME
+ " ADD COLUMN " + FileDownloadModel.FILENAME
+ " VARCHAR";
db.execSQL(addFilenameColumn);
}
if (oldVersion < 3) {
final String addConnectionCount = "ALTER TABLE " + SqliteDatabaseImpl.TABLE_NAME
+ " ADD COLUMN " + FileDownloadModel.CONNECTION_COUNT
+ " INTEGER DEFAULT 1";
db.execSQL(addConnectionCount);
db.execSQL("CREATE TABLE IF NOT EXISTS "
+ SqliteDatabaseImpl.CONNECTION_TABLE_NAME + "( "
+ ConnectionModel.ID + " INTEGER, "
+ ConnectionModel.INDEX + " INTEGER, "
+ ConnectionModel.START_OFFSET + " INTEGER, "
+ ConnectionModel.CURRENT_OFFSET + " INTEGER, "
+ ConnectionModel.END_OFFSET + " INTEGER, "
+ "PRIMARY KEY ( " + ConnectionModel.ID + ", " + ConnectionModel.INDEX + " )"
+ ")");
}
}