Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Android 对多个活动使用相同的SQLite数据库_Android_Sqlite_Listview_Android Activity_Android Lifecycle - Fatal编程技术网

Android 对多个活动使用相同的SQLite数据库

Android 对多个活动使用相同的SQLite数据库,android,sqlite,listview,android-activity,android-lifecycle,Android,Sqlite,Listview,Android Activity,Android Lifecycle,我是Android新手,正在尝试构建一个食品订购应用程序,我在结帐页面遇到了问题,其中一个数据库应该接收来自6个不同活动的数据,但是它只接收来自启动的第一个活动的数据,而其他所有活动都失败了。有人能告诉我怎么处理吗?提前感谢大家 public class BaconBurgerActivity extends Activity { ImageView bacon_burger; TextView bacon_burger_txt; TextView bacon_burg

我是Android新手,正在尝试构建一个食品订购应用程序,我在结帐页面遇到了问题,其中一个数据库应该接收来自6个不同活动的数据,但是它只接收来自启动的第一个活动的数据,而其他所有活动都失败了。有人能告诉我怎么处理吗?提前感谢大家

public class BaconBurgerActivity extends Activity
{

    ImageView bacon_burger;
    TextView bacon_burger_txt;
    TextView bacon_burger_price;
    TextView bacon_burger_qty;
    Spinner bacon_burger_spinner;
    Button bb_add_btn;
    Button bb_menu_btn;
    TextView bacon_burger_combo;
    TextView bacon_burger_juices;
    TextView bacon_burger_sides;
    TextView bacon_burger_combo_qty;
    Button bacon_burger_combo_add;
    Spinner bacon_burger_juice_spinner;
    ArrayAdapter<CharSequence> bacon_burger_juice_adapter;
    Spinner bacon_burger_side_spinner;
    ArrayAdapter<CharSequence> bacon_burger_side_adapter;
    Spinner bacon_burger_combo_qty_spinner;
    Context ctx = this;
    SQLiteDatabase db;



@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bacon_burger_layout);
   //Bacon Burger Image and Text View
    bacon_burger=(ImageView)findViewById(R.id.bb_main);
    bacon_burger_txt=(TextView)findViewById(R.id.bb_text);
    bacon_burger_price=(TextView)findViewById(R.id.bb_price);
    bacon_burger_qty=(TextView)findViewById(R.id.bb_qty);
    //Bacon Burger Spinner
    Integer[] options = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    bacon_burger_spinner=(Spinner)findViewById(R.id.bb_spinner);
    ArrayAdapter<Integer> bacon_burger_adapter =new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,options);
    bacon_burger_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    bacon_burger_spinner.setAdapter(bacon_burger_adapter);

    //Bacon Burger Buttons
    bb_add_btn=(Button)findViewById(R.id.bb_add);
    bb_menu_btn=(Button)findViewById(R.id.bb_back);

    //Combo Image and Text View
    bacon_burger_combo=(TextView)findViewById(R.id.bb_combo);
    bacon_burger_juices=(TextView)findViewById(R.id.juices);
    bacon_burger_sides=(TextView)findViewById(R.id.sides);
    bacon_burger_combo_qty=(TextView)findViewById(R.id.bb_combo_qty);
    //Combo Button
    bacon_burger_combo_add=(Button)findViewById(R.id.bb_combo_add);
    //Combo Juice Spinner
    bacon_burger_juice_spinner=(Spinner)findViewById(R.id.bb_juice_spinner);
    bacon_burger_juice_adapter=ArrayAdapter.createFromResource(this,R.array.juices,android.R.layout.simple_spinner_item);
    bacon_burger_juice_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    bacon_burger_juice_spinner.setAdapter(bacon_burger_juice_adapter);
    //Combo Side Spinner
    bacon_burger_side_spinner=(Spinner)findViewById(R.id.bb_side_spinner);
    bacon_burger_side_adapter=ArrayAdapter.createFromResource(this,R.array.sides,android.R.layout.simple_spinner_item);
    bacon_burger_side_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    bacon_burger_side_spinner.setAdapter(bacon_burger_side_adapter);
    //Combo Qty Spinner
    Integer[] numbers = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    bacon_burger_combo_qty_spinner=(Spinner)findViewById(R.id.bb_combo_spinner);
    ArrayAdapter<Integer> bacon_burger_combo_adapter =new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,numbers);
    bacon_burger_combo_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    bacon_burger_combo_qty_spinner.setAdapter(bacon_burger_combo_adapter);


}

//Bacon Burger onClick method
public void add_btn (View view)
{
    int quantity = Integer.parseInt(bacon_burger_spinner.getSelectedItem().toString());
    float price =(float) 6.52;
    float total= ((quantity)*(price));
    String bb_order=bacon_burger_spinner.getSelectedItem().toString()+" Bacon Burger";
    DatabaseOperations DB = new DatabaseOperations(ctx);
    DB.putInformation(DB,bb_order,null,total);
    Toast.makeText(getBaseContext(),"ITEM ADDED TO BASKET", Toast.LENGTH_LONG).show();

}

public void menu_btn (View view)
{
    Intent bb_intent=new Intent(BaconBurgerActivity.this,MainActivity.class);
    startActivity(bb_intent);
}

//Bacon Burger Combo onClick method

public void add_combo_btn (View view)
{
    int combo_quantity= Integer.parseInt(bacon_burger_combo_qty_spinner.getSelectedItem().toString());
    float bb_combo_price=(float)8.55;
    float bb_combo_total= ((combo_quantity)*(bb_combo_price));
    String bb_combo_order=bacon_burger_combo_qty_spinner.getSelectedItem().toString()+" Bacon Burger Combo";
    String bb_juice_side=bacon_burger_side_spinner.getSelectedItem().toString()+bacon_burger_juice_spinner.getSelectedItem().toString();
    DatabaseOperations DB = new DatabaseOperations(ctx);
    DB.putInformation(DB,bb_combo_order,bb_juice_side,bb_combo_total);
    Toast.makeText(getBaseContext(),"ITEM ADDED TO BASKET", Toast.LENGTH_LONG).show();


    }

}
公共类活动扩展活动
{
ImageView培根汉堡;
text查看培根汉堡txt;
TextView培根汉堡价格;
TextView培根汉堡数量;
纺纱机培根、汉堡、纺纱机;
按钮bb_添加_btn;
按钮bb\u菜单\u btn;
TextView培根汉堡套餐;
TextView培根、汉堡、果汁;
TextView培根汉堡面;
TextView培根汉堡套餐数量;
按钮培根、汉堡、组合、添加;
旋转器培根、汉堡、果汁、旋转器;
ArrayAdapter培根、汉堡、果汁、适配器;
旋转器培根、汉堡、侧边、旋转器;
ArrayAdapter培根汉堡配搭;
微调器培根\汉堡\组合\数量\微调器;
上下文ctx=此;
sqlitedb数据库;
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.bacon_burger_布局);
//培根汉堡图像和文本视图
培根汉堡=(ImageView)findViewById(R.id.bb_main);
培根汉堡txt=(TextView)findViewById(R.id.bb_text);
培根汉堡价格=(TextView)findViewById(R.id.bb价格);
培根汉堡数量=(TextView)findViewById(R.id.bb数量);
//培根汉堡纺纱机
整数[]选项=新整数[]{1,2,3,4,5,6,7,8,9,10};
培根汉堡微调器=(微调器)findViewById(R.id.bb\u微调器);
ArrayAdapter bacon\u burger\u adapter=新的ArrayAdapter(这个,android.R.layout.simple\u spinner\u项目,选项);
bacon\u burger\u adapter.setDropDownViewResource(android.R.layout.simple\u spinner\u dropdown\u项目);
培根汉堡纺纱机.setAdapter(培根汉堡适配器);
//培根汉堡纽扣
bb_add_btn=(按钮)findviewbyd(R.id.bb_add);
bb_菜单_btn=(按钮)findViewById(R.id.bb_返回);
//组合图像和文本视图
培根汉堡组合=(TextView)findViewById(R.id.bb\u组合);
培根汉堡果汁=(TextView)findViewById(R.id.juices);
培根汉堡面=(TextView)findViewById(R.id.sides);
培根汉堡套餐数量=(TextView)findViewById(R.id.bb套餐数量);
//组合按钮
培根汉堡组合添加=(按钮)findViewById(R.id.bb组合添加);
//组合果汁纺纱机
培根汉堡果汁纺纱机=(纺纱机)findViewById(R.id.bb果汁纺纱机);
bacon\u burger\u juice\u adapter=ArrayAdapter.createFromResource(这个,R.array.juices,android.R.layout.simple\u spinner\u项);
培根汉堡果汁适配器setDropDownViewResource(android.R.layout.simple微调器下拉菜单项);
培根汉堡果汁纺纱机.setAdapter(培根汉堡果汁纺纱机);
//组合侧旋器
培根汉堡侧边旋转器=(旋转器)findViewById(R.id.bb侧边旋转器);
bacon\u burger\u side\u adapter=ArrayAdapter.createFromResource(这个,R.array.sides,android.R.layout.simple\u微调器\u项);
bacon\u burger\u side\u adapter.setDropDownViewResource(android.R.layout.simple\u spinner\u dropdown\u项目);
培根汉堡侧边旋转器.setAdapter(培根汉堡侧边旋转器);
//组合数量微调器
整数[]个数=新整数[]{1,2,3,4,5,6,7,8,9,10};
培根汉堡组合数量微调器=(微调器)findViewById(R.id.bb\u组合微调器);
ArrayAdapter bacon\u burger\u combo\u adapter=新的ArrayAdapter(这个,android.R.layout.simple\u spinner\u项目,数字);
bacon\u burger\u combo\u adapter.setDropDownViewResource(android.R.layout.simple\u spinner\u dropdown\u项目);
培根汉堡组合数量微调器setAdapter(培根汉堡组合适配器);
}
//培根汉堡法
公共无效添加(视图)
{
int quantity=Integer.parseInt(bacon\u burger\u spinner.getSelectedItem().toString());
浮动价格=(浮动)6.52;
浮动总额=((数量)*(价格));
字符串bb\u order=bacon\u burger\u spinner.getSelectedItem().toString()+“bacon burger”;
DatabaseOperations DB=新的DatabaseOperations(ctx);
数据库信息(数据库、bb_顺序、空、总计);
Toast.makeText(getBaseContext(),“添加到篮子中的项目”,Toast.LENGTH_LONG.show();
}
公共无效菜单\u btn(视图)
{
Intent bb_Intent=新的Intent(BaconBurgerActivity.this,MainActivity.class);
星触觉(bb_意向);
}
//培根汉堡组合法
公共无效添加\组合\ btn(视图)
{
int combo\u quantity=Integer.parseInt(bacon\u burger\u combo\u quantity\u spinner.getSelectedItem().toString());
浮动bb_组合价格=(浮动)8.55;
浮动bb_组合总=((组合数量)*(bb_组合价格));
字符串bb\u combo\u order=bacon\u burger\u combo\u quantity\u spinner.getSelectedItem().toString()+“bacon burger combo”;
字符串bb_juice_side=bacon_burger_side_spinner.getSelectedItem().toString()+bacon_burger_juice_spinner.getSelectedItem().toString();
DatabaseOperations DB=新的DatabaseOperations(ctx);
数据库信息(数据库、bb_组合订单、bb_果汁侧、bb_组合总计);
Toast.makeText(getBaseContext(),“添加到篮子中的项目”,Toast.LENGTH_LONG.show();
}
}

解释@MarkSkayff所说的:在活动之间传递数据

当您调用第二个活动时,您可以在您的意图中添加额外内容。例如:

Intent bb_intent=new Intent(BaconBurgerActivity.this,MainActivity.class);
bb_intent.putExtra("total",total);
startActivity(bb_intent);
在MainActivity的onCreate方法中,可以使用

getIntent().getFloatExtra("total",0f); //0f is the default value, in case the float isn't found.
您可以在此处阅读更多有关Intent Extras的信息:


在结帐活动中,将数据发送到数据库。

您的活动如何将数据发送到签出页面?检查其他活动中的连接中止查询的原因有两个:第一个连接问题,第二个SQL语句不正确。创建日志并根据日志错误对问题进行排序。您应该保留这些活动生成的数据可能是在静态环境中(某种缓冲区),因此当您到达签出活动时,您可以只查询此静态上下文。基本上你是从内存中获取信息的