我想在文档目录中的Android 4.1.2智能手机上保存一个文件.
此代码段:
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS),"test.txt");
Run Code Online (Sandbox Code Playgroud)
抛出此异常:
E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.NoSuchFieldError: android.os.Environment.DIRECTORY_DOCUMENTS
Run Code Online (Sandbox Code Playgroud)
虽然这个工作:
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"test.txt");
Run Code Online (Sandbox Code Playgroud)
但我想将文件保存在我的文档目录中,而不是保存在下载中.我读过DIRECTORY_DOCUMENTS仅适用于Android 4.4及更高版本.但我的智能手机上还有一份文件.那么,没有解决方案将其保存在文档中吗?
谢谢答案
卵石
我在 Firefox 中打印网页时遇到一些问题。如果我在控制台中使用媒体模拟打印, CSS 看起来很棒。但是,如果我通过菜单 -> 打印此页查看打印预览。
它看起来很糟糕,而且只显示第一页 - 其他页面都是空的!
那么有人知道媒体模拟打印和菜单 -> 打印此页面之间的区别吗?
我该如何解决我的问题?
由于我在我的应用程序中使用了很多依赖项,因此我达到了65k方法限制(我达到了76k方法).我在android.developer上读过,proguard用于缩小代码.
那么 - proguard只会缩小我的应用程序代码还是缩小我的依赖项代码呢?使用proguard缩小代码时,是否需要警惕某些事情?我怎么做?
我的Gradle Build:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "some.Path"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
configurations {
compile.exclude group: 'org.apache.xmlbeans'
}
repositories {
maven { url "https://jitpack.io" } …Run Code Online (Sandbox Code Playgroud)