Đoạn code để thêm dữ liệu và sqlite và cách sử dụng dữ liệu từ sql lite

em có đoạn code như này

public class MainActivity extends AppCompatActivity {
          String DATABASE_NAME="Song.sqlite";
         String DB_PATH_SUFFIX = "/databases/";
         SQLiteDatabase database=null;
private void CopyDataBaseFromAsset() {
        try
        {
            InputStream myInput=getAssets().open(DATABASE_NAME);
            String outFileName=layDuongDanLuutru();
            File f = new File(getApplicationInfo().dataDir + DB_PATH_SUFFIX);
            if(!f.exists())// nếu ko tồn tại thì tạo mới mà có rồi thì thôi
            {
                f.mkdir();
            }
            OutputStream myOutput = new FileOutputStream(outFileName);
            byte[] buffer = new byte[1024];
            int length;
            while ((length = myInput.read(buffer)) > 0)
            {
                myOutput.write(buffer, 0, length);
            }
            myOutput.flush();
            myOutput.close();
            myInput.close();
        }catch (Exception ex)
        {
            Log.e("loi sao chep",ex.toString());
        }
    }
private void xuLySaoChep() {// hàm này dùng để copy sqllite từ assets vào hệ thông
        File dbFile = getDatabasePath(DATABASE_NAME);
        if (!dbFile.exists())
        {
            try
            {
                CopyDataBaseFromAsset();
                Toast.makeText(this, "Copying sucess from Assets folder", Toast.LENGTH_LONG).show();
            }catch(Exception ex)
            {
                Toast.makeText(this, ex.toString(), Toast.LENGTH_LONG).show();
            }
        }
    }

}

em có hai câu hỏi muốn hỏi là làm sao mình tạo ra một thứ gì đó .Ở mọi dự án mình làm có thể dùng luôn hay hàm này chứ ko phải copy paste vào .Thứ hai là có cách nào viết tối ưu hơn ko ạ .Chúc tất cả anh em trên diễn đàn một kỳ nghỉ vui vẻ

Do là người “khoái xài orm framework” nên qua Android mình chọn ormlite chứ không đụng đến code của SQLite Android nữa
Đánh đổi sự đơn giản khi query là hiệu năng
Hoặc bạn có thể sử dụng thư viện SQLite có sẵn trong Android

sqlite thì tôi biết dùng cơ bản rồi nhưng có cách nào để mỗi một pj đều có hai hàm này mà mình chỉ việc gọi không hay vẫn phải viết lại

Thì bác trên nói đúng rồi đó, sài 1 cái ORM nó trừu tượng hóa quá trình phát triển bằng viết tay

Viết một cái class cho 2 method đó, coi nó là Utility, Lib
Gọi nói chỉ cần tạo đối tượng của class rồi gọi method thôi

Nếu bác sử dụng 2 method này cho nhiều project, bác có thể tạo Java Library, copy 2 method này vào một class, sau đó build ra file jar. Sau đó vào project copy file jar đó vào thư mục app/libs, nhấn chuột phải vào file jar vừa copy chọn Add as Library là OK
Link: https://stackoverflow.com/questions/25660166/how-to-add-a-jar-in-external-libraries-in-android-studio

Do thấy bác đặt tiêu đề là sử dụng SQLite trong khi chả thấy dòng SQLite nào nên mới bảo bác xem SQLite thôi :smile:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?