小编Adr*_*scu的帖子

React Native KeyboardAvoidingView 无法正确移动

我有一个TextInput按下时会被键盘覆盖的东西。所以我把它包裹在一个KeyboardAvoidingView. 但无论我为此视图设置什么行为,都TextInput不会在键盘上方移动。使用positionas 行为移动TextInput但仅位于键盘上方的一半位置,而其他两个似乎根本不起作用。

我还尝试用 包装整个组件KeyboardAvoidingView,但这样做会破坏整个布局。

谁能帮我?我从来没有设法KeyboardAvoidingView为自己工作,现在我真的需要它。提前致谢!

这是我的组件。另外值得一提的是,这个组件是顶级的(嗯,几乎是顶级的,因为它包含在路由器中)

const { height, width } = Dimensions.get('screen')

const style = StyleSheet.create({
    main: {
        height,
        width,
        flexDirection: 'column',
    },
    iconSelecter: {
        width,
        height: 196,
        alignItems: 'center',
        justifyContent: 'center',
        backgroundColor: Colors.primary,
        marginTop: 32
    },
    icon: {
        height: 164,
        width: 164,
    },
    saveButton: {
        width: 96,
        height: 96,
        borderRadius: 100,
        backgroundColor: Colors.secondary,
        alignItems: "center",
        justifyContent: "center",
        alignSelf: 'center',
        position: 'absolute',
        bottom: 96 …
Run Code Online (Sandbox Code Playgroud)

javascript react-native

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

Spring boot 无法从数据源(mysql)确定 jdbc url

我正在尝试将 MySQL 数据库加载到 Spring Boot 应用程序中,但是当我启动应用程序时,我收到以下错误消息:

2018-07-17 13:46:31.426 WARN 2120 --- [ restartedMain] o.s.b.a.orm.jpa.DatabaseLookup : Unable to determine jdbc url from datasource

org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection: 'url' not set

虽然我已经将 url 属性设置为application.propertiesspring.datasource.url=jdbc:mysql://localhost:3306/mydatabase

谁能帮我解决这个问题?

编辑:这是我的主要课程:

package com.randomsoft.checkoff;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
public class CheckoffApplication {

public static void main(String[] args) {
    SpringApplication.run(CheckoffApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)

java mysql spring spring-data-jpa spring-boot

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

使用新的 App Startup API 初始化实例

我在 Android 开发指南中看到了这个新 API,我想尝试一下,因为它看起来是一种非常好的初始化组件的方式。但是查看文章和示例,我认为如何使用此 API 毫无意义。我得到第一个例子,为了使用WorkManager你首先需要调用它的initialize方法,所以这个新的 API 可以为你处理。但是 的create方法Initializer返回您尝试初始化的任何实例的实例。这意味着该实例在某个地方可供您抓取。但是没有解释稍后如何在代码中检索该实例以使用它。

所以我的问题是,是否有人愿意测试这个新 API,能否举个例子说明如何使用 App Startup API 为您初始化的实例。提前致谢!

android android-architecture-components android-jetpack

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

在 VSCode 中使用 Kotlin

我正在尝试让 Kotlin 在 VSCode 中工作。到目前为止,我已经通过 kotlin 扩展使其部分正常工作。我可以使用任何 Kotlin 特定的类或函数,但无法导入任何 java 特定的类。( error: unresolved reference)

当我将 VSCode 项目与 Eclipse 项目和 IDEA 项目进行比较时,我注意到两者的项目文件夹中都有 JRE(在 IDEA 中为 )External Library。很确定这是我在 VSCode 中的问题,但我不知道如何将 JRE 添加到我的项目中。

我在我的项目中使用 Gradle:

buildscript {
    ext.kotlin_version = '1.2.71'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
apply plugin: 'kotlin'

kotlin {
    experimental {
        coroutines 'enable'
    }
}
repositories {
    mavenCentral()
}
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21"
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我有 Kotlin-JVM 插件,但除此之外我不知道将 JRE 添加到 gradle 的方法。有人可以帮我吗?

编辑:我尝试将 …

java kotlin visual-studio-code

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

Firebase 身份验证 Jest 测试

我想在应用程序中添加 firebase 身份验证,现在我正在编写一个玩笑测试来查看它是否有效:

import { login } from "../renderer/Components/Login/LoginService";
import firebase from "firebase";
import initFirebase from "../renderer/Components/FirebaseInit";


//Init Firebase
initFirebase();

test('login-test', () => {
    //Create a user with some credentials
    //If the user already exists, an erorr will be thrown
    firebase.auth().createUserWithEmailAndPassword("example@domain.com", "12345")
        .then((user: firebase.auth.UserCredential) => {
            //Try authenticating with the created user
            firebase.auth().signInWithEmailAndPassword("example@domain.com","12345")
                .then((signedInUser: firebase.auth.UserCredential)=>{
                    let userInfo = signedInUser.user;
                    if(userInfo != null){
                        expect(userInfo.email).toEqual("example@domain.com");
                    }
                })
        })
}
) 
Run Code Online (Sandbox Code Playgroud)

测试表明它通过了,但是当我查看 firebase 控制台时,没有添加新用户。这是预期的行为吗(比如 firebase 检测到测试并在测试完成后自动删除用户)

javascript firebase jestjs firebase-authentication

5
推荐指数
0
解决办法
671
查看次数

Flux Utils TypeError:如果没有“ new”,则无法调用类构造函数App

我正在尝试在以下React组件上实现Flux Util容器:

class App extends React.Component<{},AppState> {
 constructor(props:Readonly<{}>){
    super(props);   
 }
 static getStores(){
    return [ArticlesStore];
 }

 static calculateState(prevState:AppState):AppState{
    return {
        articles:ArticlesStore.getState()
    }
 }
 render() {
    return (
        <main>
            <Navbar></Navbar>
            <Routes></Routes>
        </main>
    );
 }
}


interface AppState{
 /**
  * Articles retrived from the ArticlesState to be used in the rendering of the page
  */
 articles:ArticlesStoreState;
}

export default Container.create(App);
Run Code Online (Sandbox Code Playgroud)

在实现创建容器所需的代码时,我遵循了flux网站上提供的示例以及在GitHub上找到的其他一些代码作为参考。但是在运行此代码时,出现以下错误:

`TypeError: Class constructor App cannot be invoked without 'new'.` 
Run Code Online (Sandbox Code Playgroud)

(我正在使用打字稿)

有谁知道导致此错误的原因是什么?提前致谢!

flux typescript reactjs reactjs-flux

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

在电子中请求麦克风许可

我有一个使用 webkit 语音识别 API 的电子应用程序。如果在浏览器中测试,一切正常,但如果在电子环境中运行,语音识别 api 不起作用。

我的意思是,当我按下开始录制的按钮时,在电子环境中不会开始录制。我相信这是因为与在浏览器中运行代码时不同,我没有被要求,因此没有被授予麦克风访问权限。所以我的问题是,我如何在电子应用程序中请求访问麦克风?提前致谢!

javascript user-permissions electron

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

刷新页面时 React hook 清理

我有一个使用钩子在 React 中构建的应用程序,当关闭时需要通知服务器。我尝试使用以下方法来做到这一点:

function onUnload() {

        if (roomID !== "")
            endGame(roomID, dispatch);
    }

    useEffect(() => {
        return onUnload;
    },[])
Run Code Online (Sandbox Code Playgroud)

这里,endGame是一个向后端执行 HTTP 请求的函数。但是,当刷新页面以模拟用户关闭应用程序时,请求永远不会到达服务器,这意味着清理功能不会被执行。关于哪里出了问题有什么想法吗?

提前致谢

reactjs react-hooks

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

Jest jsdom 协议“http:”不支持

我正在尝试使用 jest 运行一些集成测试以进行反应。运行测试时,我收到以下错误UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_PROTOCOL]: Protocol "http:" not supported. Expected "https:" 。最初,我虽然与 msw 模拟我的 api 调用有关,但即使在禁用 msw 服务器之后,我仍然遇到此错误。

我在我的应用程序中使用 axios 发出 http 请求,并且所有 URL 都设置为使用 HTTPS。我还在安装文件中告诉 jest 并jest.config在模拟 origin 时使用 https,但它仍然不起作用。还有什么想法我还可以尝试吗?

jsdom reactjs jestjs ts-jest msw

5
推荐指数
0
解决办法
418
查看次数

将两个数据源与 jdbc 模板一起使用

所以,我一直在做一个 spring boot 项目,现在我正在研究数据库。我认为最好为数据库设置两个用户:

一个可以访问用户表进行login/register/information更新,另一个可以访问其他表。

我的想法是为两个数据源创建两个单独的 bean,每个 bean 都有一个单独的用户,当用户想要登录时,控制器会相应地更改 JDBCtemplate 数据源。

但我不确定这是否可行,因为 JDBCtemplate 已经定义为 Spring Boot 项目,我不知道它的范围(我假设如果它不是会话 bean,更改数据源将适用于所有用户,而不仅仅是一位用户)

有没有人知道我应该如何解决这个问题?请告诉我!

java sql spring spring-data spring-boot

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

无法导入 MultiDexApplication

我有一个用 react native 构建的应用程序,我需要启用MultiDex支持。我的问题是我无法导入MultiDexApplication类来扩展它,因为在编译时我在扩展它时同时获得symbol not found error了导入语句和类名MainApplication.java

build.gradle

    dependencies {
        classpath('com.android.tools.build:gradle:3.5.3')
        classpath 'com.google.gms:google-services:4.2.0'
        classpath "androidx.multidex:multidex:2.0.1"

    }
Run Code Online (Sandbox Code Playgroud)

如果我尝试将依赖项添加为实现,则在启动应用程序时会出现以下错误:

Could not find method implementation() for arguments [androidx.multidex:multidex:2.0.1] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

在所有在线资源中,我看到依赖项是作为实现添加的,所以我想这可能是我的问题。

MainApplication.java

package com.classmanager;

import android.app.Application;
import androidx.multidex.MultiDexApplication;
import android.content.Context;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.oblador.vectoricons.VectorIconsPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

public class MainApplication extends MultiDexApplication  implements ReactApplication {
  private final ReactNativeHost mReactNativeHost =
      new ReactNativeHost(this) …
Run Code Online (Sandbox Code Playgroud)

java android android-multidex react-native

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

不支持navigator.mediaDevices.getDisplayMedia

我正在尝试构建一个可以捕获用户桌面的Web应用程序。我发现此网络api应该可以很好地完成这项工作,但是我似乎无法使其正常工作。现在,应该通过启用标记在最新版本的Edge和Chrome 70上都支持它,但是如果我正在查看导航器对象,则在两种浏览器中都应支持该功能。getDisplayMedia()功能均不存在。我也尝试调用该函数,但收到一条错误消息,说它不是函数(确认它实际上不在导航器中)。可能是什么问题呢?

提前致谢!

编辑:这是我的javascript

function na() {
    navigator.mediaDevices.getDisplayMedia({
        video: {
            mandatory: {
                chromeMediaSource: 'desktop',
                minWidth: 1280,
                maxWidth: 1280,
                minHeight: 720,
                maxHeight: 720
            }
        }
    }).then((stream)=>console.log(stream))
    console.log(navigator)

}

na();
Run Code Online (Sandbox Code Playgroud)

javascript webrtc get-display-media

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