Я хочу получить данные из папки активов, чтобы предупредить список диалогов через запрос курсора? - PullRequest
0 голосов
/ 29 мая 2019

Я создал диалоговое окно предупреждения со списком, но я хочу отобразить данные из столбца базы данных в этот список. Я скопировал файл базы данных в папку активов Хотите написать это с помощью курсора Query

DataProvider.java

public class DataProvider {

  Context context;
  SQLiteDatabase db;

public DataProvider(Context context)
{
    this.context=context;
}
public Cursor getRowCrop(String condition,String sortOrder,String groupBy,String having)
{
    try {
        File f=new File(context.getCacheDir(), "Schedule.db.");
        if(f.exists()) {
            db = SQLiteDatabase.openDatabase(f.getAbsolutePath(), null, SQLiteDatabase.OPEN_READONLY);
        }else{
            String str="";}
        return db.query("RowCrop",null,condition,null,groupBy,having,sortOrder);
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    return null;
}
public Cursor getOrchards(String condition,String sortOrder,String groupBy,String having)
{
    try {
        File f=new File(context.getCacheDir(), "Schedule.db");
        if(f.exists()) {
            db = SQLiteDatabase.openDatabase(f.getAbsolutePath(), null, SQLiteDatabase.OPEN_READONLY);
        }else{
            String str="";}
        return db.query("getOrchards",null,condition,null,groupBy,having,sortOrder);
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    return null;

2. Курсор для связанного кода

private Cursor getRowCrop(String condition, String sortOrder, String groupBy, String having)
{
    final DataProvider provider = new DataProvider(getActivity());

    return provider.getRowCrop(condition, sortOrder, groupBy, having);


}

private Cursor getOrchards(String condition, String sortOrder, String groupBy, String having)
{
    final DataProvider provider = new DataProvider(getActivity());
    return provider.getOrchards(condition, sortOrder, groupBy, having);
}

3.Для базы данных:

private void copyAssetsToCacheDir(Context context) {

    InputStream in = null;
    OutputStream out = null;
    String filename="Schedule.db";
    try {
        in=context.getAssets().open("Schedule.db");
        File outFile = new File(context.getCacheDir(), filename);
        out = new FileOutputStream(outFile);
        copyFile(in,out);
    } catch(Exception e) {
        e.printStackTrace();
    }
    finally {
        if (in != null) {
            try {
                in.close();
            } catch (IOException e) {
                // NOOP
            }
        }
        if (out != null) {
            try {
                out.close();
            } catch (IOException e) {
                // NOOP
            }
        }
    }

}
private void copyFile(InputStream in, OutputStream out) throws IOException {
    byte[] buffer = new byte[1024];
    int read;
    while((read = in.read(buffer)) != -1){
        out.write(buffer, 0, read);
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...