小编Jul*_*les的帖子

UrlEncodedFormEntity的Android HTTP上传进度

有几个问题讨论了如何使用multipart/form-data数据格式将进度指示添加到Android中的HTTP文件上传中.建议的典型方法是顶级答案的缩影,无法在http POST文件上传(Android)中获取进度 - 包括完整Apache HTTPClient库中的MultipartEntity类,然后将其用于获取数据的输入流包装在一个在读取字节时计算字节数.

这种方法适用于这种情况,但不幸的是,对于通过UrlEncodedFormEntity发送数据的请求不起作用,UrlEncodedFormEntity期望其数据在Strings而不是InputStreams中传递给它.

所以我的问题是,有哪些方法可以通过这种机制确定上传的进度?

android httpclient

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

RFC 2822电子邮件地址解析 - 任何好的测试用例列表?

我正在开发一个RFC 2822地址解析器(不是验证器),并且想知道是否有人知道一个好的测试用例列表可以解决可能出现的极端情况?地址格式的规范非常复杂,我不相信我完全理解它可以确定所有可能出现的奇怪案例.

为了清楚起见,我说的是地址,因为它们可能出现在标题行中,因此像奇怪的地方的评论之类的东西是我正在考虑的那种问题.

testing parsing rfc2822

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

预定义的Haskell运算符用于在Applicative中应用纯值?

如果我有一个包含在一个函数(例如类型a -> b)Applicative和一个可以应用于它的值(即a上例中的类型值),我可以按如下方式应用它:

doSomething :: Applicative f => f (a -> b) -> a -> f b
doSomething wrappedFn arg = wrappedFn <*> (pure arg)
Run Code Online (Sandbox Code Playgroud)

我发现自己做了很多.是否有一个标准的预定义运算符可以使这些代码更简洁,或者我需要自己定义一个?如果是后者,是否有传统名称?

haskell operators applicative

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

是否有任何方法可以禁用ORMLite检查使用DataType.SERIALIZABLE声明的字段实现Serializable?

问题标题只是说明了一切.我有一个声明如下的字段:

    @DatabaseField(canBeNull=false,dataType=DataType.SERIALIZABLE)
    List<ScheduleTriggerPredicate> predicates = Collections.emptyList();
Run Code Online (Sandbox Code Playgroud)

根据上下文,predicates可以包含空列表或返回不可变列表Collections.unmodifiableList(List)ArrayList作为它的参数.因此,我知道有问题的对象是可序列化的,但我无法告诉编译器(以及因此ORMLite)它是什么.因此我得到这个例外:

SEVERE: Servlet /ADHDWeb threw load() exception
java.lang.IllegalArgumentException: Field class java.util.List for field
    FieldType:name=predicates,class=ScheduleTrigger is not valid for type 
    com.j256.ormlite.field.types.SerializableType@967d5f, maybe should be
    interface java.io.Serializable
Run Code Online (Sandbox Code Playgroud)

现在,如果只是某种方式来禁用支票,一切显然都会正常工作......

collections serializable ormlite

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

为什么Java不能检查这段代码?

我有一些流处理代码,它接受单词流并对它们执行一些操作,然后将它们缩减为Map包含单词作为键和单词作为Long值出现的次数.为了简洁代码,我使用了jOOL库Seq类,它包含许多有用的快捷方法.

如果我像这样编写它,代码编译就好了:

item.setWordIndex (
        getWords (item)                      // returns a Seq<String>
              .map (this::removePunctuation) // String -> String
              .map (stemmer::stem)           // String -> String
              .groupBy(str -> str, Collectors.counting ()));
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试str -> str用更多自我文档替换lambda Function::identity,我会收到以下错误:

setWordIndex(Map<String,Long>)类型中的方法MyClass不适用于参数(Map<Object,Long>)
类型Function没有定义identity(String)适用于此处

为什么我的Function::identity行为有任何不同str -> str,我(或许天真地)假设它是直接等价的,为什么编译器在使用它时不能处理它?

(是的,我知道我可以通过将先前的map应用程序移动到groupBy操作中来删除身份功能,但我发现代码更清晰,因为它更直接地遵循应用程序逻辑)

java generics typechecking

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