小编ben*_*ben的帖子

等到firebase检索数据

我想构建一个返回child值的方法FireBase.我试着这样做:

public String getMessage(){

    root.child("MessagesOnLaunch").child("Message").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            message = (String) dataSnapshot.getValue();
            Log.i("4r398", "work");
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {
            Log.e("error", firebaseError.getMessage());
        }
    });
    return message;
}
Run Code Online (Sandbox Code Playgroud)

问题是该方法返回的null原因可能是因为该方法不会等到侦听器完成并返回,null因为它的默认值为message.如何使此方法等到侦听器发生然后返回值.

java android listener firebase

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

更新gradle和Android Studio版本后无法链接资源

在更新到android studio 3和gradle 3.0.1之前,我可以毫无问题地构建项目,但是自从更新以来,我一直遇到以下错误:

Error:failed linking references.
    Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    Error:Execution failed for task ':app:processDebugResources'.
            > Failed to execute aapt
Run Code Online (Sandbox Code Playgroud)

我试图禁用AAPT2,但随后我收到了一个针对aapt的错误ProcessException

Error:java.util.concurrent.ExecutionException: 
com.android.ide.common.process.ProcessException: Error while executing 
process /build-tools/26.0.2/aapt with arguments {package -f --no-crunch 
-I /android-25/android.jar -M 
Run Code Online (Sandbox Code Playgroud)

我尝试将编译更改为实现和api,但它们都给出了相同的错误。有人可以帮我解决这个问题吗?

这是我的gradle文件:

buildscript {
        repositories {
            maven { url 'https://maven.fabric.io/public' }
        }

        dependencies {
            classpath 'io.fabric.tools:gradle:1.+'
        }
    }

    buildscript {
        repositories { …
Run Code Online (Sandbox Code Playgroud)

android gradle

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

如何根据使用 Selenium 的 html 从使用 xpath 找到的元素中检索属性 aria-label 的值

我有以下 HTML 跨度:

<button class="coreSpriteHeartOpen oF4XW dCJp8">
    <span class="glyphsSpriteHeart__filled__24__red_5 u-__7" aria-label="Unlike"></span>
</button>
Run Code Online (Sandbox Code Playgroud)

我也有一个webElement表示包含这个跨度的按钮,我使用xpath. 如何aria-label从元素中检索值(Unlike)?

我试图做:

btn = drive.find_element(By.xpath, "xpath") 
btn.get_attribute("aria-label")
Run Code Online (Sandbox Code Playgroud)

但它什么都不返回。如何从元素对象中检索具有“aria-label”属性的元素的文本值?

python selenium webdriver getattribute selenium-webdriver

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

在树莓派上运行 puppeteer 时出现 OSError

我试图让我的 RP 成为一些网络自动化任务的服务器,所以我安装了python 3.7pypputeer Googlel 的 puppeteer 的 Python 版本)。问题是,在 OSX 上顺利运行的代码在 PI 上出现以下错误:

    Traceback (most recent call last):
  File "main.py", line 45, in <module>
    asyncio.get_event_loop().run_until_complete(main())
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 568, in run_until_complete
    return future.result()
  File "main.py", line 16, in main
    browser = await launch(headless=True)
  File "/usr/local/lib/python3.7/site-packages/pyppeteer/launcher.py", line 311, in launch
    return await Launcher(options, **kwargs).launch()
  File "/usr/local/lib/python3.7/site-packages/pyppeteer/launcher.py", line 169, in launch
    **options,
  File "/usr/local/lib/python3.7/subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "/usr/local/lib/python3.7/subprocess.py", line 1499, in _execute_child
    raise child_exception_type(errno_num, …
Run Code Online (Sandbox Code Playgroud)

python raspberry-pi puppeteer pypputeer

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

将视图放在 ConstraintLayout 中的另一个视图下

我如何View放在另一个Viewin后面ConstraintLayout?基本上我想实现这个:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<View
    android:id="@+id/view1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<View
    android:id="@+id/view2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

当视图 1 在 Z 轴上位于视图 2 后面时。

java android android-constraintlayout

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