package net.basilwang.sever; import java.util.ArrayList; import java.util.List; import net.basilwang.dao.DAOHelper; import net.basilwang.dao.IDAOService; import android.content.Context; import android.database.Cursor; public class MessageService implements IDAOService { private DAOHelper daoHelper; public MessageService(Context context) { this.daoHelper = new DAOHelper(context); } public void save(MessageContent message) { String sql = "INSERT INTO messages(content,messageId,Id,createTime,IsRead) VALUES (?,?,?,?,?)"; Object[] bindArgs = { message.getContent(), message.getMessageId(), message.getId(), message.getCreateTime(), message.getIsRead() }; daoHelper.insert(sql, bindArgs); } public List<MessageContent> getAllMessages() { String sql = "select * from messages"; Cursor result = daoHelper.query(sql, null); List<MessageContent> list = new ArrayList<MessageContent>(); while (result.moveToNext()) { MessageContent message = new MessageContent(); message.setContent(result.getString(0)); message.setMessageId(result.getInt(1)); message.setId(result.getInt(2)); message.setCreateTime(result.getString(3)); message.setIsRead(result.getInt(4)); list.add(message); } daoHelper.closeDB(); return list; } public List<MessageContent> getMessageOfRead(int i) { String sql = "select * from messages where isRead=?"; String sa[] = { String.valueOf(i) }; Cursor result = daoHelper.query(sql, sa); List<MessageContent> list = new ArrayList<MessageContent>(); while (result.moveToNext()) { MessageContent message = new MessageContent(); message.setContent(result.getString(0)); message.setMessageId(result.getInt(1)); message.setId(result.getInt(2)); message.setCreateTime(result.getString(3)); message.setIsRead(result.getInt(4)); list.add(message); } daoHelper.closeDB(); return list; } public int[] selectAllMessageId() { String sql = "select messageId from messages"; Cursor result = daoHelper.query(sql, null); int[] ids = new int[result.getCount()]; for (int i = 0; result.moveToNext(); i++) { ids[i] = result.getInt(0); } daoHelper.closeDB(); return ids; } public int selectMaxId() { String sql = "select max(messageId) from messages"; Cursor result = daoHelper.query(sql, null); int maxId = 0; while (result.moveToNext()) { maxId = result.getInt(0); } daoHelper.closeDB(); return maxId; } public void deleteMessage(MessageContent message) { String sql = "delete from messages where messageid=?"; Object[] bindArgs = { message.getMessageId() }; daoHelper.delete(sql, bindArgs); } public void updateMessage(MessageContent message) { String sql = "UPDATE messages SET content = ?" + "WHERE messageid=?"; Object[] bindArgs = { "", message.getMessageId() }; daoHelper.update(sql, bindArgs); } public void updateRead(int i, MessageContent message) { Object[] bindArgs = { String.valueOf(i), message.getMessageId() }; String sql = "UPDATE messages SET IsRead = ?" + "WHERE messageid=?"; daoHelper.update(sql, bindArgs); } @Override public void deleteAccount() { String sql = "DELETE FROM curriculum"; daoHelper.delete(sql); } }