package net.basilwang.dao; import java.util.ArrayList; import java.util.List; import net.basilwang.entity.Account; import android.content.Context; import android.database.Cursor; public class AccountService implements IDAOService { private DAOHelper daoHelper; public AccountService(Context context) { this.daoHelper = new DAOHelper(context); } public int save(Account account) { String sql = "INSERT INTO accounts (name,userno,password,url,ishttps) VALUES (?, ?,?,?,?)"; Object[] bindArgs = { account.getName(), account.getUserno(), account.getPassword(), account.getUrl(), account.getIshttps(), }; daoHelper.insert(sql, bindArgs); return 0; } public void update(Account account) { String sql = "update accounts set name=?,userno=?,password=?,url=?,ishttps=? where _id=? "; Object[] bindArgs = { account.getName(), account.getUserno(), account.getPassword(), account.getUrl(), account.getIshttps(), account.getId() }; daoHelper.update(sql, bindArgs); } public List<Account> getAccounts() { String sql = "select _id,name,userno,password,url,ishttps from accounts "; Cursor result = daoHelper.query(sql, null); List<Account> list = new ArrayList<Account>(); while (result.moveToNext()) { Account account = new Account(); account.setId(result.getInt(result.getColumnIndex("_id"))); account.setName(result.getString(result.getColumnIndex("name"))); account.setUserno(result.getString(result.getColumnIndex("userno"))); account.setUrl(result.getString(result.getColumnIndex("url"))); account.setPassword(result.getString(result .getColumnIndex("password"))); list.add(account); } daoHelper.closeDB(); return list; } public int getAccountCount(){ String sql="select count(userno) from accounts"; Cursor result=daoHelper.query(sql, null); int i=0; while(result.moveToNext()){ i=result.getInt(0); } daoHelper.closeDB(); return i; } public Account getAccountByName(String name) { Account account = new Account(); String sql = "select _id,name,userno,password,url,ishttps from accounts where name=? "; String[] bindArgs = { name }; Cursor result = daoHelper.query(sql, bindArgs); if (result.moveToNext()) { account.setId(result.getInt(result.getColumnIndex("_id"))); account.setName(result.getString(result.getColumnIndex("name"))); account.setUserno(result.getString(result.getColumnIndex("userno"))); account.setUrl(result.getString(result.getColumnIndex("url"))); account.setPassword(result.getString(result .getColumnIndex("password"))); } daoHelper.closeDB(); return account; } public Account getAccountById(int accountId) { Account account = new Account(); String sql = "select _id,name,userno,password,url,ishttps from accounts where _id=? "; String[] bindArgs = { String.valueOf(accountId) }; Cursor result = daoHelper.query(sql, bindArgs); if (result.moveToNext()) { account.setId(result.getInt(result.getColumnIndex("_id"))); account.setName(result.getString(result.getColumnIndex("name"))); account.setUserno(result.getString(result.getColumnIndex("userno"))); account.setUrl(result.getString(result.getColumnIndex("url"))); account.setPassword(result.getString(result .getColumnIndex("password"))); } daoHelper.closeDB(); return account; } @Override public void deleteAccount() { String sql = "DELETE FROM accounts"; daoHelper.delete(sql); } }