日期:2014-05-16 浏览次数:20500 次
MainActivity如下:
package cc.testdb; import java.util.List; import cc.database.DBUtils; import cc.domain.Person; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.app.Activity; /** * Demo描述: * SQLite数据操作 * * 参考资料: * http://blog.csdn.net/lfdfhl/article/details/8195378 * */ public class MainActivity extends Activity { private DBUtils mDBUtils; private Button mAddButton; private Button mQueryButton; private Button mUpdateButton; private Button mDeleteButton; private Button mCountButton; private Button mPageButton; private Button mTransactionButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); init(); } private void init(){ mAddButton=(Button) findViewById(R.id.addButton); mAddButton.setOnClickListener(new ClickListenerImpl()); mQueryButton=(Button) findViewById(R.id.queryButton); mQueryButton.setOnClickListener(new ClickListenerImpl()); mUpdateButton=(Button) findViewById(R.id.updateButton); mUpdateButton.setOnClickListener(new ClickListenerImpl()); mDeleteButton=(Button) findViewById(R.id.deleteButton); mDeleteButton.setOnClickListener(new ClickListenerImpl()); mCountButton=(Button) findViewById(R.id.countButton); mCountButton.setOnClickListener(new ClickListenerImpl()); mPageButton=(Button) findViewById(R.id.pageButton); mPageButton.setOnClickListener(new ClickListenerImpl()); mTransactionButton=(Button) findViewById(R.id.transactionButton); mTransactionButton.setOnClickListener(new ClickListenerImpl()); } //注意: //每次都生成新的mDBUtils, //因为每次数据库操作都需要一个新的openHelper //参见DBUtils类构造方法便知 private class ClickListenerImpl implements OnClickListener { Person person=null; @Override public void onClick(View v) { mDBUtils=new DBUtils(MainActivity.this); switch (v.getId()) { case R.id.addButton: for (int i = 0; i < 15; i++) { person=new Person("xiaoming"+i, "9527"+i); mDBUtils.add(person); } break; case R.id.queryButton: person=mDBUtils.query(5); System.out.println(person); break; case R.id.updateButton: person=mDBUtils.query(1); System.out.println("修改前:"+person); person=new Person(1, "xx", "1234"); mDBUtils.update(person); person=mDBUtils.query(1); System.out.println("修改后:"+person); break; case R.id.deleteButton: mDBUtils.delete(2); break; case R.id.countButton: int count=mDBUtils.count(); System.out.println("数据总量为:"+count); break; case R.id.pageButton: List<Person> list=mDBUtils.page(4, 9); for (int i = 0; i < list.size(); i++) { person=list.get(i); System.out.println("分页的数据:"+person); } break; case R.id.transactionButton: person=new Person(1, "ccc", "8888"); mDBUtils.transaction(person); person=mDBUtils.query(1); System.out.println("事务操作后:"+person); break; default: break; } } } }
DBUtils如下:
package cc.database; import java.util.ArrayList; import java.util.List; import cc.domain.Person; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class DBUtils { private DataBaseOpenHelper openHelper; public DBUtils(Context co