Java Android Sqlite将两个表查询到一个arraylist中

Java Android Sqlite将两个表查询到一个arraylist中,java,android,sqlite,Java,Android,Sqlite,我有以下情况: Android sqlite数据库有两个表: 表1--1:N--2 表1 - int id (PK) - text field2 - text field3 - text field N… 表2 内部id(主键) int t1_id(FK) 实景3 实数域N 接下来,我将介绍以下Android java结构: Class Table1 { int id; String field2; String field3; String fieldN…; ArrayList<

我有以下情况:

  • Android sqlite数据库有两个表:

    表1--1:N--2

表1

- int id (PK)
- text field2
- text field3
- text field N…
表2

  • 内部id(主键)
  • int t1_id(FK)
  • 实景3
  • 实数域N
接下来,我将介绍以下Android java结构:

Class Table1 {
int id;
String field2;
String field3;
String fieldN…;
ArrayList<Table2> atable2;
}

Class Table2 {
int id;
int t1_id;
double field3;
double fieldN…;
}

public ArrayList<Table1> atable1 = new ArrayList<Table1>();
问题是arraylist atable1中的arraylist atable2必须根据表2中的字段t1_id(table2.t1_id=table1.id)进行选择

所以任何人都可以帮助我构建一种高效的查询形式(针对Android sqlite)来获取这些数据,包括来自表2的数据

提前谢谢

致以最良好的祝愿


PS

在移动设备上,没有有效的方式将350000条记录加载到内存中

但是您不需要这样做,因为您将无法同时在屏幕上显示所有这些内容


将应用程序更改为仅动态加载屏幕上当前可见对象的数据。

您将使用什么查询?为什么这对您来说不够有效?首先,我得到了所有区域:openDatabase();Cursor cur=myDataBase.rawQuery(“从table1“+”中选择*,其中table1.field2类似“意大利”,null);然后将所有记录复制到arraylist atable1下一步,我做一个for循环以获取atable1:openDatabase()中的atable2 arraylist for(int I=0;Iselect * from table1 where table1.field2 = ‘Italy’;