当我在台式机Gluon上运行自己的应用程序时,它运行良好,但是当我将调试器用于手机Sony experia时,将显示登录UI,但是当我输入用户名和密码时,我无法访问主屏幕。我需要在数据库连接和build.gradle中写什么?
我试图在build.gradle中更改mysql版本 编译 mysql:mysql-connector-java:8.0.13 并编译 mysql:mysql-connector-java:5.1.46
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.3.16'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
mainClassName = 'com.crm.CRM'
dependencies {
compile 'com.gluonhq:charm:5.0.2'
compile 'mysql:mysql-connector-java:8.0.13'
compile 'com.jcraft:jsch:0.1.54'
}
jfxmobile {
downConfig {
version = '3.8.6'
// Do not edit the line below. Use Gluon Mobile Settings in your
project context menu instead
plugins 'display', 'lifecycle', 'statusbar', 'storage'
}
android {
javafxportsVersion = '8.60.11'
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/rxjava.properties'
exclude 'META-INF/spring.schemas'
exclude 'META-INF/INDEX.LIST'
}
// compileSdkVersio=28
manifest = 'src/android/AndroidManifest.xml'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
forceLinkClasses = [
'com.gluonhq.**.*',
'javax.annotations.**.*',
'javax.inject.**.*',
'javax.json.**.*',
'org.glassfish.json.**.*'
]
}
}
这是connect db的代码:
public static Connection getConnection() {
try {
//Your Database usrl using String,ensure it is correct
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://192.168.43.13:3306/crmywa?
useUnicode=yes&characterEncoding=UTF-8", "root", "");
return con;
} catch (Exception ex) {
Logger.getLogger(dbmobo.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
编辑
在我检查了结果adb logcat之后,我得到了这个结果:
01-31 18:51:01.399 17374 17407 W System.err: Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
01-31 18:51:01.403 17374 17407 W System.err: Exception in Application start method
01-31 18:51:01.405 17374 17407 I System.out:QuantumRenderer: shutdown
01-31 18:51:01.406 17374 17402 W System.err: java.lang.reflect.InvocationTargetException
01-31 18:51:01.406 17374 17402 W System.err: at java.lang.reflect.Method.invoke(Native Method)
01-31 18:51:01.406 17374 17402 W System.err: at javafxports.android.DalvikLauncher$1.run(DalvikLauncher.java:188)
01-31 18:51:01.406 17374 17402 W System.err: at java.lang.Thread.run(Thread.java:761)
01-31 18:51:01.406 364 3793 I BufferQueueProducer: [SurfaceView -com.crm/javafxports.android.FXActivity](this:0x7549311800,id:2793,api:1,p:17374,c:364) new GraphicBuffer needed
01-31 18:51:01.406 17374 17402 W System.err: Caused by: java.lang.RuntimeException: Exception in Application start method
01-31 18:51:01.406 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
01-31 18:51:01.406 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$138(LauncherImpl.java:182)
01-31 18:51:01.406 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl.access$lambda$1(LauncherImpl.java)
01-31 18:51:01.407 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl$$Lambda$2.run(Unknown Source)
01-31 18:51:01.407 17374 17402 W System.err: ... 1 more
01-31 18:51:01.407 17374 17402 W System.err: Caused by: javafx.fxml.LoadException:
01-31 18:51:01.407 17374 17402 W System.err: file:/data/app/com.crm-1/base.apk!/fxml/login.fxml:21
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
01-31 18:51:01.407 17374 17402 W System.err: at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
01-31 18:51:01.407 17374 17402 W System.err: at com.crm.CRM.start(CRM.java:15)
01-31 18:51:01.407 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$145(LauncherImpl.java:863)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl.access$lambda$8(LauncherImpl.java)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.LauncherImpl$$Lambda$9.run(Unknown Source)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$158(PlatformImpl.java:326)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl.access$lambda$6(PlatformImpl.java)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl$$Lambda$7.run(Unknown Source)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl.lambda$null$156(PlatformImpl.java:295)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl.access$lambda$18(PlatformImpl.java)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl$$Lambda$19.run(Unknown Source)
01-31 18:51:01.408 17374 17402 W System.err: at java.security.AccessController.doPrivileged(AccessController.java:57)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl.lambda$runLater$157(PlatformImpl.java:294)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl.access$lambda$5(PlatformImpl.java)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.javafx.application.PlatformImpl$$Lambda$6.run(Unknown Source)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:93)
01-31 18:51:01.408 17374 17402 W System.err: at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:52)
01-31 18:51:01.408 17374 17402 W System.err: ... 1 more
01-31 18:51:01.409 17374 17402 W System.err: Caused by:java.lang.UnsupportedOperationException
01-31 18:51:01.409 17374 17402 W System.err: at java.util.regex.Matcher.group(Matcher.java:383)
01-31 18:51:01.409 17374 17402 W System.err: at com.mysql.cj.conf.ConnectionUrlParser.isConnectionStringSupported(ConnectionUrlParser.java:152)
01-31 18:51:01.409 17374 17402 W System.err: at com.mysql.cj.conf.ConnectionUrl.acceptsUrl(ConnectionUrl.java:258)
01-31 18:51:01.409 17374 17402 W System.err: at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:195)
01-31 18:51:01.409 17374 17402 W System.err: at java.sql.DriverManager.getConnection(DriverManager.java:569)
01-31 18:51:01.409 17374 17402 W System.err: at java.sql.DriverManager.getConnection(DriverManager.java:219)
01-31 18:51:01.409 17374 17402 W System.err: at com.crm.dbmobo.getConnection(dbmobo.java:17)
01-31 18:51:01.409 17374 17402 W System.err: at com.crm.LoginController.<init>(LoginController.java:78)
01-31 18:51:01.409 17374 17402 W System.err: at java.lang.Class.newInstance(Native Method)
01-31 18:51:01.409 17374 17402 W System.err: at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:45)
01-31 18:51:01.409 17374 17402 W System.err: at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)
01-31 18:51:01.409 17374 17402 W System.err: at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
01-31 18:51:01.409 17374 17402 W System.err: at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
01-31 18:51:01.409 17374 17402 W System.err: at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
01-31 18:51:01.409 17374 17402 W System.err: at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
01-31 18:51:01.409 17374 17402 W System.err: at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
01-31 18:51:01.409 17374 17402 W System.err: ... 24 more
01-31 18:51:01.411 364 3793 I BufferQueueProducer: [SurfaceView -com.crm/javafxports.android.FXActivity](this:0x7549311800,id:2793,api:1,p:17374,c:364) new GraphicBuffer needed
答案 0 :(得分:0)
应用程序的问题未在手机上打开,我在mysql上通过以下语法解决了该问题:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
那么您最多将新用户添加到数据库中
效果很好
我从此链接中获取了它: HOST 192.168.--- not allowed to connect Mysql server
和我的build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.3.16'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
mainClassName = 'com.crm.CRM'
dependencies {
compile 'mysql:mysql-connector-java:3.1.12'
}
jfxmobile {
downConfig {
version = '3.8.6'
// Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
plugins 'display', 'lifecycle', 'statusbar', 'storage'
}
android {
javafxportsVersion = '8.60.11'
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/rxjava.properties'
exclude 'META-INF/spring.schemas'
exclude 'META-INF/INDEX.LIST'
}
// compileSdkVersio=28
manifest = 'src/android/AndroidManifest.xml'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
forceLinkClasses = [
'com.gluonhq.**.*',
'javax.annotations.**.*',
'javax.inject.**.*',
'javax.json.**.*',
'org.glassfish.json.**.*'
]
}
}