如何在android中从sqlite数据库中检索数据

如何在android中从sqlite数据库中检索数据,android,sqlite,Android,Sqlite,我有一个主活动,其中有insertrecipe按钮。当用户单击按钮时,另一个活动将开始使用intent,并将从mainactivity转到insertrecipe,用户将看到一个文本字段,他可以在其中键入文本,还可以单击submit按钮。当用户输入文本并按下提交按钮时,该文本应输入数据库,同时从数据库中检索当前存在的所有配方 当用户按下insertrecipe按钮时,将调用以下活动: import mad.project.R; import android.app.Activity; impor

我有一个主活动,其中有insertrecipe按钮。当用户单击按钮时,另一个活动将开始使用intent,并将从mainactivity转到insertrecipe,用户将看到一个文本字段,他可以在其中键入文本,还可以单击submit按钮。当用户输入文本并按下提交按钮时,该文本应输入数据库,同时从数据库中检索当前存在的所有配方

当用户按下insertrecipe按钮时,将调用以下活动:

import mad.project.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class InsertRecipeActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.insertrecipe);

    final EditText RecipeBox = (EditText) findViewById(R.id.RecipeBox);
    Button submit_button = (Button) findViewById(R.id.SubmitRecipe);

    final DatabaseHelper db = new DatabaseHelper(this); 


    submit_button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
    String Recipe_Box = RecipeBox.getText().toString();
    db.Insert_Recipe_Into_DB(Recipe_Box);
    Intent mi = new Intent(InsertRecipeActivity.this, ShowRecipeActivity.class);
     startActivity(mi);
}
    });

}
}

在上述活动中,我使用db将配方输入数据库。将配方插入到配方框中;然后调用另一个活动showrecipeactivity,其代码如下:

  public class ShowRecipeActivity extends ListActivity{

public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     final DatabaseHelper db = new DatabaseHelper(this);
     String [] recipe ;
     String b="                     Recipe ";
     recipe= db.get_recipe();
     if((recipe==null) )
     {Toast.makeText(getApplication(), "Menu didn't selected",               Toast.LENGTH_SHORT).show();         
     }
     int b_len = recipe.length;
     int total=b_len+1;

     String [] todaymenu = new String[total];
     todaymenu[0]=b;
     for(int i = 1;i<=b_len;i++)
     {
         todaymenu[i]=recipe[i-1];
     }

     this.setListAdapter(new ArrayAdapter<String>(this,R.layout.show_recipe, R.id.Today ,todaymenu));

}
}


但此活动不起作用,我的意思是当我按下提交按钮时,错误显示Forceclose。有人能帮我吗。我的数据库表只有一个文本类型的字段。

youtube上的NewBoston频道有关于Android的教程,其中一些教程介绍了使用sqllite

教程111-124涵盖了您需要了解的关于SQLlite的所有内容。在他的一个应用程序中,您可以在其中输入数据、检索、更新和删除,因此它们对您应该非常有用。这些视频也不太长,他详细解释了它们


我希望他的视频能帮上忙,它们确实帮了我很多。

你能添加logcat的内容吗?什么是logcat?你能告诉我这个文件在哪里吗?Logcat是用来定义Android及其应用程序的日志输出的术语。在您的开发环境中,您可以从命令行adb logcat中键入命令,使输出直接进入控制台,但是您可能更习惯于使用eclipse。您可以通过进入Window->Show View->Other…->Android->logcat来启用底部的选项卡。或者,在运行应用程序的同时,您还可以打开DDMS的“更多信息”窗口->打开透视->其他…->DDMS。它应该告诉你为什么它是强制关闭的。