Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright (C) 2012 The Android Open Source Project
 * Copyright (C) 2009-2013 University of Washington
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

import java.io.File;

import android.os.Environment;

public class Main {
    private static final String ODK_FOLDER_NAME = "opendatakit";
    public static final String TABLES_FOLDER_NAME = "tables";
    public static final String INSTANCES_FOLDER_NAME = "instances";

    public static String getInstanceFolder(String appName, String tableId, String instanceId) {
        String path;
        if (instanceId == null || instanceId.length() == 0) {
            throw new IllegalArgumentException("getInstanceFolder: instanceId is null or the empty string!");
        } else {
            String instanceFolder = instanceId.replaceAll("(\\p{P}|\\p{Z})", "_");

            path = getTablesFolder(appName, tableId) + File.separator + INSTANCES_FOLDER_NAME + File.separator
                    + instanceFolder;
        }

        File f = new File(path);
        f.mkdirs();
        return f.getAbsolutePath();
    }

    public static String getTablesFolder(String appName) {
        String path = getAppFolder(appName) + File.separator + TABLES_FOLDER_NAME;
        return path;
    }

    public static String getTablesFolder(String appName, String tableId) {
        String path;
        if (tableId == null || tableId.length() == 0) {
            throw new IllegalArgumentException("getTablesFolder: tableId is null or the empty string!");
        } else {
            if (!tableId.matches("^\\p{L}\\p{M}*(\\p{L}\\p{M}*|\\p{Nd}|_)+$")) {
                throw new IllegalArgumentException(
                        "getFormFolder: tableId does not begin with a letter and contain only letters, digits or underscores!");
            }
            path = getTablesFolder(appName) + File.separator + tableId;
        }
        File f = new File(path);
        f.mkdirs();
        return f.getAbsolutePath();
    }

    public static String getAppFolder(String appName) {
        String path = getOdkFolder() + File.separator + appName;
        return path;
    }

    public static String getOdkFolder() {
        String path = Environment.getExternalStorageDirectory() + File.separator + ODK_FOLDER_NAME;
        return path;
    }
}