- add storage folder support to android renderer, thanks @iwgeric

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9064 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
nor..67 13 years ago
parent b51c736e80
commit 60f7963cf4
  1. 46
      engine/src/android/com/jme3/system/android/JmeAndroidSystem.java

@ -2,6 +2,7 @@ package com.jme3.system.android;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Environment;
import com.jme3.asset.AndroidAssetManager;
import com.jme3.asset.AssetManager;
import com.jme3.audio.AudioRenderer;
@ -13,11 +14,12 @@ import com.jme3.system.JmeSystemDelegate;
import com.jme3.system.Platform;
import com.jme3.util.AndroidLogHandler;
import com.jme3.util.JmeFormatter;
import java.io.File;
import java.net.URL;
import java.util.logging.Handler;
import java.util.logging.Level;
public class JmeAndroidSystem extends JmeSystemDelegate{
public class JmeAndroidSystem extends JmeSystemDelegate {
private static Resources res;
private static Activity activity;
@ -71,21 +73,49 @@ public class JmeAndroidSystem extends JmeSystemDelegate{
@Override
public Platform getPlatform() {
String arch = System.getProperty("os.arch").toLowerCase();
if (arch.contains("arm")){
if (arch.contains("v5")){
if (arch.contains("arm")) {
if (arch.contains("v5")) {
return Platform.Android_ARM5;
}else if (arch.contains("v6")){
} else if (arch.contains("v6")) {
return Platform.Android_ARM6;
}else if (arch.contains("v7")){
} else if (arch.contains("v7")) {
return Platform.Android_ARM7;
}else{
} else {
return Platform.Android_ARM5; // unknown ARM
}
}else{
} else {
throw new UnsupportedOperationException("Unsupported Android Platform");
}
}
@Override
public synchronized File getStorageFolder() {
//http://developer.android.com/reference/android/content/Context.html#getExternalFilesDir
//http://developer.android.com/guide/topics/data/data-storage.html
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
mExternalStorageWriteable = true;
} else {
mExternalStorageWriteable = false;
}
if (mExternalStorageWriteable) {
//getExternalFilesDir automatically creates the directory if necessary.
//directory structure should be: /mnt/sdcard/Android/data/<packagename>/files
//when created this way, the directory is automatically removed by the Android
// system when the app is uninstalled
storageFolder = activity.getApplicationContext().getExternalFilesDir(null);
logger.log(Level.INFO, "Storage Folder Path: {0}", storageFolder.getAbsolutePath());
return storageFolder;
} else {
return null;
}
}
public static void setResources(Resources res) {
JmeAndroidSystem.res = res;
}

Loading…
Cancel
Save