Giới thiệu sqlite android là gì, hướng dẫn lập trình android với database sqlite

      79
Kchất hóa học Lập trình Lập trình Android Kchất hóa học lập trình Android cơ bản Lưu trữ dữ liệu với SQLite (Thực hành)

Dẫn nhập

Ở những bài học kinh nghiệm trước, chúng ta vẫn cùng mọi người trong nhà TÌM HIỂU VỀ SQLITE, con trỏ và các lớp Java thao tác làm việc với SQLite vào Android. Tuy nhiên toàn bộ mới chỉ với kim chỉ nan.

Bạn đang xem: Giới thiệu sqlite android là gì, hướng dẫn lập trình android với database sqlite

Trong bài học này, bọn họ sẽ thực hành làm cho một áp dụng lưu lại thương hiệu với xóa thương hiệu đơn giản.

Nội dung

Để hiểu gọi bài này tốt nhất các bạn đề nghị gồm kiến thức cơ bạn dạng về các phần:

Sẵn sàng để thực hành code.

Trong bài học này, họ vẫn thuộc khám phá những vấn đề:

Viết một vận dụng sử dụng SQLite.Truy cập lệ database bằng ứng dụng mặt đồ vật 3.

Viết vận dụng cơ bản áp dụng SQLite

Trong phần này chúng ta thuộc điểm qua về DAO (Data Access Object). DAO tất cả trọng trách cách xử trí kết nối cùng với Database để truy cập với chỉnh sửa tài liệu. DAO cũng đều có trách nhiệm biến đổi trường đoản cú đối tượng người sử dụng trong database thành đối tượng người dùng Java khớp ứng.

Tuy nhiên thực hiện DAO chưa phải cơ hội nào cũng hợp lí. Đôi khi dùng trực tiếp thẳng vào database, hoặc áp dụng Content Provider thì xuất sắc rộng (bởi vì đỡ phải khởi tạo model).

Xem thêm: Uac Là Gì Và Bạn Có Nên Tắt Nó Đi Hay Không ? Cách Bật / Tắt Uac Trên Windows 10, 8, 7

Bước 1: Tạo project cùng với những công bố nhỏng hình mẫu vẽ (tên là SQLiteEx):

*

Và chọn nút API 13:

*

Cách 2: Tạo lớp HowkSQLiteHelper kế thừa từ SQLiteOpenHelper:

HowkSQLiteHelper.java

package com.gocnhintangphat.com.sqliteex;import apk.content.Context;import game android.database.sqlite.SQLiteDatabase;import app android.database.sqlite.SQLiteOpenHelper;import android.util.Log;public class HowkSQLiteHelper extends SQLiteOpenHelper public static final String TABLE_PEOPLE = "people"; public static final String COLUMN_ID = "_id"; public static final String COLUMN_PERSON = "person"; private static final String DATABASE_NAME = "people.db"; private static final int DATABASE_VERSION = 1; // Câu lệnh khởi chế tạo ra Database. private static final String DATABASE_CREATE = "create table " + TABLE_PEOPLE + "( " + COLUMN_ID + " integer primary key autoincrement, " + COLUMN_PERSON + " text not null);"; public HowkSQLiteHelper(Context context) super(context, DATABASE_NAME, null, DATABASE_VERSION);
Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) Log.w(HowkSQLiteHelper.class.getName(), "Upgrading database from version " + oldVersion + " khổng lồ " + newVersion + ", which will destroy all old data"); db.execSQL("DROPhường TABLE IF EXISTS " + TABLE_PEOPLE); onCreate(db); Lớp SQLiteOpenHelper này còn có tác dụng quan niệm những câu truy vấn vấn, cũng tương tự làm cho nền móng mang lại câu hỏi tiếp xúc với SQLite. Nlỗi chúng ta vẫn thấy, chúng ta bao gồm truy hỏi vấn nhằm chế tạo bảng: (DATABASE_CREATE), cùng tên các cột, bảng, file database.

Đồng thời sinh sản class Person.java

package com.gocnhintangphat.com.sqliteex;public class Person private long id; private String name; public long getId() return id; public void setId(long id) this.id = id; public String getName() return name; public void setName(String comment) this.name = comment; // Will be used by the ArrayAdapter in the ListView
Override public String toString() return name; Bước 3: Tạo lớp PeopleDataSource. Lớp này sẽ không thừa kế từ đâu cả, nhưng mà chỉ có trọng trách xử trí dữ liệu tự Database nhờ việc hỗ trợ của lớp Helper phía bên trên, cùng cất các phương thức để lấy tài liệu ra dạng Java object:

package com.gocnhintangphat.com.sqliteex;import android.content.ContentValues;import app android.nội dung.Context;import android.database.Cursor;import apk.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.util.Log;import java.util.ArrayList;import java.util.List;public class PeopleDataSource // Các ngôi trường database. private SQLiteDatabase database; private HowkSQLiteHelper dbHelper; private String<> allColumns = HowkSQLiteHelper.COLUMN_ID, HowkSQLiteHelper.COLUMN_PERSON; public PeopleDataSource(Context context) dbHelper = new HowkSQLiteHelper(context); public void open() throws SQLException database = dbHelper.getWritableDatabase(); public void close() dbHelper.close(); public Person createPerson(String pName) ContentValues values = new ContentValues(); values.put(HowkSQLiteHelper.COLUMN_PERSON, pName); long insertId = database.insert(HowkSQLiteHelper.TABLE_PEOPLE, null, values); Cursor cursor = database.query(HowkSQLiteHelper.TABLE_PEOPLE, allColumns, HowkSQLiteHelper.COLUMN_ID + " = " + insertId, null, null, null, null); cursor.moveToFirst(); Person newPerson = cursorToPerson(cursor); cursor.close(); return newPerson; public void deletePerson(Person p) long id = p.getId(); Log.e("SQLite", "Person entry deleted with id: " + id); database.delete(HowkSQLiteHelper.TABLE_PEOPLE, HowkSQLiteHelper.COLUMN_ID + " = " + id, null); public List getAllPeople() List people = new ArrayList(); Cursor cursor = database.query(HowkSQLiteHelper.TABLE_PEOPLE, allColumns, null, null, null, null, null); cursor.moveToFirst(); while (!cursor.isAfterLast()) Person person = cursorToPerson(cursor); people.add(person); cursor.moveToNext(); // Nhớ đóng góp bé trỏ lại nhé. cursor.close(); return people; private Person cursorToPerson(Cursor cursor) Person person = new Person(); person.setId(cursor.getLong(0)); person.setName(cursor.getString(1)); return person; Cách 4: Quay lại sửa tệp tin activity_main.xml lại như sau:

Cách 5: Chỉnh sửa lại lớp MainActivity, thừa kế đến nó từ bỏ ListActivity và thực hiện đổ dữ liệu:

package com.gocnhintangphat.com.sqliteex;import apk.ứng dụng.ListActivity;import app android.os.Bundle;import android.view.View;import app android.widget.ArrayAdapter;import java.util.List;import java.util.Random;public class MainActivity extends ListActivity private PeopleDataSource datasource;
Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datasource = new PeopleDataSource(this); datasource.open(); List values = datasource.getAllPeople(); // use the SimpleCursorAdapter to show the // elements in a ListView ArrayAdapter adapter = new ArrayAdapter(this, app android.R.layout.simple_list_item_1, values); setListAdapter(adapter); // Tạo sự kiện lúc clichồng vào những nút vào activity_main.xml public void onClick(View view)
SuppressWarnings("unchecked") ArrayAdapter adapter = (ArrayAdapter) getListAdapter(); Person person = null; switch (view.getId()) // Thêm người vào list. case R.id.add: String<> people = new String<>"Alice", "Bob", "Mallory"; int nextInt = new Random().nextInt(3); person = datasource.createPerson(people); adapter.add(person); break; // Xóa fan trước tiên khỏi danh sách. case R.id.delete: if (getListAdapter().getCount() > 0) person = (Person) getListAdapter().getItem(0); datasource.deletePerson(person); adapter.remove(person); break; adapter.notifyDataSetChanged();
Override protected void onPause() datasource.close(); super.onPause(); Ở đây bản thân xin phân tích và lý giải một chút:

Chúng ta tạo nên một mảng bao gồm 3 phần tử: Alice, Bob cùng Mallory. Mỗi Lúc nhấn nút Add thì đã thêm tự dưng một trong các 3 bộ phận này vào list.Lúc thừa nhận Delete thì list đang vứt thành phần thứ nhất.Sau Lúc tắt ứng dụng, nhảy lại, vận dụng vẫn đang load list nlỗi thông thường. Đó là do nó đã được lưu giữ trong SQLite rồi.

Chạy ứng dụng, với chúng ta có:

*

Cách 6: Bước này chỉ giành cho hồ hết sản phẩm đang root .Các chúng ta có thể thực hiện một phầm mềm kế bên nlỗi SQLite Editor nhằm vọc sâu vào vào phầm mềm SQLiteEx, các bạn sẽ thấy có tệp tin db được tạo thành cùng những bảng tương ứng:

*

Kết luận

Qua bài xích này họ sẽ cụ được Cách thực hiện SQLite, những viết lệnh tầm nã vấn, và rước dữ liệu tự vào database.

Bài sau bọn họ vẫn THỰC HÀNH SQLITE VỚI SUGARORM

Cảm ơn chúng ta đang theo dõi và quan sát bài viết. Hãy để lại comment hoặc góp ý của mình để trở nên tân tiến nội dung bài viết xuất sắc hơn. Đừng quên “Luyện tập – Thử thách – Không mắc cỡ khó”.

Tải xuống


Tài liệu

Nhằm ship hàng mục đích học hành Offline của xã hội, Kteam cung cấp nhân kiệt tàng trữ câu chữ bài học kinh nghiệm Lưu trữ dữ liệu với SQLite (Thực hành) bên dưới dạng file PDF vào liên kết bên dưới.

Bên cạnh đó, bạn có thể search thấy các tư liệu được góp sức từ cộng đồng sống mục TÀI LIỆU bên trên thư viện gocnhintangphat.com.com

Đừng quên likeshare để cỗ vũ Kteam với tác giả nhé!

*

Thảo luận

Nếu chúng ta có bất kỳ khó khăn xuất xắc thắc mắc gì về khóa huấn luyện và đào tạo, đừng ngần ngại đặt thắc mắc vào phần BÌNH LUẬN dưới hoặc trong mục HỎI và ĐÁP trên thư viện gocnhintangphat.com.com nhằm nhận thấy sự cung ứng từ cộng đồng.