Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中检查布尔值?_Android_Facebook_Boolean Logic - Fatal编程技术网

如何在Android中检查布尔值?

如何在Android中检查布尔值?,android,facebook,boolean-logic,Android,Facebook,Boolean Logic,在我的Android应用程序中,有两种类型的登录。用户可以使用Facebook或Google+登录。当用户成功登录时,它将显示来自该特定社交帐户的数据。例如,当用户登录Facebook时,它将显示来自Facebook的数据。我已经包括了我的代码: demo.java boolean isFacebook; if (!isFacebook) { txtName.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.th

在我的Android应用程序中,有两种类型的登录。用户可以使用Facebook或Google+登录。当用户成功登录时,它将显示来自该特定社交帐户的数据。例如,当用户登录Facebook时,它将显示来自Facebook的数据。我已经包括了我的代码:

demo.java

boolean isFacebook;

  if (!isFacebook) {
        txtName.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).firstname);
        txtEmail.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).email);

        // fetching facebook's profile picture
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                URL imageURL = null;
                try {
                    imageURL = new URL("https://graph.facebook.com/" + user.facebookID + "/picture?type=small");
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                }
                try {
                    bitmap = BitmapFactory.decodeStream(imageURL.openConnection().getInputStream());

                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(Void aVoid) {
                super.onPostExecute(aVoid);
                imgProfile.setImageBitmap(bitmap);

            }
        }.execute();

    } else {
        isFacebook = false;
         SharedPreferences pref = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
         String username = pref.getString("PROFILE_USERNAME", "");
         String email = pref.getString("PROFILE_EMAIL_GOOGLE", "");
         pref.getString("PROFILE_IMAGE_USER", "");
         txtName.setText(username);
         txtEmail.setText(email);
    }
 }
demo.java
boolean-isFacebook;
如果(!isFacebook){
setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this.firstname);
setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this.email);
//获取facebook的个人资料图片
新建异步任务(){
@凌驾
受保护的Void doInBackground(Void…参数){
URL imageURL=null;
试一试{
imageURL=新URL(“https://graph.facebook.com/“+user.facebookID+”/picture?type=small”);
}捕获(格式错误){
e、 printStackTrace();
}
试一试{
位图=BitmapFactory.decodeStream(imageURL.openConnection().getInputStream());
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
super.onPostExecute(避免);
imgProfile.setImageBitmap(位图);
}
}.execute();
}否则{
isFacebook=false;
SharedReferences pref=GetSharedReferences(“MyPrefs”,Context.MODE\u PRIVATE);
String username=pref.getString(“PROFILE_username”,”);
String email=pref.getString(“PROFILE\u email\u GOOGLE”,”);
pref.getString(“PROFILE\u IMAGE\u USER”,“用户”);
txtName.setText(用户名);
txtEmail.setText(电子邮件);
}
}

在这段代码中,当用户登录Facebook时,它会显示Google+详细信息。我怎样才能纠正这个问题呢?

你实际上做的与你描述的相反。如果
isFacebook
false
,表示它不是Facebook,则您正在从Facebook获取数据


将第一个if语句更改为
if(isFacebook)
您的情况不正确

一定是这样

if (!isFacebook) {
    // do false logic here you need to check for GOOGLE
}

// do true logic here you need to check for FB
改用这个(只是犯了一个小错误)


如果将isFacebook初始化为
布尔值isFacebook=true,也会更好

我在你的帖子中没有看到任何问题。。。那么你到底想要什么呢?可能的阅读:你应该能够把它分成许多小的测试,看看什么不起作用。它是否解决了?不@AdityaVyas LakhanI会尝试你的解决方案,但当用户点击google+登录,然后显示数据,但当用户登录Facebook时,无法获得数据,请帮助我@Aditya Vyas Lakhan为什么添加isFacebook=false;Facebook=true;很抱歉编辑,但我不理解真假的概念@阿迪提亚·维亚斯·拉坎
  boolean isFacebook;
      if (isFacebook) {
            txtName.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).firstname);
            txtEmail.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).email);

            // fetching facebook's profile picture
            new AsyncTask<Void, Void, Void>() {
                @Override
                protected Void doInBackground(Void... params) {
                    URL imageURL = null;
                    try {
                        imageURL = new URL("https://graph.facebook.com/" + user.facebookID + "/picture?type=small");
                    } catch (MalformedURLException e) {
                        e.printStackTrace();
                    }
                    try {
                        bitmap = BitmapFactory.decodeStream(imageURL.openConnection().getInputStream());

                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    return null;
                }

                @Override
                protected void onPostExecute(Void aVoid) {
                    super.onPostExecute(aVoid);
                    imgProfile.setImageBitmap(bitmap);

                }
            }.execute();

        } else {
            //get google + details here
        }
     }
bt_fb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
isFacebook= true;`

}

bt_twitter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
isFacebook= false;`

}