亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將數據從firebase數據庫傳遞到短信?

如何將數據從firebase數據庫傳遞到短信?

慕標5832272 2023-08-04 10:08:40
我正在從我的 firebase 數據庫獲取數據,但是當我將其傳遞給參數并使用它在短信中寫入時,它只能在短信中獲取一個數據,但是當我使用 toast 時,它會顯示所有數據,但是當我傳遞給短信時,我只得到一個?我的代碼有什么問題嗎?我如何顯示我在短信功能中檢索到的所有數據,下面是我的代碼和我的 firebaseddatabase 的屏幕截圖,我想顯示所有產品名稱和數量。感謝您的幫助基于Fire的數據庫示例=== smsSendToBtn(此代碼用于從 Firebased 數據庫檢索數據)===?smsSendToBtn.setOnClickListener(new View.OnClickListener() {? ? ? ? //private String Cart;? ? ? ? public void onClick(View view) {? ? ? ? ? ? DatabaseReference reff = FirebaseDatabase.getInstance().getReference("Cart List");? ? ? ? ? ? final DatabaseReference reff2= FirebaseDatabase.getInstance().getReference("Cart List");? ? ? ? ? ? reff.child("User View").child(Prevalent.CurrentOnlineUsers.getPhone()).child("Products").addValueEventListener(new ValueEventListener() {? ? ? ? ? ? ? ? @Override? ? ? ? ? ? ? ? public void onDataChange(@NonNull DataSnapshot dataSnapshot) {? ? ? ? ? ? ? ? ? ? for(DataSnapshot snap: dataSnapshot.getChildren()){? ? ? ? ? ? ? ? ? ? ? ? String getDate = snap.getKey();? ? ? ? ? ? ? ? ? ? ? ? reff2.child("User View").child(Prevalent.CurrentOnlineUsers.getPhone()).child("Products").addValueEventListener(new ValueEventListener() {? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onDataChange(@NonNull DataSnapshot dataSnapshot) {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for(DataSnapshot snap1: dataSnapshot.getChildren()){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String myProductName = snap1.child("productName").getValue(String.class);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String myQuantity = snap1.child("quantity").getValue(String.class);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(getApplicationContext(),myProductName + " " + myQuantity,Toast.LENGTH_SHORT).show();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? setSMSData(myProductName,myQuantity);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? ? ? ? ? ? ? }
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

這是一個例子


List<String> prods = new ArrayList<>();

List<String> quantity = new ArrayList<>();


smsSendToBtn.setOnClickListener(new View.OnClickListener() {

    //private String Cart;


    public void onClick(View view) {


        DatabaseReference reff = FirebaseDatabase.getInstance().getReference("Cart List");

        final DatabaseReference reff2= FirebaseDatabase.getInstance().getReference("Cart List");


        reff.child("User View").child(Prevalent.CurrentOnlineUsers.getPhone()).child("Products").addValueEventListener(new ValueEventListener() {

            @Override

            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                for(DataSnapshot snap: dataSnapshot.getChildren()){

                    String getDate = snap.getKey();

                    reff2.child("User View").child(Prevalent.CurrentOnlineUsers.getPhone()).child("Products").addValueEventListener(new ValueEventListener() {

                        @Override

                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                            for(DataSnapshot snap1: dataSnapshot.getChildren()){


                                String myProductName = snap1.child("productName").getValue(String.class);

                                String myQuantity = snap1.child("quantity").getValue(String.class);

                                prods.Add(myProductName );

                                quantity.Add(myQuantity);


                                Toast.makeText(getApplicationContext(),myProductName + " " + myQuantity,Toast.LENGTH_SHORT).show();




                            }

                             setSMSData(prods,quantity);


                        }


                        @Override

                        public void onCancelled(@NonNull DatabaseError databaseError) {


                        }

                    });

                }

            }


            @Override

            public void onCancelled(@NonNull DatabaseError databaseError) {


            }

        });


    }

設置短信數據


 private void  setSMSData(List<String> products,List<String> quantitys) {


        // add the phone number in the data

        Uri uri = Uri.parse("smsto:" + "09257777547");


        Intent smsSIntent = new Intent(Intent.ACTION_SENDTO, uri);

        // add the message at the sms_body extra field

        List<String> format = new ArrayList<>();

        int i=-1;

        foreach(String str in products){

        i++;

          format.Add(str+":"+quantitys[i];

        }

        String formats= Arrays.toString(format);


        smsSIntent.putExtra("sms_body", "Order "+formats+" (Sent Via SKIP MOBILE)");

        try{

            startActivity(smsSIntent);

        } catch (Exception ex) {

            Toast.makeText(CartActivity.this, "Your sms has failed...",

            Toast.LENGTH_LONG).show();

            ex.printStackTrace();

        }


    }


查看完整回答
反對 回復 2023-08-04
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號