Java 来自SQLite的数据未显示
我有我的databasehelper、model和mainactivity,但数据仍然没有显示。我不知道我的代码中有什么错误或缺失 这是我使用DB Browser for sqlite浏览的数据sqlite DatabaseHelper.java 主要活动Java 来自SQLite的数据未显示,java,android,sqlite,Java,Android,Sqlite,我有我的databasehelper、model和mainactivity,但数据仍然没有显示。我不知道我的代码中有什么错误或缺失 这是我使用DB Browser for sqlite浏览的数据sqlite DatabaseHelper.java 主要活动 public类MainActivity扩展了AppCompatActivity{ 列表=新的ArrayList(); 数据库辅助数据库; 文本视图电视; @凌驾 创建时受保护的void(Bundle savedInstanceState){
public类MainActivity扩展了AppCompatActivity{
列表=新的ArrayList();
数据库辅助数据库;
文本视图电视;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db=新的DatabaseHelper(getApplicationContext());
tv=(TextView)findviewbyd(R.id.tv);
打印(db.getAllDoctorList());
}
私人作废打印(列表){
//TODO自动生成的方法存根
字符串值=”;
用于(DoctorModel dm:list){
value=value+“id:+dm.id+”,全名:+dm.full\u name+“性别:+dm.Gender+”\n;
}
tv.setText(值);
}
}
您忘记在getAllDoctorList()下的doctorArrayList
中添加DoctorModel对象
何时使用:私人作废打印(列表)?
不是在打开应用程序时
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DatabaseHelper(getApplicationContext());
tv = (TextView) findViewById(R.id.tv);
// ADD THIS LINE:
// NOW THIS WILL RUN WHEN OPENING/RUNNING THE APPLICATION
print(db.getAllDoctorList());
}
我将在哪里添加这个?对不起,我只是新来的programming@GemUbaldo在while循环下的getAllDoctorList()下
。请仔细核对我的答案我明白了对不起。。只是想问一下mainactivity.class中的代码是否已经正常了?谢谢you@GemUbaldo您从DB
哪里获得此列表?我的意思是你在哪里调用了getAllDoctorList()
?我的目标是在我的文本视图中显示id、全名、性别,这是mainactivity中的tv。。我尝试了一些教程,尤其是在我的主要活动中。抱歉,如果你不理解,但我希望你理解我的目标。我想在运行应用程序时显示它。我已经用谷歌搜索过了,我认为这段代码已经用于显示数据库中的列表,所以将其添加到onCreate()中:print(db.getAllDoctorList());我得到了这个错误“致命异常:主进程:com.example.jathniel.myapplication,PID:4539 java.lang.RuntimeException:无法启动活动组件信息{com.example.jathniel.myapplication/com.example.jathniel.myapplication.MainActivity}:android.database.sqlite.SQLiteException:没有这样的表:医生(代码1):,编译时:选择*FROM doctors“但doctors是数据库中表的正确名称
public class DoctorModel {
public int id;
public String full_name;
public String gender;
public DoctorModel(){
}
public DoctorModel(int id, String full_name, String gender) {
// TODO Auto-generated constructor stub
this.id = id;
this.full_name = full_name;
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFull_name() {
return full_name;
}
public void setFull_name(String full_name) {
this.full_name = full_name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
public class MainActivity extends AppCompatActivity {
List<DoctorModel> list = new ArrayList<DoctorModel>();
DatabaseHelper db;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DatabaseHelper(getApplicationContext());
tv = (TextView) findViewById(R.id.tv);
print(db.getAllDoctorList());
}
private void print(List<DoctorModel> list) {
// TODO Auto-generated method stub
String value = "";
for(DoctorModel dm : list){
value = value+"id: "+dm.id+", fullname: "+dm.full_name+" Gender: "+dm.gender+"\n";
}
tv.setText(value);
}
}
// looping through all rows and adding to list
if (c.moveToFirst()) {
do {
DoctorModel doctor = new DoctorModel();
doctor.id = c.getInt(c.getColumnIndex(KEY_ID));
doctor.full_name = c.getString(c.getColumnIndex(KEY_FULLNAME));
doctor.gender = c.getString(c.getColumnIndex(KEY_GENDER));
doctorsArrayList.add(doctor); // add Object in ArrayList
} while (c.moveToNext());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DatabaseHelper(getApplicationContext());
tv = (TextView) findViewById(R.id.tv);
// ADD THIS LINE:
// NOW THIS WILL RUN WHEN OPENING/RUNNING THE APPLICATION
print(db.getAllDoctorList());
}