小编xar*_*g89的帖子

vertical DrawerLayout或SlidingPaneLayout

最新的Android支持库引入了DrawerLayout来实现常见的UX模式,您可以向右或向左滑动以显示导航菜单.

我喜欢的是具有相同API 的垂直DrawerLayout,可以从我的布局的顶部/底部向下/向上拉.

从4.2开始,旧的SlidingDrawer已被弃用,我还没有听说过一些实现相同功能的新Widget.

可以DrawerLayout以某种方式扩展以实现垂直滑动UX模式吗?谷歌是否提供了一些不同的小部件来实现它?

例如,谷歌音乐有一些非常类似于我想要实现的方式来拉动播放器.

在此输入图像描述

android android-widget drawerlayout

40
推荐指数
2
解决办法
2万
查看次数

Android会议室:订单不工作

我正在使用新的Android ORM Room.我遇到了以下问题,使用带参数的ORDER BY的查询不起作用.

如果我想使用从ORDER BY的参数填充的字段,它不起作用.它只是没有任何排序.

@Query("SELECT * FROM User ORDER BY :orderBY ASC")
List<User> sortedFind(String orderBY);
Run Code Online (Sandbox Code Playgroud)

但是,当我将ORDER BY列直接放在查询中以对结果进行排序时,它会按预期工作.

@Query("SELECT * FROM User ORDER BY name ASC")
List<User> sortedFind();
Run Code Online (Sandbox Code Playgroud)

这是Android Room上的错误,还是我做错了什么?

android android-room android-architecture-components

34
推荐指数
3
解决办法
2万
查看次数

Android OutOfMemoryError:?

我偶尔会OutOfMemoryError: (Heap Size=49187KB, Allocated=41957KB)在我的一个应用程序中获得一个.我该怎么做才能诊断出来?

  01-09 10:32:02.079: E/dalvikvm(8077): Out of memory: Heap Size=49187KB, Allocated=41957KB, Limit=49152KB
  01-09 10:32:02.079: E/dalvikvm(8077): Extra info: Footprint=48611KB, Allowed Footprint=49187KB, Trimmed=7852KB
  01-09 10:32:02.079: D/skia(8077): --- decoder->decode returned false
  01-09 10:32:02.079: D/AndroidRuntime(8077): Shutting down VM
  01-09 10:32:02.079: W/dalvikvm(8077): threadid=1: thread exiting with uncaught exception (group=0x40a97228)
  01-09 10:32:02.079: E/AndroidRuntime(8077): FATAL EXCEPTION: main
  01-09 10:32:02.079: E/AndroidRuntime(8077): java.lang.OutOfMemoryError: (Heap Size=49187KB, Allocated=41957KB)
  01-09 10:32:02.079: E/AndroidRuntime(8077):   at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
  01-09 10:32:02.079: E/AndroidRuntime(8077):   at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:486)
  01-09 10:32:02.079: E/AndroidRuntime(8077):   at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
  01-09 10:32:02.079: E/AndroidRuntime(8077): …
Run Code Online (Sandbox Code Playgroud)

android out-of-memory image-load

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

Android DownloadManager API - 下载后打开文件?

通过DownloadManager API成功下载后,我遇到打开下载文件的问题.在我的代码中:

Uri uri=Uri.parse("http://www.nasa.gov/images/content/206402main_jsc2007e113280_hires.jpg");

Environment
    .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
    .mkdirs();

lastDownload = mgr.enqueue(new DownloadManager.Request(uri)
    .setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
                            DownloadManager.Request.NETWORK_MOBILE)
    .setAllowedOverRoaming(false)
    .setTitle("app update")
    .setDescription("New version 1.1")
    .setShowRunningNotification(true)
    .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "a.apk"));

Cursor c=mgr.query(new DownloadManager.Query().setFilterById(lastDownload));

if(c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)) == 8) {
    try {
        mgr.openDownloadedFile(c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID)));
    } catch (NumberFormatException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Log.d("MGR", "Error");
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Log.d("MGR", "Error");
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是什么时候被if(c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS))==8)唤起.我得到状态-1和异常.有没有更好的方法,如何打开下载的文件DownloadManager API?在我的示例中,我正在下载一个大图像,在实际情况下我将下载APK文件,我需要在udpate之后立即显示安装对话框.

编辑:我发现status = 8是在成功下载之后.您可能有不同的"检查成功下载"方法

谢谢

android download-manager

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

Kotlin:For循环必须有一个迭代器方法 - 这是一个错误吗?

我有以下代码:

public fun findSomeLikeThis(): ArrayList<T>? {
    val result = Db4o.objectContainer()!!.queryByExample<T>(this as T) as Collection<T>
    if (result == null) return null
    return ArrayList(result)
}
Run Code Online (Sandbox Code Playgroud)

如果我称之为:

var list : ArrayList<Person>? = p1.findSomeLikeThis()

for (p2 in list) {
    p2.delete()
    p2.commit()
}
Run Code Online (Sandbox Code Playgroud)

它会给我错误:

For循环范围必须具有'iterator()'方法

我在这里错过了什么吗?

arrays kotlin

25
推荐指数
2
解决办法
2万
查看次数

从我的自定义mailgun SMTP地址发送电子邮件

对不起,如果我不明白的东西,但(我相信)我已经搜索了足够的东西.

  1. 首先要做的事情是:我已经成功设置了我的域名(mydomain.gr)已经过验证.
  2. 我创建了一个自定义SMTP地址(contact@mydomain.gr).
  3. 我创建了一条路线,将发送的所有内容转发*@mydomain.gr到我的个人Gmail地址.
  4. 测试1:如果我从外部地址(something@something.eu)发送电子邮件至contact@mydomain.gr,则会将其转发至我的个人Gmail.好!
  5. 测试2:如果我从contact@mydomain.gr发送到任何外部地址(something@something.eu),我会收到错误消息Free accounts are for test purposes only. Please upgrade or add the address to authorized recipients in Account Settings.当然,发送时密码是正确的.否则会引发另一个错误.

我想我误解了一些事情......

所以这是我的问题:

如何从我的自定义SMTP电子邮件地址发送电子邮件?(我不想升级我的帐户,因为这个 - 免费的Mailgun帐户将处理非常少量的电子邮件.所以,10K对我来说已经足够了.)

email smtp mailgun

24
推荐指数
1
解决办法
9255
查看次数

如何解决“仿真器:警告:QXcbIntegration:无法创建平台OpenGL上下文,未启用GLX和EGL((null):0,(null))”

我正在xfce“ Xubuntu”上工作,我已经更新了android studio,每次使用模拟器执行任何项目时,都会出现以下两个错误:

模拟器:警告:QXcb集成:无法创建平台OpenGL上下文,GLX和EGL均未启用((null):0,(null))

模拟器:模拟器:错误:VkCommonOperations.cpp:496:无法创建Vulkan实例。

android android-virtual-device android-studio

20
推荐指数
1
解决办法
6418
查看次数

Gradle dagger lint:忽略包裹

我使用Gradle创建了一个Android项目.我添加了一个匕首库

dependencies {
    compile 'com.squareup.dagger:dagger-compiler:1.2.1'
    compile 'com.squareup.dagger:dagger:1.2.1'
}
Run Code Online (Sandbox Code Playgroud)

在尝试编译项目后,由于lint异常导致构建失败:

InvalidPackage:Android中未包含的包

../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar:库中的包引用无效; 不包含在Android中:javax.annotation.processing.引用自dagger.internal.codegen.GraphAnalysisErrorHandler.../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar:库中的包引用无效; 不包含在Android中:javax.lang.model.type.引用自dagger.internal.codegen.GeneratorKeys.../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar:库中的包引用无效; 不包含在Android中:javax.lang.model.util.引用自dagger.internal.codegen.GraphAnalysisErrorHandler.../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.3.0/4b290e394ea3109be5c0b7f08ff75de089125122/javawriter-2.3.0.jar :库中的包引用无效; 不包含在Android中:javax.lang.model.element.引自com.squareup.javawriter.JavaWriter.

所以,我必须修复或使lint忽略匕首包.我已经设置了lint.xml,但我无法想出一种忽略的方法:

InvalidPackage: Package not included in Android
Run Code Online (Sandbox Code Playgroud)

谢谢.

android gradle dagger

17
推荐指数
2
解决办法
7595
查看次数

树枝变量中的树枝变量

我有一个twig变量html.为了在枝条模板中显示它,我做了{{html}}.

该变量看起来像:

<div>{{region_top}}</div><div>{{region_center}}</div>

region_*也是一个变量.当Twig解析我的html变量时,它不会解析内部变量(区域).

我该做什么?

twig

16
推荐指数
2
解决办法
3万
查看次数

将backgroundtint应用于API 19的背景drawable

背景色调在API 23上正确应用,但在API 19上未正确应用.如何获得API 19及更低版本的drawable着色?

                    <Button
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:id="@+id/AbResetBtn"
                    android:background="@android:drawable/stat_notify_sync"
                    android:backgroundTint="@color/button_material_light" />
Run Code Online (Sandbox Code Playgroud)

当然,我的Activity扩展了AppCompatActivity.

android tint backwards-compatibility drawable

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