Android Open Source - appboy-android-sdk Hello Appboy Activity

From Project

Back to project page appboy-android-sdk.


The source code is released under:

Copyright (c) 2014 Appboy, Inc. All rights reserved. * Use of source code or binaries contained within Appboy's Android SDK is permitted only to enable use of the Appboy platform by customers of Appb...

If you think the Android project appboy-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.appboy.helloworld;
// w  w  w  .jav  a2s.  c o  m
import android.content.Context;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.appboy.Appboy;

public class HelloAppboyActivity extends Activity {
  private EditText mNickname, mHighScore, mEmail;
  private Context mApplicationContext;

  // These events will be shown in the Appboy dashboard.
  private static final String HELLO_APPBOY_CUSTOM_CLICK_EVENT = "clicked submit";
  private static final String HELLO_APPBOY_HIGH_SCORE_ATTRIBUTE_KEY = "user high score";

  protected void onCreate(Bundle savedInstanceState) {

    // It is good practice to always get an instance of the appboy singleton using the application
    // context.
    mApplicationContext = this.getApplicationContext();

    mNickname = (EditText) findViewById(;
    mHighScore = (EditText) findViewById(;
    mEmail = (EditText) findViewById(;
    Button submit = (Button) findViewById(;

    submit.setOnClickListener(new View.OnClickListener() {
      public void onClick(View view) {
        // Validate the nickname and high score, then send off to the server.
        String nickname = mNickname.getEditableText().toString();
        String highScore = mHighScore.getEditableText().toString();
        String email = mEmail.getEditableText().toString();

        if (validateNameAndHighScore(nickname, highScore, email)) {
          // Assign the current user an email. You can search for this user using this email on the
          // dashboard

          // Send the custom event for the click

          // Log the custom attribute of "nickname : highScore"
          String attributeString = String.format("%s : %s", nickname, highScore);
            setCustomUserAttribute(HELLO_APPBOY_HIGH_SCORE_ATTRIBUTE_KEY, attributeString);

          displayToast("Sent off event and attribute to Appboy!");

  // Displays a long toast to the user.
  private void displayToast(String message) {
    Toast.makeText(this, message, Toast.LENGTH_LONG).show();

  // Returns true if the name is nonempty, the score is nonempty, and the email is valid
  private boolean validateNameAndHighScore(String name, String score, String email) {
    if (name.length() > 0 && score.length() > 0) {
      if (Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
        return true;
      } else {
        displayToast("Email must be valid");
    } else {
      displayToast("Fields cannot be empty");
    return false;

  protected void onStart() {
    // When opening and closing a session, use the current activity

  protected void onStop() {

Java Source Code List