我有一个Android应用程序,它将一些数据发送到Web服务.我需要在应用程序关闭或发送到后台后立即发送此数据.但我该如何实现此目的?
我目前的解决方案是在我的家庭活动上的OnPause()上运行它,但无论关闭应用程序时用户所处的活动,我都需要运行它.这是可能的还是我必须将OnPause方法添加到所有活动?
我正在开发一个将RequestDTO发送到Web服务的类.我需要在发送请求之前验证请求.
请求可以从3个不同的地方发送,每个"请求类型"都有不同的验证规则,例如request1必须有名称和phonenumber,request2必须有地址,等等)
我有一个DTO,其中包含很长的字段列表(名称,地址,城市,电话号码等),无论发送哪种类型的请求,它都是相同的DTO.
我创建了3种不同的验证方法,并根据类型调用适当的方法.
在每个方法中,我都有一长串if-else来检查每个请求类型所必需的字段.
private void validateRequest1(Request request) {
StringBuilder sb = new StringBuilder();
if (null == request) {
throw new IllegalArgumentException("Request is null");
}
if (isFieldEmpty(request.getName())) { *see below
sb.append("name,"));
}
if (isFieldEmpty(request.getStreet())) {
sb.append("street,"));
}
...
Run Code Online (Sandbox Code Playgroud)
isFieldEmpty()检查字符串是否为null,isEmpty()并返回一个布尔值
这让我在其中一种方法中的圈复杂度为28,所以我的问题是......是否有可能降低这种复杂性? - 如果是的话,我该怎么做呢?
最终我需要检查很多字段,如果没有大量的检查,我无法看到如何做到这一点:/
我刚刚开始使用IntelliJ(我已经习惯了Eclipse)而且我遇到了一些让我烦恼的事情.无论是我还是IntelliJ,我都非常想要这个.
每次我打开一个新项目时,"Maven主目录"设置都会被重置,因此我每次打开一个之前没有打开的项目时都必须设置它.
有没有办法永久/全局设置此设置?
我想通过简单地触摸屏幕在我的Android应用程序中关闭一个对话框窗口..这可能吗?如果是这样,怎么样?
我已经研究过在对话框中设置一些"onClickEven",但它并不存在.
这怎么可能?
我是游戏开发的新手,也是c ++的新手,但我已经开始开发一款小型的Arkanoid游戏了.我以前运行它,但在重构(引入ArkanoidGame类)后它没有编译,我无法弄清楚为什么.
我得到的错误是:
d:\dropbox\development\gamedev\c++\arkanoid\arkanoid\main.cpp(14): error C2280:
'ArkanoidGame::ArkanoidGame(void)' : attempting to reference a deleted function
d:\dropbox\development\gamedev\c++\arkanoid\arkanoid\arkanoidgame.h(25) :
compiler has generated 'ArkanoidGame::ArkanoidGame' here
Run Code Online (Sandbox Code Playgroud)
我根本不明白这意味着什么,不知道如何解决它.
我已经包含了有问题的课程:
Main.cpp的:
#include "ArkanoidGame.h"
int main() {
ArkanoidGame game;
game.init(800, 600);
while (game.isRunning()) {
game.checkInput();
game.checkCollisions();
game.draw();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Arkanoid.h:
#include "Ball.h"
#include "Pad.h"
#include <SFML/Graphics.hpp>
#include <stdarg.h>
#include <memory>
class ArkanoidGame
{
private:
bool running;
public:
void ArkanoidGame::init(int, int);
bool ArkanoidGame::isRunning();
void ArkanoidGame::checkCollisions();
void ArkanoidGame::checkInput();
void ArkanoidGame::update();
void ArkanoidGame::draw();
sf::RenderWindow* window;
Pad pad;
Ball ball; …Run Code Online (Sandbox Code Playgroud) 由于LINQ to SQL基本上是ADO.NET之上的一层,因此需要进行一些翻译.这是否意味着直接使用ADO.NET比LINQ更快?或者差异是如此之小以至于无关紧要?
我有以下脚本要插入表中,但我遇到了一些问题.
declare
v_xslt9 varchar2(32767) := '<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" indent="yes"/> <xsl:template name="Template"> <xsl:text>Kære </xsl:text> <xsl:value-of select="/nameValueMap/entry[string=''FIRST_NAME'']/string[2]"/> <xsl:text> </xsl:text> <xsl:value-of select="/nameValueMap/entry[string=''LAST_NAME'']/string[2]"/></xsl:template> </xsl:stylesheet>'
begin
insert into XSLT values ('','Note',sysdate,v_xslt9,sysdate,'T','')
end;
Run Code Online (Sandbox Code Playgroud)
感兴趣的部分如下
<xsl:text> </xsl:text>
Run Code Online (Sandbox Code Playgroud)
我正在使用PL/SQL Developer,当我运行上面的脚本时,它识别出来
Run Code Online (Sandbox Code Playgroud)
作为一个实体,然后我必须输入我想要的价值.我想要的是XSL中的一个简单的空格,以便分隔名字和姓氏.我已经尝试了以下链接中的所有建议:orafaq - 我只是无法让它工作.我尝试插入时失败,或者在提取数据时失败.
是否有一些简单的方法在XSL中插入空格?
我想知道如何设计这个最佳..
在我的ASP.NET MVC应用程序上,我有一个数据库,我想使用WCF来处理我通过EF与该数据库的所有交互.所以我在服务上创建了一个实体模型,用于与数据库交互.为了从ASP.NET应用程序与WCF交互,我为每个EF模型创建了DTO(我只有3个)和一个转换器类,用于从EF模型转换为DTO,反之亦然.
在侧面说明..是否可以避免使用DTO而只是转移EF模型? - 我试过了,但没有运气,因为客户端asp.net应用程序不识别这些模型.
这是一种合适的设计方法还是另一种方法更好?
提前致谢.:)
我目前正在开发3种不同的Java版本,因此经常更改我的JAVA_HOME变量.但是,我必须注销才能更新变量.我通过System Properties -> Advanced -> Environment Variables(Windows XP)更新它.
当然,有一种更聪明/更简单的方法.
我想我可以在提示符中使用SET命令,但这不是永久性的,因为我经常使用一个Java版本一段时间,我不希望每次启动PC时都重置它.
有什么建议?
我正在开发一个小的Streamserve项目(谷歌它:P),我得到一些Base64编码的内容.我试图用多个解码器解码base64字符串,并返回正确的结果..除了Streamserve中的Base64DecodeString方法.
编码的字符串是:'VABlAHMAdABpAG4AZwAgAGIAYQBzAGUANgA0AA =='预期的结果是:'测试base64'
但是在Streamserve中,结果是:'Tsig ae4'
它只是跳过其他所有字母.现在我知道大多数人都不知道Streamserve,但我有预感,这可能是一个字符编码问题..问题,并希望有人知道这里可能会发生什么.
我可以毫无问题地在streamserve中编码/解码字符串..只是不是我得到的字符串作为输入
可能重复:
是否可以扩展Java Enums?
我有一个小问题,我有一个具有一定数量值的枚举.此枚举用于系统的多个部分,在某些情况下需要包含更多值.
由于在Java中不允许扩展枚举,我试图考虑一些替代方案,到目前为止我的解决方案是创建一个包含枚举的接口,该枚举具有系统所有部分的通用值,然后创建一个空类来实现它接口.
所以enum A implements I这样我就可以使用A.COMMON_ENUM.ENUM_VALUE
现在我可以enum B在系统的某个子部分创建一个新的,它包含一个enum ADDITIONAL_ENUM并且它实现了I.所以现在我可以用这个:
B.COMMON_ENUM.ENUM_VALUE
Run Code Online (Sandbox Code Playgroud)
要么
B.ADDITIONAL_ENUM.ADDED_ENUM_VALUE
Run Code Online (Sandbox Code Playgroud)
这是一个丑陋的解决方案吗?- 我的意思是,它有效,但似乎错了 ......
-----更新:-----
公共枚举位于系统的"核心"部分(可以有多个前端),每个前端的附加枚举也不同.所以使用类比:让我们说车辆枚举有引擎,DOORS然后在我的CAR前端我需要添加"WHEELS"并且在我的BOAT前端我需要添加"PROPELLER"
代码示例:
public interface EnumType { // I
public enum Core {
VALUE1,
VALUE2,
VALUE3
}
}
public enum CommonEnum implements EnumType { // A
}
public enum AdditionalEnumType implements EnumType { // B
public enum Additional {
VALUEX,
VALUEY
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个表,其中需要有一个递增的 _id 列。但是,由于表有 3 个主键,我无法使用自动增量。顺便说一句,这是在 SQLite 中。该表已经填充了数据,因此我不能重新创建该表。
有没有办法在 _id 列中插入 1 到 148 之间的值?
我们已经尝试过这样的事情:
UPDATE table1
SET _id = (SELECT _id FROM table2)
Run Code Online (Sandbox Code Playgroud)
table2 是一个临时表,其中包含从 1 到 148 的值。但这只是将所有 _id 值更新为“1”。
关于如何解决这个问题有什么建议吗?
我无法运行以下 SP
CREATE PROCEDURE SP_NYANSAT(
FORNAVN VARCHAR(30),
EFTERNAVN VARCHAR(30),
ADRESSE VARCHAR(50),
POSTNUMMER CHAR(4),
TELEFONNUMMER CHAR(8),
EMAIL VARCHAR(50))
AS
DECLARE VARIABLE ID INTEGER;
BEGIN
ID = GEN_ID(GEN_ANSAT_ID,1);
INSERT INTO MYTABLE (ID, FORNAVN, EFTERNAVN, ADRESSE, POSTNUMMER, TELEFONNUMMER, EMAIL) VALUES (:ID, :FORNAVN, :EFTERNAVN, :ADRESSE, :POSTNUMMER, :TELEFONNUMMER, :EMAIL);
END
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下:
can't format message 13:896 -- message file C:\Windows\firebird.msg not found.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, column 1.
CREATE.
Run Code Online (Sandbox Code Playgroud) java ×3
android ×2
ado.net ×1
asp.net ×1
asp.net-mvc ×1
base64 ×1
c++ ×1
dialog ×1
encoding ×1
enums ×1
events ×1
extends ×1
firebird ×1
linq-to-sql ×1
maven ×1
oracle ×1
plsql ×1
pointers ×1
settings ×1
sql ×1
sql-update ×1
sqlite ×1
touch ×1
translation ×1
validation ×1
wcf ×1
whitespace ×1
windows-xp ×1
xslt ×1