thieumao

android.vn 3 - Bài 14

Oct 23rd, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. thanh long (flag:vn) ----- Bài 14 -----
  2. Bài học hôm nay Long sẽ hướng dẫn các bạn cách khởi tạo một database
  3. sử dụng SQLite
  4. 1) Cũng như trên OS của iphone, Android cũng được gắn một chuẩn chương trình gọi là "sqlite3" dùng để:
  5. - Khởi tạo mới 1 database
  6. - Xác định các table trong SQL
  7. - Các truy vấn (queries)
  8. - Views
  9. - Thủ tục (triggers)
  10. - Chèn dòng trong table
  11. - Xóa dòng table
  12. - Cập nhật dòng table
  13. - Chạy truy vấn quản lý một tập tin database của SQLite
  14. 2) Sử dụng SQLite
  15. - SQLite thực hiện đầy đủ chuẩn SQL-92 của SQL (chuẩn SQL-92 nếu rảnh có thể tự tìm hiểu)
  16. - Nó có hỗ trợ việc chạy triggers và cho phép hầu hết các truy vấn phức tạp
  17. - SQLite không thực hiện các ràng buộc toàn vẹn tham chiếu thông qua mô hình ràng buộc khoá ngoại
  18. - SQLite sử dụng một mô hình dữ liệu đánh máy thoải mái.
  19. 3) Các chú ý:
  20. - Trong các ứng dụng thực tế, phải chú ý tới việc chia sẽ dữ liệu. Ví dụ như người dùng này không thể truy cập xem dữ liệu người khác được ...
  21. - Chú ý gắn cờ khi muốn đăng ký việc viết dữ liệu vào data
  22. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  23. 4) Kiểm tra database khởi tạo thành công:
  24. - Các bạn hãy vào DDMS và theo đường dẫn sau:
  25. data/data/<tên package lúc khởi tạo ứng dụng>/databases/
  26. - Ở đây nếu có tập tin database như tên bạn đặt là đã khởi tạo thành công, có thể kiểm tra ngày giờ lúc khởi tạo nằm ngay ở phía bên phải của tập tin database
  27. - Hướng dẫn cách xem dữ liệu trong database
  28. Phần 1: http://android.vn/threads/24934/
  29. ---------------------------------------
  30. Trong phần trước Long đã hướng dẫn cách khởi tạo 1 database SLQite trong một ứng dụng android (http://android.vn/threads/24934/). Và hôm nay cũng là 1 bài ví dụ tiếp theo của phần 1 hướng dẫn các bạn cách cập nhật lại dữ liệu trong CSDL, xóa dữ liệu, xóa toàn bộ dữ liệu, truy vấn dữ liệu với các câu lệnh SQL.
  31. Để giúp các bạn dễ hiểu hơn, mời các bạn xem ví dụ trước nhé
  32. sau đó Long sẽ hướng dẫn code
  33. Hướng dẫn sử dụng SQLite làm database trong lập trình ứng dụng Android (Phần 2) - http://android.vn/threads/25151/
  34. ---------------------------------
  35. Các bạn chú ý vào class MyDatabase.java cho nhé
  36. ở đó Long có viết sẵn các hàm rồi
  37. - Hàm cập nhật tên người dùng với đầu vào là acc, mật khẩu và tên cần thay đổi
  38. public boolean setNameHienThi(String acc,String mk,String data){
  39. ContentValues cv = new ContentValues();
  40. cv.put(COLUMN_NAME,data);
  41. long kq = db.update(TABLE_ACCOUNT,cv,COLUMN_ACC+"='"+acc+"'", null);
  42. if (kq==0)
  43. return false;
  44. else
  45. return true;
  46. }
  47. - Hàm xóa một tài khoản với đối số đầu vào là acc cần xóa
  48. public int deleteAcc(String acc) {
  49. return db.delete(TABLE_ACCOUNT, COLUMN_ACC + "='" + acc + "'", null);
  50. }
  51. - Hàm xóa toàn bộ table ACCOUNT
  52. public int deleteAccountAll() {
  53. return db.delete(TABLE_ACCOUNT, null, null);
  54. }
  55. - Hàm thưc hiện truy vấn - kiểm đăng nhập với đối số đầu vào là tên acc và mật khẩu
  56. public boolean kiemTraLogin(String acc,String mk){
  57. Cursor c = db.rawQuery("select * from "+TABLE_ACCOUNT+" where "+COLUMN_ACC+" = ? and "+COLUMN_PASSWORD+" = ?", new String[] { acc,mk });
  58. if(c.getCount()==1){
  59. c.close();
  60. return true;
  61. }else{
  62. c.close();
  63. return false;
  64. }
  65. }
  66. - Hàm lấy về chuỗi String là tên của tài khoản với đối số đầu vào là acc và mật khẩu
  67. public String getNameHienThi(String acc,String mk) {
  68. Cursor c = db.rawQuery("select * from "+TABLE_ACCOUNT+" where "+COLUMN_ACC+" = ? and "+COLUMN_PASSWORD+" = ?", new String[] { acc,mk });
  69. String data = "";
  70. if(c.getCount()==1){
  71. int i = c.getColumnIndex(COLUMN_NAME);
  72. c.moveToFirst();
  73. data=c.getString(i);
  74. c.close();
  75. return data;
  76. }else{
  77. c.close();
  78. return "Ko Gi Ca";
  79. }
  80. }
  81. [10:26:08 PM] thanh long: -------------- Hết ----------------
Advertisement
Add Comment
Please, Sign In to add comment