Android Open Source - playnomics-android Cache File






From Project

Back to project page playnomics-android.

License

The source code is released under:

Apache License

If you think the Android project playnomics-android 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.playnomics.android.util;
/* w  w w. ja  va  2s .  c  o  m*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Set;

import android.content.Context;

public class CacheFile {
  
  public interface ICacheFileHandler{
    void onReadSetComplete(Set<String> data);
  }
  
  
  private Util util;
  private Context context;
  private String fileName;
  
  public void setContext(Context context){
    this.context = context;
  }
  
  public CacheFile(Util util, IConfig config){
    this.util = util;
    this.fileName = config.getCacheFileName();
  }
  
  @SuppressWarnings("unchecked")
  public Runnable readSetFromFile(final ICacheFileHandler handler){
    return new Runnable() {
      public void run() {
        File file = util.getContextCacheFile(context, fileName);

        Set<String> set = null;
        FileInputStream fileStream = null;
        ObjectInputStream objectStream = null;

        try {

          fileStream = new FileInputStream(file);
          objectStream = new ObjectInputStream(fileStream);
          
          Object object =  objectStream.readObject();
          set = (Set<String>) object;
        } catch (Exception e) {
        } finally {
          try {
            if (fileStream != null)
              fileStream.close();
            if (objectStream != null)
              objectStream.close();
          } catch (Exception e) {
          }
        }

        handler.onReadSetComplete(set);
      }
    };
  }

  public Runnable writeSetToFile(final Set<String> set){
    return new Runnable() {
      public void run() {
        File file = util.getContextCacheFile(context, fileName);
        
        FileOutputStream fileStream = null;
        ObjectOutputStream objectStream = null;
        boolean writeSuccessful = false;
    
        try {
          fileStream = new FileOutputStream(file);
          objectStream = new ObjectOutputStream(fileStream);
          objectStream.writeObject(set);
          writeSuccessful = true;
        } catch (Exception e) {
          
        } finally {
          try {
            if (objectStream != null)
              objectStream.close();
            if (fileStream != null)
              fileStream.close();
            if (!writeSuccessful)
              file.delete();
          } catch (Exception e) {
            /* do nothing */
          }
        }
      }
    };
  }
  
}




Java Source Code List

com.playnomics.PlaynomicsMoreTestActivity.java
com.playnomics.PlaynomicsTestAppActivity.java
com.playnomics.RichDataFrameDelegate.java
com.playnomics.android.client.AssetClient.java
com.playnomics.android.client.EventQueue.java
com.playnomics.android.client.EventWorker.java
com.playnomics.android.client.HttpConnectionFactory.java
com.playnomics.android.client.IEventQueue.java
com.playnomics.android.client.IEventWorker.java
com.playnomics.android.client.IHttpConnectionFactory.java
com.playnomics.android.client.PlacementDataClient.java
com.playnomics.android.client.SegmentationClient.java
com.playnomics.android.events.AppPageEvent.java
com.playnomics.android.events.AppPauseEvent.java
com.playnomics.android.events.AppResumeEvent.java
com.playnomics.android.events.AppRunningEvent.java
com.playnomics.android.events.AppStartEvent.java
com.playnomics.android.events.CustomEvent.java
com.playnomics.android.events.ExplicitEvent.java
com.playnomics.android.events.ImplicitEvent.java
com.playnomics.android.events.PlaynomicsEvent.java
com.playnomics.android.events.TransactionEvent.java
com.playnomics.android.events.UserInfoEvent.java
com.playnomics.android.messaging.CloseButton.java
com.playnomics.android.messaging.HtmlAdFactory.java
com.playnomics.android.messaging.HtmlAd.java
com.playnomics.android.messaging.HtmlCloseButton.java
com.playnomics.android.messaging.MessagingManager.java
com.playnomics.android.messaging.NativeCloseButton.java
com.playnomics.android.messaging.Placement.java
com.playnomics.android.messaging.Position.java
com.playnomics.android.messaging.Target.java
com.playnomics.android.messaging.ui.IPlayViewFactory.java
com.playnomics.android.messaging.ui.PlayDialog.java
com.playnomics.android.messaging.ui.PlayViewFactory.java
com.playnomics.android.messaging.ui.PlayWebView.java
com.playnomics.android.messaging.ui.RenderTaskFactory.java
com.playnomics.android.push.GcmBroadcastReceiver.java
com.playnomics.android.push.GcmIntentService.java
com.playnomics.android.push.GcmManager.java
com.playnomics.android.sdk.IGoogleCloudMessageConfig.java
com.playnomics.android.sdk.IPlacementDelegate.java
com.playnomics.android.sdk.IPlaynomicsPlacementDelegate.java
com.playnomics.android.sdk.IPlaynomicsPlacementRawDelegate.java
com.playnomics.android.sdk.IPlaynomicsSegmentationDelegate.java
com.playnomics.android.sdk.IPushConfig.java
com.playnomics.android.sdk.IPushNotificationDelegate.java
com.playnomics.android.sdk.Playnomics.java
com.playnomics.android.segments.UserSegmentIds.java
com.playnomics.android.session.ActivityObserver.java
com.playnomics.android.session.GameSessionInfo.java
com.playnomics.android.session.HeartBeatHandler.java
com.playnomics.android.session.HeartBeatProducer.java
com.playnomics.android.session.IActivityObserver.java
com.playnomics.android.session.ICallbackProcessor.java
com.playnomics.android.session.IHeartBeatProducer.java
com.playnomics.android.session.SessionStateMachine.java
com.playnomics.android.session.Session.java
com.playnomics.android.session.TouchEventHandler.java
com.playnomics.android.session.WindowCallbackProxy.java
com.playnomics.android.util.AndroidLogger.java
com.playnomics.android.util.AsyncTaskRunner.java
com.playnomics.android.util.CacheFile.java
com.playnomics.android.util.Config.java
com.playnomics.android.util.ContextWrapper.java
com.playnomics.android.util.EventTime.java
com.playnomics.android.util.IAsyncCall.java
com.playnomics.android.util.IConfig.java
com.playnomics.android.util.IRandomGenerator.java
com.playnomics.android.util.LargeGeneratedId.java
com.playnomics.android.util.LogWriter.java
com.playnomics.android.util.Logger.java
com.playnomics.android.util.Util.java