• mnnit.laltukumar1.391409072680632E12
  • NEWBIE
  • 0 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 3
    Replies
Hi ,
 i am creating native app. when i am caling REST API sendAsync for creating record ,record is created sucessfully but i am doesnt get any record id or response back in callback.
Hi All,
I have created this app for creating custom login for salesforce in android.But while running I am getting binding error "No account of type com.salesforce.androisdk found" . I don't have any idea what this is about can anyone has any idea can share.. 





public class MainActivity extends SalesforceActivity  {

private RestClient client;
private ArrayAdapter<String> listAdapter;
private static String TAG = "TemplateApp";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.v(TAG," onCreate of Main Activity");
    // Setup view
    setContentView(R.layout.main);
}

@Override
public void onResume() {
    Log.v(TAG," ******* default onResume of Main Activity");
        super.onResume();

        findViewById(R.id.root).setVisibility(View.VISIBLE);
        Log.v(TAG," ******* default onResume - View.INVISIBLE");

        // Login options
        String accountType = SalesforceSDKManager.getInstance().getAccountType();

        Log.v(TAG," ******* default onResume - accountType ::"+accountType);

        LoginOptions loginOptions = new LoginOptions(
                "https://login.salesforce.com/", // login host is chosen by user through the server picker
                SalesforceSDKManager.getInstance().getPasscodeHash(),
                getString(R.string.oauth_callback_url),
                getString(R.string.oauth_client_id),
                new String[] {"api"});
        Log.v(TAG," ******* default onResume - loginOptions ::"+loginOptions);


        // Get a rest client
        new ClientManager(this, accountType, SalesforceSDKManager.getInstance().getLoginOptions(),SalesforceSDKManager.getInstance().shouldLogoutWhenTokenRevoked()).getRestClient(this,
                       new RestClientCallback() {
            @Override
            public void authenticatedRestClient(RestClient client) {

                // Show everything
                findViewById(R.id.root).setVisibility(View.VISIBLE);

              
     if (client == null) {
      SalesforceSDKManager.getInstance().logout(MainActivity.this);
      return;
     }
     onResume(client);

     // Lets observers know that rendition is complete.
     EventsObservable.get().notifyEvent(EventType.RenditionComplete);
    }
   });
            }
   


protected LoginOptions getLoginOptions() {
    Log.v(TAG," getLoginOptions of Main Activity");
    LoginOptions loginOptions = new LoginOptions(
            null, // login host is chosen by user through the server picker
            SalesforceSDKManager.getInstance().getPasscodeHash(),
            getString(R.string.oauth_callback_url),
            getString(R.string.oauth_client_id),
            new String[] {"api"});
    return loginOptions;
}

public void onResume(RestClient client) {
    Log.v(TAG," onResume of Main Activity");
    // Keeping reference to rest client
    this.client = client;

    // Show everything
    findViewById(R.id.root).setVisibility(View.VISIBLE);
}

/**
* Called when "Logout" button is clicked.
*
* @param v
*/
public void onLogoutClick(View v) {
SalesforceSDKManager.getInstance().logout(this);
}

/**
* Called when "Clear" button is clicked.
*
* @param v
*/

public void onClearClick(View v) {
    listAdapter.clear();
}  

/**
* Called when "Fetch Contacts" button is clicked
*
* @param v
* @throws UnsupportedEncodingException
*/

public void onFetchContactsClick(View v) throws UnsupportedEncodingException {
    sendRequest("SELECT Name FROM Contact");
}

public void onFetchAccountsClick(View v) throws UnsupportedEncodingException {
    sendRequest("SELECT Name FROM Account");
}  

private void sendRequest(String soql) throws UnsupportedEncodingException {
    RestRequest restRequest = RestRequest.getRequestForQuery(getString(R.string.api_version), soql);

    client.sendAsync(restRequest, new AsyncRequestCallback() {
        @Override
        public void onSuccess(RestRequest request, RestResponse result) {
            try {
                listAdapter.clear();
                JSONArray records = result.asJSONObject().getJSONArray("records");
                for (int i = 0; i < records.length(); i++) {
                    listAdapter.add(records.getJSONObject(i).getString("Name"));
                }                  
            } catch (Exception e) {
                onError(e);
            }
        }

        @Override
        public void onError(Exception exception) {
            Toast.makeText(MainActivity.this,
                           MainActivity.this.getString(SalesforceSDKManager.getInstance().getSalesforceR().stringGenericError(), exception.toString()),
                           Toast.LENGTH_LONG).show();
        }
    });
}
Hi All,
I have created this app for creating custom login for salesforce in android.But while running I am getting binding error "No account of type com.salesforce.androisdk found" . I don't have any idea what this is about can anyone has any idea can share.. 





public class MainActivity extends SalesforceActivity  {

private RestClient client;
private ArrayAdapter<String> listAdapter;
private static String TAG = "TemplateApp";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.v(TAG," onCreate of Main Activity");
    // Setup view
    setContentView(R.layout.main);
}

@Override
public void onResume() {
    Log.v(TAG," ******* default onResume of Main Activity");
        super.onResume();

        findViewById(R.id.root).setVisibility(View.VISIBLE);
        Log.v(TAG," ******* default onResume - View.INVISIBLE");

        // Login options
        String accountType = SalesforceSDKManager.getInstance().getAccountType();

        Log.v(TAG," ******* default onResume - accountType ::"+accountType);

        LoginOptions loginOptions = new LoginOptions(
                "https://login.salesforce.com/", // login host is chosen by user through the server picker
                SalesforceSDKManager.getInstance().getPasscodeHash(),
                getString(R.string.oauth_callback_url),
                getString(R.string.oauth_client_id),
                new String[] {"api"});
        Log.v(TAG," ******* default onResume - loginOptions ::"+loginOptions);


        // Get a rest client
        new ClientManager(this, accountType, SalesforceSDKManager.getInstance().getLoginOptions(),SalesforceSDKManager.getInstance().shouldLogoutWhenTokenRevoked()).getRestClient(this,
                       new RestClientCallback() {
            @Override
            public void authenticatedRestClient(RestClient client) {

                // Show everything
                findViewById(R.id.root).setVisibility(View.VISIBLE);

              
     if (client == null) {
      SalesforceSDKManager.getInstance().logout(MainActivity.this);
      return;
     }
     onResume(client);

     // Lets observers know that rendition is complete.
     EventsObservable.get().notifyEvent(EventType.RenditionComplete);
    }
   });
            }
   


protected LoginOptions getLoginOptions() {
    Log.v(TAG," getLoginOptions of Main Activity");
    LoginOptions loginOptions = new LoginOptions(
            null, // login host is chosen by user through the server picker
            SalesforceSDKManager.getInstance().getPasscodeHash(),
            getString(R.string.oauth_callback_url),
            getString(R.string.oauth_client_id),
            new String[] {"api"});
    return loginOptions;
}

public void onResume(RestClient client) {
    Log.v(TAG," onResume of Main Activity");
    // Keeping reference to rest client
    this.client = client;

    // Show everything
    findViewById(R.id.root).setVisibility(View.VISIBLE);
}

/**
* Called when "Logout" button is clicked.
*
* @param v
*/
public void onLogoutClick(View v) {
SalesforceSDKManager.getInstance().logout(this);
}

/**
* Called when "Clear" button is clicked.
*
* @param v
*/

public void onClearClick(View v) {
    listAdapter.clear();
}  

/**
* Called when "Fetch Contacts" button is clicked
*
* @param v
* @throws UnsupportedEncodingException
*/

public void onFetchContactsClick(View v) throws UnsupportedEncodingException {
    sendRequest("SELECT Name FROM Contact");
}

public void onFetchAccountsClick(View v) throws UnsupportedEncodingException {
    sendRequest("SELECT Name FROM Account");
}  

private void sendRequest(String soql) throws UnsupportedEncodingException {
    RestRequest restRequest = RestRequest.getRequestForQuery(getString(R.string.api_version), soql);

    client.sendAsync(restRequest, new AsyncRequestCallback() {
        @Override
        public void onSuccess(RestRequest request, RestResponse result) {
            try {
                listAdapter.clear();
                JSONArray records = result.asJSONObject().getJSONArray("records");
                for (int i = 0; i < records.length(); i++) {
                    listAdapter.add(records.getJSONObject(i).getString("Name"));
                }                  
            } catch (Exception e) {
                onError(e);
            }
        }

        @Override
        public void onError(Exception exception) {
            Toast.makeText(MainActivity.this,
                           MainActivity.this.getString(SalesforceSDKManager.getInstance().getSalesforceR().stringGenericError(), exception.toString()),
                           Toast.LENGTH_LONG).show();
        }
    });
}

I have the forcedotcom/SalesforceMobileSDK-Android cloned and I'm trying to upgrade our existing mobile app to the latest SDK and I'm unable to find the Salesforce jar file that is referenced.

 

Does anyone know where to find it?

I have successfully set up the connected app with a published state as well as the cloud tunes android app on eclipse.

But i am now stuck with the following error:

 

01-17 20:35:45.765: I/ClientManager:getRestClient(436): No account of type com.salesforce.androidsdk.sample found
01-17 20:35:45.765: D/AccountManagerService(58): bind attempt failed for Session: expectLaunch true, connected false, stats (0/0/0), lifetime 0.0, addAccount, accountType com.salesforce.androidsdk.sample, requiredFeatures null
01-17 20:35:45.826: D/dalvikvm(436): GC_FOR_MALLOC freed 2308 objects / 535160 bytes in 53ms
01-17 20:35:45.885: I/ActivityManager(58): Displayed activity com.salesforce.androidsdk.sample/.AlbumListActivity: 3361 ms (total 27998 ms)
01-17 20:35:45.965: W/AccMgrCallback:run(436): android.accounts.AuthenticatorException: bind failure
01-17 20:35:45.965: W/AccMgrCallback:run(436): at android.accounts.AccountManager.convertErrorToException(AccountManager.java:1433)
01-17 20:35:45.965: W/AccMgrCallback:run(436): at android.accounts.AccountManager.access$400(AccountManager.java:134)
01-17 20:35:45.965: W/AccMgrCallback:run(436): at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1279)
01-17 20:35:45.965: W/AccMgrCallback:run(436): at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
01-17 20:35:45.965: W/AccMgrCallback:run(436): at android.os.Binder.execTransact(Binder.java:288)
01-17 20:35:45.965: W/AccMgrCallback:run(436): at dalvik.system.NativeStart.run(Native Method)
01-17 20:35:46.215: I/ActivityManager(58): Starting activity: Intent { flg=0x10000000 cmp=com.salesforce.androidsdk.sample/.AlbumListActivity }

 

The above error keeps looping and the activity just keep restarting itself ..and finally force closes after many attempts..

 

I have followed the mobile sdk workbook sample, Kindly let me know what i am doing wrong here..

 

thanks ----- crimson