Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过sqlite helper将EditText中输入的浮点值插入android数据库_Android_Database - Fatal编程技术网

通过sqlite helper将EditText中输入的浮点值插入android数据库

通过sqlite helper将EditText中输入的浮点值插入android数据库,android,database,Android,Database,我对java和Android都是新手。。。 我试图寻找相同的问题,但我很抱歉,如果itz已经存在,因为我无法理解,如果有的话 这个问题与打字有关。。我是这么想的 public class Ingredients_Add extends Activity { EditText IngredientName=null; EditText IngredientQuantity=null; EditText IngredientUnit=null; EditText I

我对java和Android都是新手。。。 我试图寻找相同的问题,但我很抱歉,如果itz已经存在,因为我无法理解,如果有的话

这个问题与打字有关。。我是这么想的

public class Ingredients_Add extends Activity {

    EditText IngredientName=null;
    EditText IngredientQuantity=null;
    EditText IngredientUnit=null;
    EditText IngredientCost=null;
    MenuManagement_SQLHelper helper=null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);       
            setContentView(R.layout.ingredients_add);

        helper=new MenuManagement_SQLHelper(this);
        IngredientName=(EditText)findViewById(R.id.lnrAddIngredients_edtxtName);
        IngredientQuantity=(EditText)findViewById(R.id.lnrAddIngredients_edtxtQuantity);
        IngredientUnit=(EditText)findViewById(R.id.lnrAddIngredients_edtxtUnit);
        IngredientCost=(EditText)findViewById(R.id.lnrAddIngredients_edtxtCost);

        float IngredientQuantityfloat=Float.valueOf(IngredientQuantity.getText().toString());
        float IngredientCostfloat=Float.valueOf(IngredientCost.getText().toString()); 

        Button SaveIngredients=(Button)findViewById(R.id.lnrAddIngredients_btnSave);
        SaveIngredients.setOnClickListener(onSave);
    }
我在工作上有问题

IngredientQuantity=(EditText)findViewById(R.id.lnrAddIngredients_edtxtQuantity);
IngredientCost=(EditText)findViewById(R.id.lnrAddIngredients_edtxtCost);
这两个编辑框返回用户输入的浮点值

下面是我的onsave代码,用于单击按钮,它将值传递给 SQLHelper类在这里我将其命名为“MenuManagement\uSqlHelper”

以下代码适用于sqlhelper类:-

public class MenuManagement_SQLHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME="menu_management.db";
    private static final int SCHEMA_VERSION=1;

    public MenuManagement_SQLHelper(Context context) {
        super(context, DATABASE_NAME,null,SCHEMA_VERSION);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE tblIngredients (_id INTEGER PRIMARY KEY AUTOINCREMENT, Ingredient_name TEXT,Ingredient_quantity FLOAT,Ingredient_unit TEXT,Ingredient_cost FLOAT);");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

    public void insertIngredients(String IngredientName,Float IngredientQuantity,String IngredientUnit,Float Ingredientcost){
        ContentValues cv= new ContentValues();
        cv.put("IngredientName", IngredientName);
        cv.put("IngredientQuantity", IngredientQuantity);
        cv.put("IngredientUnit", IngredientUnit);
        cv.put("Ingredientcost", Ingredientcost);
        getWritableDatabase().insert("tblIngredients","IngredientName", cv);
    }
我面临的问题是:- IngredientQuantityfloat无法解析为变量 IngredientQuantityfloat无法解析为变量

浮点变量的问题来了。。。 前面是函数不匹配,因为我传递字符串,在sqlhelper中声明为float->“您必须将其转换为float”

在解析之后,现在它给出了

无法解析为变量

sdk信息(尽管不是必需的)


thnx提前

对我来说,这似乎是一个范围问题。您在活动的
onCreate
方法中定义了
IngredientQuantityfloat
,但您(可能)试图在OnClickListener(
onSave
?)中引用它

换句话说:
IngreditQuantityFloat
是本地声明的,只存在于onCreate方法中。如果要从活动的另一部分访问它,则需要将其设置为类变量/成员:

public class Ingredients_Add extends Activity {

    float IngredientQuantityfloat;
    EditText IngredientName=null;
    ...

    public void onCreate(Bundle savedInstanceState) {
       ...
       IngredientQuantityfloat=Float.valueOf(IngredientQuantity.getText().toString());
       ...
    }
}

我试着把每一件东西都当作字符串发送,而不用打字。。。为什么我们不需要像在其他语言中那样进行打字。。我还是个问题
 android:versionCode="1"
android:versionName="1.0" 
android:minSdkVersion="8"
public void onCreate(Bundle savedInstanceState) {
    ...
    float IngredientQuantityfloat=Float.valueOf(IngredientQuantity.getText().toString());
    ...
}

public void onClick(View v) {
    ...
    helper.insertIngredients(IngredientName.getText().toString(), IngredientQuantityfloat, IngredientUnit.getText().toString(), IngredientCostfloat);
    ...
}
public class Ingredients_Add extends Activity {

    float IngredientQuantityfloat;
    EditText IngredientName=null;
    ...

    public void onCreate(Bundle savedInstanceState) {
       ...
       IngredientQuantityfloat=Float.valueOf(IngredientQuantity.getText().toString());
       ...
    }
}