在不同设备中测试应用程序的有线问题

时间:2017-06-21 13:01:51

标签: android firebase firebase-realtime-database

我开发了一个Android应用程序,现在我已经完成了最后一步。我想在不同的设备上查看我的应用程序。 该应用程序将读/写与Firebase服务器结合在一起 我在两个不同的魅族设备(M2,M3s)中检查了应用程序 - 该应用程序的行为完全符合我的预期。 我检查了三星Galaxy S8中的应用程序 - 写入服务器的方法运行良好 - 我可以在服务器中看到插入了新数据。 但不知何故,我无法在屏幕上看到这些数据,我怀疑从服务器获取数据的方法由于某种原因在此设备上运行不正常。

一些重要的注释:

  1. 该应用程序的任何用户都假设只获取与他相关的数据(根据电话号码),但我不认为这是问题,因为正如我所说 - 我用2个不同的设备检查了2个不同的用户号码。
  2. 应用程序的场景如下:徽标活动,2秒',并自动转到 - >主要活动,我有getData()方法,假设拿用户的电话并在屏幕上打印他的一些数据。 3.在主要活动中有一个写入数据按钮,用户在其编号下写入数据并将其保存在服务器中没有问题。所以我认为该应用肯定知道“谁是这个用户”。
  3. 我必须说,除此之外,该应用在Galaxy和魅族看起来是一样的。
  4. 代码(我认为不会有帮助):

    public void getGroups()
    {
        mRootRef = FirebaseDatabase.getInstance()
                .getReferenceFromUrl("some url xxxxxxxxx/groups");
    
        listView = (ListView)findViewById(R.id.groupsListViewMain);
        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list_view_style, groupsArray );
    
        listView.setAdapter(adapter);
    
        mRootRef.addChildEventListener(new ChildEventListener()
        {
            @Override
            public void onChildAdded(final DataSnapshot dataSnapshot, String s)
            {
                final String groupToCheck=dataSnapshot.getKey();
    
                DatabaseReference mRootRefTemp = FirebaseDatabase.getInstance()
                        .getReferenceFromUrl("some url xxxxxxxxx/users/" + myPhoneNumber+"/");
                mRootRefTemp.addChildEventListener(new ChildEventListener()
                {
                    @Override
                    public void onChildAdded(DataSnapshot dataSnapshotSon, String s)
                    {
                        //show me only groups that i belong to.
                        if (dataSnapshotSon.child(groupToCheck).getValue() != null)
                        {
                            groupsArrayFullName.add(dataSnapshotSon.child(groupToCheck).getKey().toString());
                            for (DataSnapshot child: dataSnapshot.getChildren())
                            {
                                if (child.getKey().toString().equals("nameOfGroup"))
                                {
                                    String value = child.getValue().toString();
                                    System.out.println("the child: "+value);
                                    groupsArray.add(value);
                                    adapter.notifyDataSetChanged();
                                }
                            }
                        }
                        else
                        {
                            System.out.println(groupToCheck+" not exists!");
                        }
                    }
    
                    @Override
                    public void onChildChanged(DataSnapshot dataSnapshot, String s) {}
    
                    @Override
                    public void onChildRemoved(DataSnapshot dataSnapshot) {}
    
                    @Override
                    public void onChildMoved(DataSnapshot dataSnapshot, String s) {}
    
                    @Override
                    public void onCancelled(DatabaseError databaseError) {}
                });
            }
    
            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {}
    
            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {}
    
            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {}
    
            @Override
            public void onCancelled(DatabaseError databaseError) {}
        });
    }
    

    请帮助我!

0 个答案:

没有答案