小编Den*_*hev的帖子

使用Retrofit 2.0上传文件

我正在使用此方法将文件上传到我的服务器:

@Multipart
@POST("new")
Call<Response> send(@Part("myFile") byte[] file);
Run Code Online (Sandbox Code Playgroud)

我一直在阅读,有些人习惯TypedFile这样做,也许这比发送原始字节更容易,就像我正在做的那样.

TypedFile类是retrofit.mime包.但我没有.这个包已从2.0版本中删除了吗?或者我要添加另一个依赖项?哪一个?

谢谢.

android retrofit

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

Java:单元测试图像处理

我有一个处理图像的方法.该方法采用一个图像,对其执行一些操作并返回另一个图像:

public BufferedImage manipulateImage (Image image) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否有针对此类活动编写单元测试的最佳实践.应该首先检查图像的哪些特征?如何检查图像是否没有损坏?例如,一旦我遇到问题,GIF图像在阅读ImageIO并保存后会变色.

java unit-testing image image-processing

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

Java:字节码的新实例

ClassWriter cw = new ClassWriter(...);
byte[] bytes = cw.toByteArray();
Run Code Online (Sandbox Code Playgroud)

我想从bytes数组创建新的类实例.我该怎么做呢?有可能吗?

java reflection assembly bytecode java-bytecode-asm

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

如何让Android Studio STOP生成local.properties?

我已经设置了一个环境变量ANDROID_HOME,它指向我的android SDK位置.但是,每次我在Android Studio中打开项目时,它都会将local.properties文件放到项目的根目录中,并将我的SDK位置复制ANDROID_HOME到此文件中.我想ANDROID_HOME直接使用Android Studio ,而不需要生成local.properties.

为什么?我在Windows 10上使用Bash for Windows.我想在从Windows运行Android Studio时使用Bash运行命令行.为此,我需要两个ANDROID_HOME环境变量,一个用于Windows,一个用于Bash.这是因为虽然他们指向相同的(windows)android SDK格式是不同的,对于Windows,它是C:\Users\me\Android SDKBash的时候/mnt/c/Users/me/Android SDK.当Android Studio local.properties使用Windows路径创建时,Bash因为显然local.properties占据优势而被破坏ANDROID_HOME,因此我必须手动删除它.

android android-studio

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

JSF:AJAX测试最佳实践

我们有一个大量使用AJAX的JSF 2.0项目(由OpenFaces标记库提供).我们的项目非常酷,并且做了许多有用的事情,我们喜欢它.然而,有一件事让我们感到沮丧 - 我们的项目没有集成测试.完全没有.它当然有硒测试,但它们仅从用户的角度来涵盖项目.我喜欢的是一些可以处理与AJAX相关的逻辑的集成测试.但我不确定如何实现这一点...抓住我的想法是JSFUnit和HTTPUnit,但我想知道基于AJAX的JSF项目是否有更好的东西.有没有人对此有任何疑虑?谢谢!

java ajax jsf unit-testing jsf-2

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

android studio gradle sync错误

在尝试了一个给我奇怪错误的预览版之后,我刚刚在Ubuntu Linux上安装了全新的Android Studio 1.1.0.我还删除了首选项目录以从头开始.

现在,即使有新项目,gradle sync也会因此错误而失败,我找不到原因或其他信息可以给我提示原因:

Error:Cause: org.jetbrains.plugins.gradle.tooling.ModelBuilderService: Provider org.jetbrains.plugins.gradle.tooling.builder.ExternalProjectBuilderImpl not found
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

android sync gradle android-studio

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

来自现有bean的Spring XML - 如何?

我有java bean:

package com.denisk.beans;
...
public class SomeBean {
    private String someProperty;
    private AnotherBean anotherBean;
    ...
}

public class AnotherBean {
    private String anotherProperty;
    ....
}
Run Code Online (Sandbox Code Playgroud)

我想为这些bean 生成一个stub xml spring配置,就像这样

<beans>
    <bean id="someBean">
        <property name="someProperty" value="sldfjslkdfjas;lfj"/>
        <property name="anotherBean" ref="anotherBean"/>
    </bean>
    <bean id="anotherBean">
        <property name="anotherProperty" value="klj;df;ksdjflsjkd;lfj"/>
    </bean>
</beans>
Run Code Online (Sandbox Code Playgroud)

我想要使​​用一些工具来完成,它会接受我的bean作为输入的路径,如下所示:

denisk@denisk-work:~$ generateSpringXml -p "/home/denisk/myProject/src/main/java/com/denisk/beans" -output "/home/denisk/mySpringConfig.xml"
Run Code Online (Sandbox Code Playgroud)

不应该是一个大问题,但我不能谷歌这样的东西.

谢谢

java xml spring code-generation dependency-injection

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

在浏览器开发工具中停止网络请求

我正在 chrome 开发工具的“网络”选项卡中观察到一系列重定向:

在此输入图像描述

我需要能够在请求出现在“网络”中之后但在执行之前暂停重定向链(以便我可以将其复制为 cURL)。类似“暂停任何网络活动”之类的内容。我在 Chrome 开发工具、Firefox Web Developer、Firebug、Safari 中搜索过此功能 - 但没有结果。最接近的是 firebug 中的“Pause on XHR”,但这些重定向不是 XHR。

如果非浏览器解决方案(脚本?)能够完成工作,我会接受它,尽管我认为这应该可以通过浏览器开发工具实现。

javascript safari firefox firebug google-chrome

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

另一个java泛型混淆

我们有以下代码:

public class TestGenerics {
    static <T> void mix(ArrayList<T> list, T t) {
        System.out.println(t.getClass().getName());
        T item = list.get(0);
        t = item;
        System.out.println(t.getClass().getName());
    }
    public static void main(String[] args) {
        ArrayList<Object> list = new ArrayList<Object>();
        list.add(new Integer(3));

        mix(list, "hello world");
    }
}
Run Code Online (Sandbox Code Playgroud)

在输出中我得到:

java.lang.String
java.lang.Integer
Run Code Online (Sandbox Code Playgroud)

这是无稽之谈 - 我们刚刚分配IntegerString没有得到ClassCastException!我们不能这样写:

String s = new Integer(3);
Run Code Online (Sandbox Code Playgroud)

但这就是我们刚刚在这里所做的.

这是一个bug还是什么?

java generics collections

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

Java:泛型继承混淆

想象一下,我们有以下课程:

public interface MyInterface<T> {
    List<T> getList(T t);
}

abstract class BaseClass<T extends Number> implements MyInterface<T> {
    @Override
    public List<T> getList(Number t) {
        return null;
    }
}

class ChildClass extends BaseClass<Integer> {
    @Override
    public List<Integer> getList(Integer t) {
        return super.getList(t);  //this doesn't compile
    }
}
Run Code Online (Sandbox Code Playgroud)

getListChildClass不编译时,输出为:

abstract method getList(T) in com.mypackage.MyInterface cannot be accessed directly
Run Code Online (Sandbox Code Playgroud)

我无法BaseClass.getList理解为什么在ChildClass中没有覆盖方法.

但令我完全困惑的是使其编译的修复:

class ChildClass extends BaseClass<Integer> {
    @Override
    public List<Integer> getList(Integer t) {
        return super.getList((Number) t);  //Now it compiles!
    } …
Run Code Online (Sandbox Code Playgroud)

java oop generics inheritance overriding

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

使用javascript格式化硬盘

不久前,我的一位同事对我说了些惊人的话:他说可以用javascript格式化硬盘!我只是回答说"不,这是不可能的".然而,他似乎非常自信,虽然他也提到这对于Windows来说是可能的......从那以后我不能放弃思考它,但我没有找到任何机会进行这样的黑客攻击..我倾向于认为他只是在开玩笑,我想证明这一点.但是,我仍然不能放弃这个"怎么办?" 我头脑中出现的问题......有没有人有任何想法?

javascript filesystems formatting hard-drive

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

使用字节数组中没有反射的类?

我已经使用ASM对我的班级进行了检测并像这样处理了它

public class MyClassLoader extends ClassLoader {
...
    byte[] classBytes = ... //the class is of type com.mypackage.Test
    Class clazz = defineClass("com.mypackage.Test", classBytes, 0, classBytes.length);
    resolveClass(clazz);
    com.mypackage.Test test =(com.mypackage.Test) clazz.newInstance();
Run Code Online (Sandbox Code Playgroud)

但是我在最后一行得到ClassCastException:

java.lang.ClassCastException: com.mypackage.Test cannot be cast to com.mypackage.Test
Run Code Online (Sandbox Code Playgroud)

解决方法是使用反射:

Object test = clazz.newInstance();
test.getClass().getMethods()[0].invoke(test, null); //invoke some method - successfully
Run Code Online (Sandbox Code Playgroud)

我使用错误的类加载器还是什么?

java reflection classloader

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