This topic explains the prerequisites, the process of including and using Tally Authentication Library in the Android application project, and the available API/methods.
1. Add the permissions in the AndroidManifest.xml of the application, in which the authentication library is to be used.
< uses-permission android:name = "android.permission.INTERNET" />
< uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" />
2. Add the login activity details in the AndroidManifest.xml to register it with Android.
< activity a ndroid:name = "com.tallysolutions.tallyauthenticationlibrary.TallyLoginActivity"
android:configChanges = "orientation|screenSize" >
</ activity >
To include Tally Authentication Library in the Android application project
1. R ight-click the project in which the authentication library is to be used.
2. Click Build Path .
3. Select Configure Build Path .
4. Select Libraries tab.
5. Click Add external JARs .
6. Go to the folder where the Tally Authentication Library is located, select the . jar file, and click Open.
7. Select Order and Export tab.
8. Select .jar file for the Tally Authentication Library, if not already selected, and click OK .
1. Set the developer mode to true, when application is in testing phase
TallyLoginInterface.setDeveloperMode(true);
OR
TallyLoginInterface. setDeveloperMode ( false );
2. Set the online mode before displaying the login screen. The library operates in offline (disconnected) mode by default.
TallyLoginInterface. setOnlineMode ( true );
3. Display the login screen activity using the correct Intent .
Intent loginIntent = new Intent( this , TallyLoginActivity. class );
startActivityForResult(loginIntent, 1);
4. Override the method onActivityResult to receive the authentication completed event.
5. This method gets called when authentication is done successfully or when the LoginActivity is closed by the user.
@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data)
{
super .onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)
{
//call the methods provided by TallyLoginInterface for retrieving authentication information
if (resultCode == RESULT_OK )
{
String username = TallyLoginInterface. getTallyNetID ();
boolean mode = TallyLoginInterface. getOnlineMode ();
int errorCode = TallyLoginInterface. getErrorCode ();
String errorMsg = TallyLoginInterface. getErrorDescription ();
String libver = TallyLoginInterface. getLibraryVersion ();
String sessionId= TallyLoginInterface. getSessionID ();
}
}
}
Two public classes are provided from the library to the third party developers, namely
1. TallyLoginActivity : Displays the login screen to the user.
2. TallyLoginInterface : Retrieves information after the authentication is completed (either successfully or unsuccessfully). It also sets the mode to operate the library.
API/Methods of TallyLoginInterface class are listed below:
API/Methods |
Purpose |
void setOnlineMode(boolean) |
To set the mode (online/offline) in which the library operates. If not set, by default the library operates in offline environment. |
boolean getOnlineMode() |
To get the current mode (online/offline) in which the library is operating. |
String getTallyNetID() |
To get the Tally.NET ID where library has authenticated, either successfully or unsuccessfully. |
String getSessionID() |
To get the Session ID after the successful authentication, or it returns null. |
Int getErrorCode() |
To get the error code after an unsuccessful authentication. If the authentication is successful, this method returns null. |
String getErrorDescription() |
To get the error description corresponding to the error code, after an unsuccessful authentication. If the authentication is successful, this method returns null. |
String getLibraryVersion() |
To get the current version of the library. |
String getStatus() |
To get the status of the authentication done by the library. 0 – Success 1 – Failure |
void setDeveloperMode(boolean) |
To set the developer mode for the library. In developer mode, library points to the test server. |
boolean isDeveloperMode() |
To check whether the library is currently working in developer mode or not. |