在Android应用程序上使用socialauth添加使用twitter,facebook和google登录的选项

时间:2014-06-19 09:29:37

标签: android facebook twitter socialauth

我正在构建一个连接到网站以获取数据的应用。提供登录屏幕,提供使用站点用户名和密码登录或使用Facebook,Twitter和谷歌等社交应用程序登录的选项。提供的按钮。我已下载socialauth库以与该应用程序一起使用。我按照https://code.google.com/p/socialauth-android/获取了有关如何使用该库的说明。但文档相当粗略。任何有关如何使用该库的帮助将不胜感激。提前致谢。 编辑: 我想要做的主要是提供facebook,google和twitter的登录工具来登录我的应用程序,就像许多网站和应用程序提供的功能一样。 再次感谢。

1 个答案:

答案 0 :(得分:0)

我在这里放代码..希望它会帮助你.. 注意:您需要将oath_consumer.properties放在assets文件夹中,并在项目中添加socialauth库。

   public class ClientLogin extends Activity {
TextView facebookLogin,TwitterLogin,LinkedInLogin;
     SocialAuthAdapter adapter;
     Button logout;
 Context context;
 Profile profileMap;
 String Email,password;
     String provider_Name;
    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);
    setContentView(R.layout.client_login);
    context=this;
    facebookLogin=(TextView) findViewById(R.id.textView_LoginFacebook);
    TwitterLogin=(TextView) findViewById(R.id.textView_LoginTwitter);
    LinkedInLogin=(TextView) findViewById(R.id.textView_LoginLinkedin);
  logout=(Button) findViewById(R.id.button_loginLogout);
 adapter = new SocialAuthAdapter(new ResponseListener());
    facebookLogin.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            provider_Name="facebook";
            adapter.authorize(context, Provider.FACEBOOK);

        }
    });
       TwitterLogin.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            provider_Name="twitter";
            adapter.authorize(context, Provider.TWITTER);

        }
    });
    LinkedInLogin.setOnClickListener(new View.OnClickListener() {

    @Override
     public void onClick(View v) {
    provider_Name="linkedin";
        adapter.authorize(context, Provider.LINKEDIN);

        }
    });
     logout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stubadapter.
           adapter.signOut(context, Provider.FACEBOOK.toString())   ;
           adapter.signOut(context, Provider.LINKEDIN.toString())   ;
           adapter.signOut(context, Provider.TWITTER.toString())    ;
         Toast.makeText(context,"succesfully Logged out",1000).show();

        }
    });
    }

      private final class ResponseListener implements DialogListener 
{
     public void onComplete(Bundle values) {
          //  Log.d("ShareButton" , "Authentication Successful");
         Toast.makeText(context,"succesfully Logged in",1000).show();

        //code  is to get email id of user...
         profileMap =  adapter.getUserProfile();

         if (provider_Name.equalsIgnoreCase("facebook"))
                 {
           //to get email_id of user..

        Email=profileMap.getEmail();

                 }
         else if( provider_Name.equalsIgnoreCase("twitter"))
         {

            //to get email of user
            Email=profileMap.getEmail(); 


         }
    else  if (provider_Name.equalsIgnoreCase("linkedin"))
         {



Email=profileMap.getEmail();

         }
   }
  }
 }