2014-06-19 13 views
0

我正在構建一個連接到網站以獲取數據的應用。提供了一個登錄屏幕,可以選擇使用網站用戶名和密碼登錄,或使用社交應用程序(如臉書,推特和谷歌)登錄。提供的按鈕。我已經下載了socialauth庫來與應用程序一起使用。我跟着https://code.google.com/p/socialauth-android/瞭解如何使用庫的說明。但文件相當粗略。任何有關如何使用圖書館的幫助將不勝感激。提前致謝。 編輯: 我主要想做的是提供facebook,google和twitter等登錄工具登錄到我的應用程序,就像許多網站和應用程序提供的功能一樣。 再次感謝。添加選項使用Twitter,Facebook和谷歌在Android應用上使用socialauth登錄

回答

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(); 

     } 
    } 
    } 
} 
+0

Kirti..Please告訴我如何實現登錄,在谷歌Android的帳戶,作爲新的彈出窗口Facebook登錄... – Srinivasan

+0

@Srinivasan嗨,你可以做與谷歌帳戶使用相同的庫登錄即socialauth通過寫入adapter.authorize(context,Provider.GOOGLEPLUS);或者如果您想要使用googlePLus庫,那麼您可以參考以下鏈接:https://developers.google.com/+/mobile/android/sign-in。謝謝 –

+0

我檢查了上面提到的鏈接,但我想每次驗證用戶都像登錄facebook一樣。但是在這種情況下,如果我們實現了google api客戶端,它會在連接時自動連接,只要我們來這個活動 – Srinivasan

相關問題