小编Cyä*_*gha的帖子

Android Whatsapp /聊天示例

有没有人有像WhatsApp这样的Android应用程序的示例教程?我想了解WhatsApp如何工作以及如何编程.

我想看一个使用带有"online"-status"read the message"-information 的消息聊天系统的例子.

我用谷歌但我一无所获.也许有人有小费.

谢谢.

android chat instant-messaging whatsapp

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

如何在Intellij IDEA中的scala过程中禁用`:Unit =`的折叠?

在Intellij IDEA的最新版本中,当编写返回的scala方法Unit(也称为过程)时,IDEA将折叠该: Unit =部分,以便它显示为所谓的"过程语法".这是它的样子:

def myMethod(): Unit = {
  // do something
}
Run Code Online (Sandbox Code Playgroud)

默认折叠为:

def myMethod()  {
  // do something
}
Run Code Online (Sandbox Code Playgroud)

我理解这一点,因为程序语法是针对弃用的,但有些人仍然喜欢它,我想这对他们来说是一个很好的折衷方案.但是,对于我们这些不喜欢过程语法的人,我无法找到默认情况下禁用该代码折叠的设置.首选项>编辑器>代码折叠确实显示了一些特定于scala的设置,默认情况下应折叠代码折叠,但我唯一检查过的是"Shell注释(scala脚本)".

有人知道如何禁用此功能吗?或者目前不可能吗?

scala intellij-idea intellij-13

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

自定义JavaFX控件 - Scene Builder 2.0中的"已指定的根值"

我已经实现了一个自定义控件,使用了一个fxml文件和一个Java类,类似于本官方教程中的解释(参见下面的代码).请注意,fxml根元素是使用fx:root和我以setRoot编程方式调用的.

我已经尝试将控件包含在应用程序的FXML布局中,并且应用程序加载正常(并按预期显示控件).

但是,如果我尝试在Scene Builder 2.0中导入包含我的控件的jar文件,则该控件不会出现在要导入的组件列表中(与同一jar中的其他控件不同).如果我选择"显示JAR分析报告",则会显示由此引起的错误javafx.fxml.LoadException: Root value already specified.

你知道为什么我在Scene Builder中加载时会出现这个错误,即使它在实际应用程序中正确加载了吗?

这是FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.Font?>

<fx:root type="javafx.scene.layout.GridPane" id="MediaMetadataDisplay" hgap="20.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="200.0"
         prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
    <columnConstraints>
        <ColumnConstraints fillWidth="false" hgrow="NEVER" maxWidth="-Infinity" minWidth="-Infinity" prefWidth="200.0"/>
        <ColumnConstraints halignment="LEFT" hgrow="ALWAYS"/>
    </columnConstraints>
    <rowConstraints>
        <RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="30.0" vgrow="SOMETIMES"/>
        <RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="40.0" vgrow="SOMETIMES"/>
        <RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="25.0" vgrow="SOMETIMES"/>
        <RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="25.0" vgrow="SOMETIMES"/>
        <RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="25.0" vgrow="SOMETIMES"/> …
Run Code Online (Sandbox Code Playgroud)

java javafx scenebuilder javafx-8

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

Scala名称私有字段和JavaFX FXML注入

下面的例子和解释很长,所以这里是我的问题的要点:当使用一个坚持执行字段注入的框架(在真正应该保持私有的字段)时,如何处理scalac的名称 - 私有字段的错误?


我正在使用ScalaFX/JavaFX和FXML在Scala中编写应用程序.当您使用FXML在JavaFX中定义视图时,FXML中定义的对象(例如按钮和文本字段)将通过以下方式注入控制器:

  • fx:idFXML元素添加属性
  • 向控制器添加(通常是私有的)字段,@FXML注释和字段名称与fx:idFXML中定义的属性值匹配
  • FXMLoader实例化控制器时,它会通过反射自动将带fx:id注释的元素注入到@FXML控制器的匹配注释字段中

我不是现场注射的忠实粉丝,但这就是FXML的工作方式.但是,由于编译器在某些情况下执行的字段名称修改,我在Scala中遇到了意外的并发症......

这是一个示例应用程序:

test/TestApp.scala(没什么好玩的,只需要运行这个例子)

package test

import javafx.application.Application
import javafx.fxml.FXMLLoader
import javafx.scene.{Scene, Parent}
import javafx.stage.Stage

object TestApp {
  def main(args: Array[String]) {
    Application.launch(classOf[TestApp], args: _*)
  }
}

class TestApp extends Application {
  override def start(primaryStage: Stage): Unit = {
    val root: Parent = FXMLLoader.load(getClass.getResource("/test.fxml"))
    val scene: Scene = new Scene(root, 200, 200)

    primaryStage.setTitle("Test")
    primaryStage.setScene(scene)
    primaryStage.show()
  }
}
Run Code Online (Sandbox Code Playgroud)

test.fxml(视图)

<?xml version="1.0" encoding="UTF-8"?>

<?import …
Run Code Online (Sandbox Code Playgroud)

scala fxml scalafx javafx-8

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

Apache Camel:无法获取异常主体

只要我的骆驼路线中有正常流量,我就可以使身体进入下一个组成部分。但是,只要有异常(Http 401或500),我就无法获取异常主体。我在服务器日志中仅收到一个Java异常。我也尝试过onException()。使用它,当错误发生时流程就进入了流程,但是我仍然没有得到Web服务发送的错误响应正文(直接在使用POSTMAN时得到),我只得到了我发送到Web服务的正文中的请求。

同时添加路线:

from("direct:contractUpdateAds")
        .to("log:inside_direct:contractUpdateAds_route_CompleteLog?level=INFO&showAll=true&multiline=true")
        .streamCaching()
        .setHeader(Exchange.HTTP_METHOD, constant("POST"))
        .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
        .log("before calling ADS for ContractUpdate:\nBody:${body}")
        .to("{{AdsContractUpdateEndpoint}}")
        .log("after calling ADS for ContractUpdate:\nBody:${body}")
        .convertBodyTo(String.class)
        .end();
Run Code Online (Sandbox Code Playgroud)

esb apache-camel jbossfuse

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