小编And*_*eaF的帖子

无法更新android app assets文件夹中的文件

我想在用户单击按钮时更新assets文件夹中的文件.

我的听众是经典

OnClickListener myUpdateListener = new OnClickListener() {
    public void onClick(View v) {
        updateAllParams();
    }
};
Run Code Online (Sandbox Code Playgroud)

新文件是以这种形式的网址

http://sample.test/android/params.dtf

在文件资产文件夹

params.dtf
Run Code Online (Sandbox Code Playgroud)

但我不知道如何用网站上的新版本替换此文件.

android android-file

5
推荐指数
1
解决办法
4227
查看次数

如何使用Bundle在Activity之间传递一个Uri数组

我需要将一个Uri数组传递给另一个活动,传递一个我简单使用的String数组

String[] images=getImagesPathString();

    Bundle b = new Bundle();
    b.putStringArray("images", images);
Run Code Online (Sandbox Code Playgroud)

但是使用一组Uri

 Uri[] imagesUri=getImagesUri();
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为在Bundle中没有方法"putUri(Uri x)"

我怎么能解决这个问题?

android android-intent android-activity

5
推荐指数
2
解决办法
8615
查看次数

如何使用搜索框实现Dialog?

我有一个主要活动,其中包含一个列表和一个接收关键字的方法,以便在数据库中进行搜索.

我想AlertDialog在我通过此表单中的动作侦听器单击按钮时,在主活动上显示一个搜索框

OnClickListener searchListener = new OnClickListener() {

    public void onClick(View v) {
        // ...
    }
};
Run Code Online (Sandbox Code Playgroud)

这个对话框应该有一个简单的EditText方框和两个按钮(SearchCancel),并且必须将String选中的EditText方法传递给表单中的搜索方法:

public void searchWord(String keyword){
    // ....search in DB
    // ...updateListGUIWithNewValues()
}
Run Code Online (Sandbox Code Playgroud)

此方法是获取新列表值的主要活动,因此活动可以更新GUI列表.

我已经实现了搜索方法和主要活动,但我不知道实现这种对话的正确方法.

search android android-alertdialog

5
推荐指数
1
解决办法
1万
查看次数

如果我选择大图像,OnActivityResult崩溃

我必须获取图库中图像的图像路径,并将其保存为列表,但是不幸的是,如果所选图像太大,则以下代码会使应用程序崩溃(并且不会查看try catch块中的警报)。

private void openImage() {

         try{
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.setType("image/*");
            startActivityForResult(i, FILE_REQ_CODE);
            } catch (RuntimeException e) {
                           e.printStackTrace();
               Alerts.TooLargeImage(LoadImage.this);
            }

    }

    protected void onActivityResult(int requestCode, int resultCode,
            Intent intentData) {
        try{
            Uri tmp = intentData.getData();
            String path = tmp.toString();
            imagePathList.add(path);
            preview.setImageURI(tmp);
            FileArchiveManager.saveImagePath(imagePathList);
            super.onActivityResult(requestCode, resultCode, intentData);
            } catch (RuntimeException e) {
                           e.printStackTrace();
               Alerts.TooLargeImage(LoadImage.this);
            }
    }
Run Code Online (Sandbox Code Playgroud)

错误日志

java.lang.OutOfMemoryError: bitmap size exceeds VM budget(Heap Size=8135KB, Allocated=3718KB, Bitmap Size=11707KB)
    at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:694)
    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:494)
    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
    at android.graphics.drawable.Drawable.createFromStream(Drawable.java:657)
    at …
Run Code Online (Sandbox Code Playgroud)

android android-image android-activity

5
推荐指数
1
解决办法
1458
查看次数

Eclipse"\ Android私有库"vs"\ Referenced Libraries"

我注意到需要手动添加一些库来构建路径(即"Referenced Libraries"),而如果我只是将jar放在\libs文件夹中(即"Android Private Libraries"),其他库工作正常.

例如,如果手动将android支持库添加到构建路径,那么android支持库工作正常,但是原因是什么?

我不明白有什么区别,什么时候我应该选择一个选项而不是另一个选项,反之亦然.

eclipse android shared-libraries

5
推荐指数
1
解决办法
1121
查看次数

LayoutEditor java.lang.ClassNotFoundException与最新的AndroidStudio和API 28

前提:我已经尝试了Stackoverflow中提出的所有解决方案,类似的问题,建议重新构建,清理缓存或添加到样式父项Base.,但没有结果。因此,错误的起因也应该是不同的,因为发生在具有最新API级别28的项目上。

编辑器无法报告以下类无法实例化:

  • android.support.design.widget.CoordinatorLayout
  • android.support.design.widget.AppBarLayout

错误堆栈:

java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
    at org.jetbrains.android.uipreview.ModuleClassLoader.load(ModuleClassLoader.java:180)
    at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:61)
    at org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:118)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.jetbrains.android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.java:213)
    at android.support.design.widget.AppBarLayout.<init>(AppBarLayout.java:190)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:481)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:264)
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:222)
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:209)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:337)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:348)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:248)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:863)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:837)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384)
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:544)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:678)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Gradle文件:

apply …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-studio

5
推荐指数
1
解决办法
165
查看次数

4
推荐指数
1
解决办法
3247
查看次数

获取当前日期作为字符串警告已弃用toGmtString()问题

我想在Android中获取当前日期日/月/年最小值:秒,所以我使用了以下代码

String data="";
Calendar c = Calendar.getInstance(); 
data=c.getTime().toGMTString();
Run Code Online (Sandbox Code Playgroud)

但Eclipse通知我该方法.toGMTString();已被弃用.

如何将当前日期作为格式化字符串获取,避免使用此弃用方法?

android calendar android-date android-calendar

4
推荐指数
2
解决办法
8460
查看次数

如何更新不推荐使用的com.google.api.client.extensions.android.http.AndroidHttp

我有以下对象

HttpTransport t = AndroidHttp.newCompatibleTransport();
Run Code Online (Sandbox Code Playgroud)

但是整个AndroidHttp类(com.google.api.client.extensions.android.http.AndroidHttp)都被标记为已弃用。

我不知道使用较新的库替换它的类是什么。

如何替换这个过时的电话?

android google-api-java-client google-api-client android-httptransport

4
推荐指数
1
解决办法
451
查看次数

对子目录 DocumentFile 对象的 Uri 调用 DocumentFile.fromTreeUri() 时出现意外行为

如果我调用 DocumentFile.fromTreeUri()主目录并列出其内容,它会DocumentFile按预期返回与目录中包含的文件夹和文件相关的所有对象,但是当我尝试调用DocumentFile.fromTreeUri()其中Uri的文件夹之一时DocumentFile,而不是返回所有DocumentFile相关对象按预期返回到子目录中包含的文件夹和文件,它实际上返回与其根目录上的调用完全相同的内容Uri

例如,我有一个包含 3 个文件的下载文件夹和一个包含 2 个文件的子文件夹,其结构如下

Download
-->file1
-->file2
-->file3
-->Subfolder
----->subfile1
----->subfile2
Run Code Online (Sandbox Code Playgroud)

如果我调用 通过意图回调选择的DocumentFile.fromTreeUri().listFiles()下载文件夹 它会返回我Uricontent://com.android.externalstorage.documents/tree/primary%3ADownload

-->file1
-->file2
-->file3
-->Subfolder
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,现在如果我尝试获取Uri与调用DocumentFile相关的对象,我得到的显然看起来是正确的,但是如果我调用它,当我列出它的内容时我会再次得到Subfoldermysub.getUri()content://com.android.externalstorage.documents/tree/primary%3ADownload/document/primary%3ADownload%2FSubfolderDocumentFile.fromTreeUri().listFiles()

-->file1
-->file2
-->file3
-->Subfolder
Run Code Online (Sandbox Code Playgroud)

与主下载文件夹 Uri 上的调用完全相同。如果我直接打电话,也会发生同样的情况mysub.listFiles()。这看起来是一个完全不合逻辑的设计。

我怎样才能真正从与其父DocumentFile文件夹相关的对象中正确获取与子文件夹相关的对象DocumentFile,以便子文件夹DocumentFile可以列出其内容而不是其父文件夹的内容?

android storage-access-framework android-10.0 android-11

4
推荐指数
1
解决办法
1408
查看次数