Java tutorial
//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 FORMS_FOLDER_NAME = "forms"; public static String getFormsFolder(String appName, String tableId) { String path = getTablesFolder(appName, tableId) + File.separator + FORMS_FOLDER_NAME; return path; } 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; } }