Я создал диалоговое окно предупреждения со списком, но я хочу отобразить данные из столбца базы данных в этот список.
Я скопировал файл базы данных в папку активов
Хотите написать это с помощью курсора 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);
}
}
}