Android SQLite数据库应该使用什么

Android SQLite数据库应该使用什么,android,sqlite,Android,Sqlite,好吧,这就是我的困境。我刚开始在安卓系统中使用SQLite数据库,在安卓开发者网站上看到了。现在,我觉得这很酷,并在胡闹,直到我注意到Android Studio说一些代码被弃用 其中一个不推荐使用的代码是startManagingCursor。我决定进一步研究,发现了一种叫做带内容提供者的游标载入器的东西,所以我决定查找它们,似乎带内容提供者的游标载入器是一个更好的选择。问题是,我找不到一个像样的例子,它不会变得异常复杂。就像我说的,我刚开始学习这个,我不想坐在那里,花3个小时去弄明白别人的代

好吧,这就是我的困境。我刚开始在安卓系统中使用SQLite数据库,在安卓开发者网站上看到了。现在,我觉得这很酷,并在胡闹,直到我注意到Android Studio说一些代码被弃用

其中一个不推荐使用的代码是startManagingCursor。我决定进一步研究,发现了一种叫做带内容提供者的游标载入器的东西,所以我决定查找它们,似乎带内容提供者的游标载入器是一个更好的选择。问题是,我找不到一个像样的例子,它不会变得异常复杂。就像我说的,我刚开始学习这个,我不想坐在那里,花3个小时去弄明白别人的代码是怎么做的

那么,有没有好的教程或示例不会使本主题过于复杂,从而使我有机会学习它呢?

示例代码

package com.prgguru.example;
 
import java.util.ArrayList;
 
import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Toast;
 
public class SQLiteCrudExample  extends ListActivity {
    //DB name
    private final String dbName = "Android";
    //Table name
    private final String tableName = "Versions";
    //String array has list Android versions which will be populated in the list
    private final String[] versionNames= new String[]{"Cupcake", "Donut", "Eclair", "Froyo", "Gingerbread", "Honeycomb", "Ice Cream Sandwich", "Jelly Bean", "Kitkat"};
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ArrayList<String> results = new ArrayList<String>();
        //Declare SQLiteDatabase object
        SQLiteDatabase sampleDB = null;
         
        try {
            //Instantiate sampleDB object
            sampleDB =  this.openOrCreateDatabase(dbName, MODE_PRIVATE, null);
            //Create table using execSQL
            sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " + tableName +    " (versionname VARCHAR);");
            //Insert Android versions into table created
            for(String ver: versionNames){
                sampleDB.execSQL("INSERT INTO " + tableName + " Values ('"+ver+"');");
            }
             
            //Create Cursor object to read versions from the table
            Cursor c = sampleDB.rawQuery("SELECT versionname FROM " + tableName, null);
            //If Cursor is valid
            if (c != null ) {
                //Move cursor to first row
                if  (c.moveToFirst()) {
                    do {
                        //Get version from Cursor
                        String firstName = c.getString(c.getColumnIndex("versionname"));
                        //Add the version to Arraylist 'results'
                        results.add(firstName);
                    }while (c.moveToNext()); //Move to next row
                } 
            }
             
            //Set the ararylist to Android UI List
            this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));
             
        } catch (SQLiteException se ) {
            Toast.makeText(getApplicationContext(), "Couldn't create or open the database", Toast.LENGTH_LONG).show();
        } finally {
            if (sampleDB != null) {
                sampleDB.execSQL("DELETE FROM " + tableName);
                sampleDB.close();
            }
        }
    }
}
===

有一个示例源代码可供下载

也可以尝试以下链接:


否,如果您想要数据库,您仍然需要SQLiteDatabase。在这个阶段不要做ContentProvider和Loader,首先要做的是数据库,按照记事本教程进行操作。只回答链接,格式错误,没有解释。这种回答在这里不受欢迎。请投入更多的时间和解释…我喜欢vogella links的链接和示例。我想我已经开始掌握窍门了。