Java 关于android文件管理环境、android概念和android库插件
要在Eclipse下使用Java在Android中创建文件,我必须使用:Java 关于android文件管理环境、android概念和android库插件,java,android,gradle,javafx,gluon-mobile,Java,Android,Gradle,Javafx,Gluon Mobile,要在Eclipse下使用Java在Android中创建文件,我必须使用: File docsFolder = new File(Environment.getExternalStorageDirectory() + "/toto.txt"); 所以,我必须导入android.os.Environment 案例1: 在Eclipse项目-Gradle-Refresh All之后,我得到以下错误: error: package android.os does not exist import an
File docsFolder = new File(Environment.getExternalStorageDirectory() + "/toto.txt");
所以,我必须导入android.os.Environment
案例1:
在Eclipse项目-Gradle-Refresh All之后,我得到以下错误:
error: package android.os does not exist
import android.os.Environment;
^
C:\Users\pascal\workspaceNeon\JFX_withGluon_10.8n\src\main\java\com\gluonapplication\PopUp.java:2694: error: cannot find symbol
GluonApplication.traceSimple("Path: " + Environment.getExternalStorageDirectory());
^
symbol: variable Environment
案例2:
结果:我在build.gradle文件中添加了应用插件:“android库”,见下文
在本例中,在Gradle Refresh all上,我得到:
"FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'JFX_withGluon_10.8n'.
> **android.compileSdkVersion is missing!**"
我的build.gradle文件似乎很好。我刚才补充说:
应用插件:“android库”
Java构建路径库包括android-25.jar
src/android/res/AndroidManifest.xml:
"<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="25"/>
为了避免所有这些复杂问题,我认为您应该尝试使用Android Studio。在downConfig块下的构建文件中包括几个“插件”。这些插件提供了一个不可知的API,这意味着您将它们添加到主Java包中,并且有一个隐藏的特定于平台的实现,一旦您将应用程序部署到任何可能的平台桌面、android或iOS上,就会使用它 如果你想访问一个给定的文件夹,你有一个存储插件 检查API 您可以在应用程序中获得捆绑的私人文件夹或公用文件夹 对于与你的应用程序相关的数据,我将使用私人文件夹:
File localRoot = Services.get(StorageService.class)
.flatMap(s -> s.getPrivateStorage())
.orElseThrow(() -> new RuntimeException("Error retrieving private storage"));
现在您可以在那里创建文件:
File docsFolder = new File(localRoot + "/toto.txt");
File docsFolder = new File(publicRoot + "/toto.txt");
对于公共媒体,首先需要检查它是否可用,媒体是否已装载,以及您是否具有写入权限:
boolean storageAvailable = Services.get(StorageService.class)
.map(service -> service.isExternalStorageWritable())
.orElse(false);
然后,您必须选择要获取的文件夹,即文档:
现在,您可以在那里创建文件:
File docsFolder = new File(localRoot + "/toto.txt");
File docsFolder = new File(publicRoot + "/toto.txt");
最后,如果您检查项目是如何构造的,那么您有一个对每个平台都通用的主包:您只能将Java代码放在那里。然后你有一个安卓软件包,所以如果你需要它,你可以添加安卓API,但只能在这个软件包中添加
Charm Down插件正是一个例子,说明了如何在主软件包上使用公共API创建服务,例如,请参阅StorageService,以及它的不同实现,例如,请参阅AndroidStorageService。为什么在2017年使用ECLIPSE?不再支持ECLIPSE!如果你去掉胶子标签,人们会把它当作一个普通的安卓问题。使用gluon和javafxports标记以避免混淆。对不起,我在这个应用程序中也使用了javafxports gluon charm down,它也已经为桌面开发,没有Android studio。注意:这两个平台经常使用这个应用程序。我更了解如何避免为平台编写专用代码。现在,我正在尝试使用你的第一个解决方案。我已经实现了你的第一个解决方案,并用Android进行了测试。这很好:文件可以在Android私有目录中写入、读取或删除。Ok。当其中一个答案对您有效时,您应该将其标记为已接受的绿色勾号,因为其他人稍后会发现它并知道它是有用的。如果你喜欢这些答案中的任何一个,你也可以投票。这就是SO的工作原理……如何在SO讨论中做出绿色标记?谢谢