Как сравнить цифры на базе - PullRequest
0 голосов
/ 23 февраля 2019

Привет. Я пытаюсь сравнить числа, которые у меня есть на моей базе данных, с моим приложением.

Что я хочу сделать, это когда пользователь выбирает контакт, я хочу, чтобы он сообщал пользователю, еслиУ пользователя установлено «приложение» или нет.

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

public class Main2Activity extends Activity {

    private FirebaseAuth auth;
    private FirebaseDatabase mFire;
    private FirebaseUser user;
    private TextView displayname;
    DatabaseReference reference;


    DatabaseReference databaseReference;

    static final int PICK_CONTACT_REQUEST = 1;  // The request code

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


        // adding the pick contact function
        Button select = (Button) findViewById(R.id.button1);
        select.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
                pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
                startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
            }
        });


    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // Check which request it is that we're responding to
        if (requestCode == PICK_CONTACT_REQUEST) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK) {
                // Get the URI that points to the selected contact
                Uri contactUri = data.getData();
                // trenger to kolloner en for navn og en for nummer
                String[] projection = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,};

                //den her er for nummber
                String[] projection2 = {ContactsContract.CommonDataKinds.Phone.NUMBER,};

                // Perform the query on the contact to get the NUMBER column
                // We don't need a selection or sort order (there's only one result for the given URI)
                // CAUTION: The query() method should be called from a separate thread to avoid blocking
                // your app's UI thread. (For simplicity of the sample, this code doesn't do that.)
                // Consider using CursorLoader to perform the query.
                Cursor cursor = getContentResolver()
                        .query(contactUri, projection, null, null, null);
                cursor.moveToFirst();

                //getting number
                Cursor cursor2 = getContentResolver()
                        .query(contactUri, projection2, null, null, null);
                cursor2.moveToFirst();

                // Retrieve the phone number from the NUMBER column
                int column = (int) cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
                int column2 = (int) cursor2.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
                final String name = cursor.getString(column);
                final String number = cursor2.getString(column2);
                TextView textView;
                textView = findViewById(R.id.textView);
                textView.setText(name);

                textView = findViewById(R.id.textView5);
                textView.setText(number);

                final String number1 = textView.getText().toString();


                final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                if (user != null) {
                    {

                        reference = FirebaseDatabase.getInstance().getReference().child(user.getUid());

                        final TextView finalTextView = textView;
                        reference.addValueEventListener(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot dataSnapshot) {

                                for(DataSnapshot ds : dataSnapshot.getChildren()) {
                                    String phone = ds.getKey();

                                if (dataSnapshot.child(phone).equals("phone"))

                                     finalTextView.getText().toString();

                                else
                                    try

                                    {
                                        AlertDialog.Builder ad = new AlertDialog.Builder(Main2Activity.this);
                                        ad.setCancelable(true);
                                        ad.setTitle("this number does not exist");
                                        ad.setMessage("invite this user");
                                        ad.setPositiveButton("Get from Market", new DialogInterface.OnClickListener() {
                                            public void onClick(DialogInterface dialog, int whichButton) {
                                                Intent i = new Intent(Intent.ACTION_VIEW,
                                                        Uri.parse("http://market.android.com/"));
                                                startActivity(i);
                                                finish();
                                            }
                                        }).show();

                                } catch(Exception e) { /* handle any exceptions */return; }



                                }
                            }

                            @Override
                            public void onCancelled(@NonNull DatabaseError databaseError) {

                            }
                        });
                    }
                }
            }
        }
    }
}
...