0

Есть программа с корзиной покупок,где имеется кнопка добавления товара в корзину с помощью DBHelper создаётся OrderList из которого формируется форма для отправки по смс .
При нажатии на кнопку:

// когда нажали кнопку добавления, добавить меню в таблицу заказов в базе данных
        if(!temp.equalsIgnoreCase("")){
            quantity = Integer.parseInt(temp);
            if(dbhelper.isDataExist(Menu_ID)){
                    dbhelper.updateData(Menu_ID, quantity, (Menu_price*quantity));
                }else{
                    dbhelper.addData(Menu_ID, Menu_name, quantity, (Menu_price*quantity));
                }
        }else{
            dialog.cancel();
        }                   
      }
    });

и есть ещё одна строка Menu_quantity где имеется номер телефона который я хочу присвоить для OrderList.

txtText.setText(Menu_name);
            txtSubText.setText("Цена: " +Menu_price+" "+ActivityMenuList2.Currency+"\n"+"Статус: "+Menu_serve+"\n"+"В наличии: "+Menu_quantity);
            txtDescription.loadDataWithBaseURL("", Menu_description, "text/html", "UTF-8", "");

Проблема в том что при добавлении Menu_quantity в dbhelper.addData(Menu_ID, Menu_name, quantity, (Menu_price*quantity)); или создания нового dbhelper.addData получаю номер телефона в каждом товаре из списка, а я пытаюсь сделать чтобы номер присвоился как единый для всего списка.
Вот скрин создания списка заказов.

А это скрин отправки заказа

Shih
  • 343
  • видимо вам нужно организовать связь "один ко многим" , каждому элементу одного заказа присвоить id этой группы (заказа) и в отдельной таблице хранить телефон к такой группе по ее id – pavlofff Mar 23 '19 at 00:42
  • @pavlofff Я думаю это слишком сложновато. Мне надо как нибудь передать переменную или присвоить переменную Menu_quantity к ArrayList<ArrayList<Object>> data; но так что бы можно было её опубликовать в Phone.equalsIgnoreCase("")){Intent smsIntent = new Intent(Intent.ACTION_VIEW); smsIntent.setType("vnd.android-dir/mms-sms"); smsIntent.putExtra("address" , new String(Phone));smsIntent.putExtra("sms_body",Name+"\n"+"Адрес:"+Alamat+""+OrderList); startActivity(smsIntent);` – Shih Mar 23 '19 at 15:46
  • это правильное решение по дисциплине СУБД, а какие костыли вы себе придумаете от недостатка знаний по предмету и как все это будет потом работать - это уже ваша фантазия и ваши же проблемы. (немного резко получилось, но ничего такого не хотел, хотел сказать что есть правильное решение, а есть нет) – pavlofff Mar 23 '19 at 21:52
  • и вот еще одно замечание по [не]правильности архитектуры – pavlofff Mar 23 '19 at 21:54
  • @pavlofff Конечно не достаток знания имеется,так как я только начинаю изучение программирования. Вы бы не могли предоставить пример реализации такой связи упомянутой вами в первом коменте? – Shih Mar 23 '19 at 22:36
  • Это в общем то стандартный шаблон СУБД - one to many (один ко многим) и описан во множестве литературы. По СУБД могу посоветовать почитать книгу Линн Бейли "Изучаем SQL" , там очень доступно и с примерами написаны все основы проектирования и работы с реляционными базами данных – pavlofff Mar 24 '19 at 09:39

0 Answers0