Member 13329074 Ответов: 1

Получение значения false при вставке записи из метода onclickbuynow (), заранее спасибо


public class MainActivity расширяет AppCompatActivity {


TextView pizza_name, price,datalayoutaddress;
Кол-во полей EditText;
RelativeLayout realtive, parentlayout, datalayout;
Радиогруппа rg;
Радиобуттон РБ;
Кнопка Далее, назад;
Струна registeration_name="xyz",registeration_username="abc",registeration_password="sdgf",registeration_phone="dghf",pizza_name1="Paneer Pizza", pizza_price= "89", mode_of_trnf= "pick up", reg_address, time_, reg_qty;
отдельный переключатель задав ему значение radiobutton1;
Элемента управления datepicker timePicker2;
InsertDatabaseHandler дБ;
Изображения просмотрщик фото ;

@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout.activity_main);

db=new InsertDatabaseHandler (это);
timePicker2=(элемента управления datepicker)команду findViewById(Р. ИД.timePicker2);
datalayoutaddress=(виджет TextView)findViewById, чтобы найти(ИД Р..адрес);
кол-во=(полей EditText)findViewById, чтобы найти(ИД Р..кол-во);
}

public void onClickBuyNow(View view) {
reg_address = datalayoutaddress.getText (). toString();
если (Build.VERSION. SDK_INT >= сборка.VERSION_CODES.M) {
time_ = timePicker2.getHour() + ":" + timePicker2.getMinute();
reg_qty = qty. getText (). toString();
Системы.из.код println("время:" + timePicker2.getHour() + ":" + timePicker2.getMinute());
Системы.из.код println(registeration_name + registeration_username + registeration_password + registeration_phone + pizza_name1 + pizza_price + mode_of_trnf + reg_address + time_ + reg_qty);
логический результат = db.insertCustRecord(registeration_name,registeration_phone,pizza_name1,pizza_price,mode_of_trnf,reg_address,time_,reg_qty);
Системы.из.код println(результат);

if (result = = true){
Системы.из.код println("сведения каст вставлен ...");
Toast. makeText(PizzaDetailSubActivity. this, " Thank You Visit Again...", Toast.LENGTH_SHORT).показать();
}
еще {
Системы.из.код println("Абон данные не могут быть вставлены ...");
}



}
}


public void onClickAddToCart(View view){
reg_address=datalayoutaddress.getText (). toString();
если (Build.VERSION. SDK_INT >= сборка.VERSION_CODES.M) {
Тост.makeText(это,timePicker2.getHour()+":"+timePicker2.getMinute(),тост.LENGTH_SHORT).показать();
time_=timePicker2.getHour()+":"+timePicker2.getMinute();
reg_qty=qty. getText (). toString();
Системы.из.код println("время корзину:"+timePicker2.getHour()+":"+timePicker2.getMinute());
System. out. println ("количество :" +reg_qty);
Системы.из.код println( registeration_name+registeration_username+registeration_password+registeration_phone+pizza_name1+pizza_price+mode_of_trnf+reg_address+time_+reg_qty);
}
}


public void onClickOffers(View view){

}

public void onClickBack(View view){

}

}




//activity_main
& lt;?xml version=" 1.0 "encoding=" utf-8"?>
&ЛТ;андроид.поддержка.сдерживающим фактором.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
описание:приложение="http://schemas.android.com/apk/res-auto"
описание:инструментов="http://schemas.android.com/tools"
android: layout_width= " match_parent"
android: layout_height= " match_parent"
инструменты:контекст="ком.пример.Пуджи.демо.MainActivity " >

< RelativeLayout
android: id= " @+id/datalayout"
android: layout_width= " 368dp"
android: layout_height= " 495dp"
android: alpha= " 1"
андроид:фон="@андроид:цвет/holo_orange_dark"
инструменты: layout_editor_absoluteY= " 8dp"
инструменты: layout_editor_absoluteX= " 8dp " >

< EditText
андроид:идентификатор="@+код/кол-во"
android: layout_width= " wrap_content"
android: layout_height= " wrap_content"
андроид:layout_alignParentLeft="истинный"
андроид:layout_alignParentStart="истинный"
андроид:layout_alignTop="@+ID пользователя/изображения"
андроид:layout_marginTop="65dp"
android: ems= " 10"
android: hint= " введите количество"
android:inputType= "number" />

кнопка <
android: id= " @+id / back_"
="" для android:layout_width="wrap_content в качестве параметров" в android:layout_height="wrap_content в качестве параметров" андроид:layout_marginleft="230dp" для Android:layout_marginstart="230dp" для Android:layout_margintop="450dp" для Android:фон="@андроид:цвет/holo_red_light" андроид:функция onclick="onClickBack" андроид:текст="назад" для Android:свойства textColor="@андроид:цвет/background_light"&ГТ;

кнопка <
андроид:идентификатор="@+ID и/add_to_cart"
="" для android:layout_width="wrap_content в качестве параметров" в android:layout_height="wrap_content в качестве параметров" андроид:layout_marginleft="100dp" для Android:layout_marginstart="100dp" для Android:layout_margintop="450dp" для Android:фон="@андроид:цвет/holo_red_light" андроид:функция onclick="onClickAddToCart" андроид:текст="добавить в корзину" для Android:свойства textColor="@андроид:цвет/background_light"&ГТ;

кнопка <
android: id= " @+id/buy_nows"
="" для android:layout_width="wrap_content в качестве параметров" в android:layout_height="wrap_content в качестве параметров" андроид:layout_margintop="450dp" для Android:фон="@андроид:цвет/holo_red_light" андроид:функция onclick="onClickBuyNow" андроид:текст="Купить сейчас" для Android:свойства textColor="@андроид:цвет/background_light"&ГТ;

&ЛТ;элемента управления datepicker
android: id= " @+id/timePicker2"
android: layout_width= " wrap_content"
android: layout_height= " wrap_content"
android: layout_marginTop= "130dp" />

< EditText
андроид:идентификатор="@+ID пользователя/адрес"
android: layout_width= " wrap_content"
android: layout_height= " 50dp"
андроид:layout_alignParentLeft="истинный"
андроид:layout_alignParentStart="истинный"

android: layout_marginTop= " 10dp"
андроид:фон="@андроид:цвет/holo_orange_light"
android: высота = " 5dp"
android: ems= " 10"
android: hint= " введите почтовый адрес"
android:inputType= "textPostalAddress" />






// Обработчик базы данных, имеющий метод insertCustRecord, извлекающий все значения из действия и возвращающий ложное значение


открытый класс InsertDatabaseHandler расширяет SQLiteOpenHelper{
частная конечная статическая строка TABLE_NAME2= " customer";


частная окончательной статическую строку аргумент database_name = "пицца.ДБ";
частная конечная статическая строка CartCOL1 = " ID";
private final static String CartCol2= " NAME";
частная окончательной статическую строку CartCol3="имя пользователя";
private final static String CartCol4= " пароль";
private final static String CartCol5= " телефон";
частная конечная статическая строка CartCol6= " PIZZA_NAME";
private final static String CartCol7= " цена";
частная конечная статическая строка CartCol8= " MODE_OF_TRANS";
частная конечная статическая строка CartCol9= " адрес";
private final static String CartCol10= " TIME";
частная конечная статическая строка CartCol11= " количество";


public InsertDatabaseHandler(Context context) {
super (context, DATABASE_NAME, null, 1);
}

@Ручная коррекция
public void onCreate(SQLiteDatabase db) {
дБ.execSQL("создать таблицу" + TABLE_NAME2 + "(идентификатор, целое число первичный ключ автоинкремент,текстовое имя,телефон, число,PIZZA_NAME текста,цена целое число,MODE_OF_TRANS текст адрес текст,текст,целое число)");
Системы.из.код println("таблица поддержки создан ...");
}

@Ручная коррекция
общественного недействительными запись(ошибки БД, старую версию инт, инт новаяверсия) {
db. execSQL ("DROP TABLE IF EXISTS" +TABLE_NAME2);
}

общественная логическое insertCustRecord(имя строке строке телефон,строке pizza_name ,строка цены,режим строку,строку адреса,строку time_,строки кол-во){
Системы.из.код println(имя+телефон);
Ошибки БД = это.getWritableDatabase();
ContentValues contentValues = новые значения контента();
contentValues. put(CartCol2, name);
contentValues. put(CartCol5, телефон);
contentValues.пут("PIZZA_NAME", pizza_name);
contentValues.пут("цена", цена);
contentValues. put ("MODE_OF_TRANS", mode);
contentValues.пут("адрес", "адрес");
contentValues. put ("TIME", время_);
contentValues. put ("количество", кол-во);
long value=db. insert(TABLE_NAME2, null, contentValues);
дБ.рядом();
если (значение = = -1)
возвращать false;
еще
вернуть true;
}


публичный курсор getCustData() {
Ошибки БД = это.getWritableDatabase();
Курсор cursor = db. rawQuery ("select * from" + TABLE_NAME2, null);
возврат курсора;
}

}

Что я уже пробовал:

мой класс активности, имеющий метод onClickBuyNow (), возвращающий ложное значение из базы данных, все поля имеют значения, никакие нулевые значения не были переданы в базу данных

Richard MacCutchan

Вы объявляете некоторые типы полей целыми числами, но пытаетесь вставить строковые значения.

1 Ответов

Рейтинг:
0

OriginalGriff

Мы не можем помочь вам в этом - ему нужны ваши данные, и он должен смотреть на то, что происходит, пока код работает на этих данных. И у нас нет ваших данных, у нас нет всего вашего приложения - и мы не знаем, как его использовать, если бы мы это сделали!

Так что все будет зависеть от вас.
Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что именно то, что вы ожидали, произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас-вам пора освоить новый (и очень, очень полезный) навык: отладку!