有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在logcat上没有错误,但Firebase数据库不工作,没有写入任何提交的数据

我正在用Android Studio制作Android应用程序。此代码用于将应用程序中的数据发送到firebase实时数据库。起初,这是一个关于窗口在对话框中泄漏的错误。show()。但我用dialog更新了代码。解雇()。但现在,数据仍然没有显示在实时数据库中,并且logcat似乎很好。这是发送数据的类:

public class KeranjangActivity extends AppCompatActivity {
ListView listView;
public TextView txtTotalHarga;
ArrayList<Keranjang> keranjangArrayList = new ArrayList<>();
KeranjangAdapter adapter = null;
SQLiteHelper helper;

FirebaseDatabase database;
DatabaseReference requests;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_keranjang);

    database = FirebaseDatabase.getInstance();
    requests = database.getReference("Laundry");

    Button btnPesan = findViewById(R.id.btnPesan);
    listView = (ListView) findViewById(R.id.listView);
    txtTotalHarga = findViewById(R.id.txtTotal);
    int total = 0;
    String totalHarga = null;

    keranjangArrayList = new ArrayList<>();
    adapter = new KeranjangAdapter(this, R.layout.list_item, keranjangArrayList);
    listView.setAdapter(adapter);

    helper = new SQLiteHelper(this, "laundryDB.sqlite", null, 1);

    Cursor cursor = helper.getData("SELECT Id, name, quantity, harga FROM CART");

    keranjangArrayList.clear();

    if (cursor.moveToFirst()) {
        do {
            int id = cursor.getInt(0);
            String namaJenis = cursor.getString(1);
            String quantity = cursor.getString(2);
            String harga = cursor.getString(3);
            Log.e("namaJenis: ", namaJenis);
            Log.e("quantity: ", quantity);
            Log.e("harga: ", harga);
            total = total + Integer.parseInt(harga);
            Log.e("totalharga: ", String.valueOf(total));
            keranjangArrayList.add(new Keranjang(namaJenis, quantity, id, harga));
        } while (cursor.moveToNext());
    }

    txtTotalHarga.setText(String.valueOf(total));
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
            AlertDialog.Builder builder = new AlertDialog.Builder(KeranjangActivity.this);
            final int pos = position;
            builder.setTitle("Dialog Hapus")
                    .setMessage("Apakah anda ingin menghapus item ini ?")
                    .setPositiveButton("Ya", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            Log.e("CART ID =", keranjangArrayList.get(pos).toString());
                            Keranjang cart = keranjangArrayList.get(pos);
                            helper.deleteData(cart.getId());
                            keranjangArrayList.remove(pos);
                            adapter.notifyDataSetChanged();
                            listView.invalidateViews();
                        }
                    })
                    .setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                        }
                    });
            builder.create();
            builder.show();
        }
    });

    btnPesan.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (keranjangArrayList.size() > 0) {
                submitOrder();
            } else {
                Toast.makeText(KeranjangActivity.this, "Keranjang Belanja Kosong", Toast.LENGTH_SHORT).show();
            }
        }
    });
    listView.setFocusable(true);
    adapter.notifyDataSetChanged();
}

private void submitOrder() {
    AlertDialog.Builder mBuilder = new AlertDialog.Builder(KeranjangActivity.this);
    View mView = getLayoutInflater().inflate(R.layout.activity_dialog_order, null);
    final EditText edtNamaPemesan = mView.findViewById(R.id.edt_nama_pemesan);
    final EditText edtTglMasuk = mView.findViewById(R.id.tgl_masuk);
    final EditText edtTglKeluar = mView.findViewById(R.id.tgl_selesai);
    final EditText edtNamaPenerima = mView.findViewById(R.id.edt_nama_penerima);
    final Button btnSubmitOrder = mView.findViewById(R.id.finishOrder);

    mBuilder.setView(mView);
    AlertDialog dialog = mBuilder.create();
    dialog.show();

    edtTglMasuk.setInputType(InputType.TYPE_NULL);
    edtTglMasuk.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showDateTimeDialog1(edtTglMasuk);
        }
    });

    edtTglKeluar.setInputType(InputType.TYPE_NULL);
    edtTglKeluar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showDateTimeDialog2(edtTglKeluar);
        }
    });

    btnSubmitOrder.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Request request = new Request(
                    edtNamaPemesan.getText().toString().trim(),
                    edtTglMasuk.getText().toString().trim(),
                    edtTglKeluar.getText().toString().trim(),
                    edtNamaPenerima.getText().toString().trim(),
                    txtTotalHarga.getText().toString(),
                    keranjangArrayList);
            requests.child((String.valueOf(System.currentTimeMillis()))).setValue(request);
            helper.deleteAllData();
            keranjangArrayList.clear();
            adapter.notifyDataSetChanged();
            listView.invalidateViews();

            Toast.makeText(KeranjangActivity.this,"Order laundry telah ditambah",Toast.LENGTH_SHORT).show();
            finish();

            if (dialog != null && dialog.isShowing()) {
                dialog.dismiss();
            }
        }

    });

    }

    private void showDateTimeDialog1(final EditText edtTglMasuk) {
    final Calendar calendar = Calendar.getInstance();
    DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
            edtTglMasuk.setText(simpleDateFormat.format(calendar.getTime()));
        }
    };

    new DatePickerDialog(KeranjangActivity.this, dateSetListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
}

private void showDateTimeDialog2(final EditText edtTglKeluar) {
    final Calendar calendar = Calendar.getInstance();
    DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
            edtTglKeluar.setText(simpleDateFormat.format(calendar.getTime()));
        }
    };

    new DatePickerDialog(KeranjangActivity.this, dateSetListener, calendar.get(Calendar.YEAR), 

calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
    }
}

这是我点击提交按钮后的日志:

07-10 23:30:21.751 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.751 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.751 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.761 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.761 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.761 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.761 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.761 31994-31994/com.example.laundryrewang D/AbsListView: Get MotionRecognitionManager
07-10 23:30:21.771 31994-31994/com.example.laundryrewang D/AbsListView: Get MotionRecognitionManager
07-10 23:30:21.781 31994-31994/com.example.laundryrewang D/PhoneWindow: *FMB* installDecor mIsFloating : true
07-10 23:30:21.781 31994-31994/com.example.laundryrewang D/PhoneWindow: *FMB* installDecor flags : 8388610
07-10 23:30:21.791 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.801 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.811 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.821 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:21.831 31994-31994/com.example.laundryrewang D/PhoneWindow: *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
07-10 23:30:21.831 31994-31994/com.example.laundryrewang D/PhoneWindow: *FMB* isFloatingMenuEnabled return false
07-10 23:30:22.922 31994-31994/com.example.laundryrewang D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-10 23:30:23.342 31994-31994/com.example.laundryrewang D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-10 23:30:23.402 31994-31994/com.example.laundryrewang D/InputMethodManager: windowDismissed mLockisused = false
07-10 23:30:23.422 31994-31994/com.example.laundryrewang E/ViewRootImpl: sendUserActionEvent() mView == null
07-10 23:30:24.603 31994-31994/com.example.laundryrewang D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-10 23:30:26.115 31994-31994/com.example.laundryrewang D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-10 23:30:26.165 31994-31994/com.example.laundryrewang D/TextView: setTypeface with style : 0
07-10 23:30:26.185 31994-31994/com.example.laundryrewang D/InputMethodManager: windowDismissed mLockisused = false
07-10 23:30:26.225 31994-32660/com.example.laundryrewang V/FA: Recording user engagement, ms: 10701
07-10 23:30:26.225 31994-32660/com.example.laundryrewang V/FA: Connecting to remote service
07-10 23:30:26.235 31994-31994/com.example.laundryrewang E/ViewRootImpl: sendUserActionEvent() mView == null
07-10 23:30:26.245 31994-32660/com.example.laundryrewang V/FA: Activity paused, time: 183517649
07-10 23:30:26.295 31994-32660/com.example.laundryrewang V/FA: Connection attempt already in progress
07-10 23:30:26.295 31994-32660/com.example.laundryrewang V/FA: Activity resumed, time: 183517690
07-10 23:30:26.325 31994-32660/com.example.laundryrewang V/FA: Connection attempt already in progress
07-10 23:30:26.325 31994-32660/com.example.laundryrewang V/FA: Connection attempt already in progress
07-10 23:30:26.355 31994-32660/com.example.laundryrewang D/FA: Connected to remote service
07-10 23:30:26.365 31994-32660/com.example.laundryrewang V/FA: Processing queued up service tasks: 4
07-10 23:30:26.385 31994-31994/com.example.laundryrewang I/Timeline: Timeline: Activity_idle id: 安卓.os.BinderProxy@146c792e time:84182599
07-10 23:30:26.505 31994-31994/com.example.laundryrewang D/InputMethodManager: windowDismissed mLockisused = false
07-10 23:30:28.177 31994-31994/com.example.laundryrewang D/InputMethodManager: windowDismissed mLockisused = false

感谢您的帮助。谢谢

哦,我还尝试登录和注销浏览器,更改了web浏览器,禁用了addblocks,启用了token service API,但仍在工作


共 (0) 个答案