Sample Android app

A sample automatically instrumented Android application as well as a manually instrumented Android app. Note that this code assumes a button is created with an id named TestButton.

Automatic

SkeletonApplication.java
package com.Localytics.SampleSkeleton;

import android.app.Application;

import com.localytics.android.Localytics;
import com.localytics.android.LocalyticsActivityLifecycleCallbacks;

public class SkeletonApplication extends Application
{

   @Override
   public void onCreate()
   {
      super.onCreate();

      Localytics.setLoggingEnabled(true);
      registerActivityLifecycleCallbacks(new LocalyticsActivityLifecycleCallbacks(this));
      Localytics.setPushDisabled(false);
   }
}
SkeletonActivity.java
package com.Localytics.SampleSkeleton;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
 
import com.Localytics.android.*;
 
public class SkeletonActivity extends FragmentActivity
{
   private final static String PROJECT_NUMBER_FOR_PUSH ="PROJECT_NUMBER_GENERATED_ONLINE";
   private final static String EVENT_TEST_BUTTON = "Test Button";
 
   private Button testButton;
 
   public void onCreate(Bundle savedInstanceState)
   {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
 
      Localytics.registerPush("PROJECT_NUMBER_FOR_PUSH");   // Only needed if using Localytics Push

      // This demo assumes a button called TestButton has been defined
      // in the main XML layout.
      this.testButton = (Button)findViewById(R.id.TestButton);
      this.testButton.setOnClickListener(new OnClickListener()
      {
         public void onClick(View v)
         {
            Localytics.tagEvent(SkeletonView.EVENT_TEST_BUTTON);
         }
      });
   }

   public void onNewIntent(Intent intent)
   {
      super.onNewIntent(intent);
      setIntent(intent);
   } 
}

Manual

SkeletonApplication.java
package com.Localytics.SampleSkeleton;

import android.app.Application;

import com.localytics.android.Localytics;
import com.localytics.android.LocalyticsActivityLifecycleCallbacks;

public class SkeletonApplication extends Application
{

   @Override
   public void onCreate()
   {
      super.onCreate();

      Localytics.setLoggingEnabled(true);
      Localytics.integrate(this);
      Localytics.setPushDisabled(false);
   }
}
SkeletonView.java
package com.Localytics.SampleSkeleton;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
 
import com.Localytics.android.*;
 
public class SkeletonView extends FragmentActivity
{
   private final static String PROJECT_NUMBER_FOR_PUSH ="PROJECT_NUMBER_GENERATED_ONLINE";
   private final static String EVENT_TEST_BUTTON = "Test Button";
 
   private Button testButton;
 
   public void onCreate(Bundle savedInstanceState)
   {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
 
      Localytics.registerPush("PROJECT_NUMBER_FOR_PUSH");   // Only needed if using Localytics Push
 
      // This demo assumes a button called TestButton has been defined
      // in the main XML layout.
      this.testButton = (Button)findViewById(R.id.TestButton);
      this.testButton.setOnClickListener(new OnClickListener()
      {
         public void onClick(View v)
         {
            Localytics.tagEvent(SkeletonView.EVENT_TEST_BUTTON);
         }
      });
   }
 
   public void onResume()
   {
      super.onResume();

      Localytics.openSession();
      Localytics.upload();

      if (activity instanceof FragmentActivity)
      {
          Localytics.setInAppMessageDisplayActivity((FragmentActivity) activity);
      }

      Localytics.handleTestMode(activity.getIntent());
   }
 
   public void onPause()
   {
      if (activity instanceof FragmentActivity)
      {
          Localytics.dismissCurrentInAppMessage();
          Localytics.clearInAppMessageDisplayActivity();
      }

      Localytics.closeSession();
      Localytics.upload();

      super.onPause();
   }

   public void onNewIntent(Intent intent)
   {
      super.onNewIntent(intent);
      setIntent(intent);
   } 
}