Android Open Source - magdaa-library Open Data Kit Utils






From Project

Back to project page magdaa-library.

License

The source code is released under:

GNU General Public License

If you think the Android project magdaa-library 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

/*
 * Copyright (C) 2012, 2013 The MaGDAA Project
 */*from  w ww.  j  a  va 2s.  c om*/
 * This file is part of the MaGDAA Library Software
 *
 * MaGDAA Library Software is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This source code is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this source code; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package org.magdaaproject.utils;

import java.text.SimpleDateFormat;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;

/**
 * a utility class which exposes methods to format data for use with 
 * the Open Data Kit suite of applications
 */
@SuppressLint("SimpleDateFormat")
public class OpenDataKitUtils {
  
  /*
   * public class level constants
   */
  
  /**
   * identify the package name of the Serval Mesh software
   */
  public static final String ODK_COLLECT_PACKAGE_NAME = "org.odk.collect.android";
  
  
  /**
   * build a location string in the style used by Open Data Kit XForm instances
   * 
   * @param latitude the latitude geo-coordinate
   * @param longitude the longitude geo-coordinate
   * @param altitude the altitude part of the geo-coordinate
   * @param accuracy the accuracy part of the geo-coordiante
   * 
   * @return a string containing the formatted location information, or an empty string
   */
  public static String getLocationString(String latitude, String longitude, String altitude, String accuracy) {
    
    if(latitude == null || longitude == null) {
      return "";
    }
    
    // build the location string
    StringBuilder mBuilder = new StringBuilder();
    
    mBuilder.append(latitude);
    mBuilder.append(" ");
    mBuilder.append(longitude);
    
    // add altitude and accuracy information if present
    if(altitude != null && accuracy != null) {
      
      mBuilder.append(" ");
      mBuilder.append(altitude);
      mBuilder.append(" ");
      mBuilder.append(accuracy);
    }
    
    // return the string
    return mBuilder.toString();    
  }
  
  /**
   * using a timestamp generate a string which can be used in directory and file names for ODK Collect
   * 
   * @param timestamp the timestamp to convert
   * 
   * @return a formatted string
   */
  public static String getInstanceFileName(long timestamp) {
    
    /*
     * use the same format string as that used by ODK collect
     */
    SimpleDateFormat mFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
    return mFormat.format(timestamp);
  }
  
  /**
   * check to see if the ODK Collect package is installed
   * @param context a context object used to gain access to system resources
   * @return true if the ODK Collect software is installed
   */
  public static boolean isOdkCollectInstalled(Context context) {
    try {
      context.getPackageManager().getApplicationInfo(ODK_COLLECT_PACKAGE_NAME, PackageManager.GET_META_DATA);
    } catch (NameNotFoundException e) {
      return false;
    }

    return true;
  }
}




Java Source Code List

org.apache.commons.io.Charsets.java
org.apache.commons.io.FileExistsException.java
org.apache.commons.io.FileUtils.java
org.apache.commons.io.FilenameUtils.java
org.apache.commons.io.IOCase.java
org.apache.commons.io.IOUtils.java
org.apache.commons.io.LineIterator.java
org.apache.commons.io.filefilter.AbstractFileFilter.java
org.apache.commons.io.filefilter.AgeFileFilter.java
org.apache.commons.io.filefilter.AndFileFilter.java
org.apache.commons.io.filefilter.ConditionalFileFilter.java
org.apache.commons.io.filefilter.DelegateFileFilter.java
org.apache.commons.io.filefilter.DirectoryFileFilter.java
org.apache.commons.io.filefilter.FalseFileFilter.java
org.apache.commons.io.filefilter.FileFileFilter.java
org.apache.commons.io.filefilter.FileFilterUtils.java
org.apache.commons.io.filefilter.IOFileFilter.java
org.apache.commons.io.filefilter.MagicNumberFileFilter.java
org.apache.commons.io.filefilter.NameFileFilter.java
org.apache.commons.io.filefilter.NotFileFilter.java
org.apache.commons.io.filefilter.OrFileFilter.java
org.apache.commons.io.filefilter.PrefixFileFilter.java
org.apache.commons.io.filefilter.SizeFileFilter.java
org.apache.commons.io.filefilter.SuffixFileFilter.java
org.apache.commons.io.filefilter.TrueFileFilter.java
org.apache.commons.io.input.ClosedInputStream.java
org.apache.commons.io.output.ByteArrayOutputStream.java
org.apache.commons.io.output.NullOutputStream.java
org.apache.commons.io.output.StringBuilderWriter.java
org.magdaaproject.utils.DeviceUtils.java
org.magdaaproject.utils.FileUtils.java
org.magdaaproject.utils.GeoCoordUtils.java
org.magdaaproject.utils.OpenDataKitUtils.java
org.magdaaproject.utils.SensorUtilsException.java
org.magdaaproject.utils.SensorUtils.java
org.magdaaproject.utils.TimeUtils.java
org.magdaaproject.utils.UnitConversionUtils.java
org.magdaaproject.utils.readings.ReadingsList.java
org.magdaaproject.utils.readings.SensorReading.java
org.magdaaproject.utils.readings.TempHumidityReading.java
org.magdaaproject.utils.readings.WeatherReading.java
org.magdaaproject.utils.serval.RhizomeUtils.java
org.magdaaproject.utils.serval.ServalStatusReceiver.java
org.magdaaproject.utils.serval.ServalUtils.java
org.magdaaproject.utils.xforms.XFormsException.java
org.magdaaproject.utils.xforms.XFormsUtils.java
org.zeroturnaround.zip.ByteSource.java
org.zeroturnaround.zip.FileSource.java
org.zeroturnaround.zip.FileUtil.java
org.zeroturnaround.zip.IdentityNameMapper.java
org.zeroturnaround.zip.NameMapper.java
org.zeroturnaround.zip.ZipBreakException.java
org.zeroturnaround.zip.ZipEntryCallback.java
org.zeroturnaround.zip.ZipEntrySource.java
org.zeroturnaround.zip.ZipException.java
org.zeroturnaround.zip.ZipInfoCallback.java
org.zeroturnaround.zip.ZipUtil.java
org.zeroturnaround.zip.transform.ByteArrayZipEntryTransformer.java
org.zeroturnaround.zip.transform.FileZipEntryTransformer.java
org.zeroturnaround.zip.transform.StreamZipEntryTransformer.java
org.zeroturnaround.zip.transform.StringZipEntryTransformer.java
org.zeroturnaround.zip.transform.ZipEntrySourceZipEntryTransformer.java
org.zeroturnaround.zip.transform.ZipEntryTransformerEntry.java
org.zeroturnaround.zip.transform.ZipEntryTransformer.java