小编Jos*_*hDM的帖子

如何在开关盒中使用char作为案例?

如何在开关盒中使用字符?我将收到用户输入的第一个字母.

import javax.swing.*;

public class SwitCase {
    public static void main (String[] args){
        String hello="";
        hello=JOptionPane.showInputDialog("Input a letter: ");
        char hi=hello;
        switch(hi){
            case 'a': System.out.println("a");
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)

java character

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

如何使用Spring MVC设计通用的响应构建器/ RESTful Web服务?

尝试使用Spring MVC构建RESTful Web服务.

控制器应返回特定的Java类型,但响应主体必须是通用信封.如何才能做到这一点?

以下代码部分是我到目前为止所拥有的:

控制器方法:

    @Controller
    @RequestMapping(value = "/mycontroller")
    public class MyController {

        public ServiceDetails getServiceDetails() {
             return new ServiceDetails("MyService");
        }
    }
Run Code Online (Sandbox Code Playgroud)

回复信封:

    public class Response<T> {

        private String message;
        private T responseBody;

    }
Run Code Online (Sandbox Code Playgroud)

ServiceDetails 码:

    public class ServiceDetails {

        private String serviceName;

        public ServiceDetails(String serviceName) {
            this.serviceName = serviceName;
        }
    }
Run Code Online (Sandbox Code Playgroud)

对客户的最终回应应显示为:

   {

     "message" : "Operation OK"
     "responseBody" : {
                        "serviceName" : "MyService"
                      }

   }  
Run Code Online (Sandbox Code Playgroud)

java rest spring-mvc

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

本机库(.so文件)不会添加到android项目中

我正在尝试使用需要使用本机库的sqlitecipher库.他们的教程非常简单,但对我来说不起作用.每次我收到以下错误:

FATAL EXCEPTION: main
        java.lang.UnsatisfiedLinkError: Couldn't load stlport_shared from loader dalvik.system.PathClassLoader[dexPath=/data/app/org.example.test-2.apk,libraryPath=/data/app-lib/org.example.test-2]: findLibrary returned null
        at java.lang.Runtime.loadLibrary(Runtime.java:365)
        at java.lang.System.loadLibrary(System.java:535)
        at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:141)
        at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:136)
Run Code Online (Sandbox Code Playgroud)

它意味着.so文件在编译期间没有附加.

所有3个文件都存储在/ libs/armeabi /目录中.

我认为问题在于我使用maven来管理依赖项(无论如何都要使用Android Studio进行构建).下一次尝试 - 将这些库包含在maven依赖项中.根据文档,这很容易.我在公共存储库中找不到它们,所以我使用<scope>system</scope> 了标签.它们是可见的,但它不起作用.后来发现这个链接,据说范围"系统"不起作用,尝试将这些库添加到本地存储库中使用

mvn install:install-file -DgroupId=net.sqlitecipher -DartifactId=stlport_shared -Dversion=1.0 -Dfile=libstlport_shared.so -Dpackaging=so -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)

最后 - 它没有用.

我也看到了这个话题,可能这是一个解决方案,但我目前不使用gradle.有没有办法将.so文件包含到apk中,而无需从maven转移到gradle?

据我所知,Android Studio在内部使用gradle来构建apks,所以我对maven的所有努力都没用,直到他们开始支持本机库,我是对的吗?我还尝试用Intellij IDEA Cardea(13.0)构建项目,遗憾的是没有任何成功.

android intellij-idea maven unsatisfiedlinkerror android-studio

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

使用JavaScript将文本截断为特定大小(8 KB)

我正在使用Zemanta API,每次调用最多可接受8 KB的文本.我正在使用JavaScript从网页中提取要发送给Zemanta的文本,所以我正在寻找一个能够以8 KB的速度截断我的文本的函数.

Zemanta应该自己进行截断(例如,如果你发送一个更大的字符串),但是我需要在进行API调用之前将这个文本稍微移动一下,所以我想保持有效负载尽可能小.

假设8 KB的文本是8,192个字符并且相应地截断是否安全?(每个字符1个字节;每KB 1,024个字符; 8 KB = 8,192个字节/字符)或者,在某些情况下,这是不准确还是仅为真?

是否有更优雅的方法根据实际文件大小截断字符串?

javascript byte text truncate zemanta

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

如何在Android上创建本机C++库?

我需要在C++中编写一个动态链接库,由Java在Android上使用.我得到它应该是.so库,但我不知道该怎么做.我试过Cygwin,但它崩溃了:

$ gcc 1.cpp

/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld:找不到-luser32 collect2:ld返回1退出状态

1.cpp:
int main(int, char**)
{
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我吗?

PS我不擅长*nix,所以在Windows下应该做得更好

UPD:我已经安装了Android NDK和Cygwin,并将它们添加到PATH环境变量中

UPD2:感谢您的帮助.问题在于Cygwin本身.重新安装它和NDK解决了这个问题.

c++ java java-native-interface android

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

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

为什么Tomcat在取消部署期间抛出'java.lang.IllegalStateException:Class invariant violation'?

我有一个web-app(Tomcat 6,log4j 1.2.16),它以一个监听器开头.取消部署应用程序会引发以下异常:

 INFO (HqListener.java:28) - HqListener exited!
log4j:ERROR log4j called after unloading, see http://logging.apache.org/log4j/1.2/faq.html#unload.
java.lang.IllegalStateException: Class invariant violation
    at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:199)
    at org.apache.log4j.LogManager.getLogger(LogManager.java:228)
    at org.apache.log4j.Logger.getLogger(Logger.java:117)
    at com.mchange.v2.log.log4j.Log4jMLog.getMLogger(Log4jMLog.java:51)
    at com.mchange.v2.log.MLog.getLogger(MLog.java:145)
    at com.mchange.v2.sql.SqlUtils.<clinit>(SqlUtils.java:37)
    at com.mchange.v2.c3p0.DataSources.pooledDataSource(DataSources.java:290)
    at com.mchange.v2.c3p0.DataSources.pooledDataSource(DataSources.java:316)
    at org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:181)
    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:143)
    at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:51)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:90)
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:906)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
    at net.hq.util.Db.init(Db.java:15)
    at net.hq.process.ConnectionGateway.run(ConnectionGateway.java:89)
    at java.lang.Thread.run(Thread.java:662)
Exception in thread "HQ Gateway Thread" java.lang.NullPointerException
    at net.hq.process.ConnectionGateway.run(ConnectionGateway.java:129)
    at java.lang.Thread.run(Thread.java:662)
Jul 3, 2011 3:03:53 AM org.apache.catalina.core.StandardContext …
Run Code Online (Sandbox Code Playgroud)

java tomcat log4j

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

自动完成用户输入PowerShell 2.0

我有一个庞大的数据列表(超过1000个不同的值),我希望用户能够从PowerShell控制台的列表中选择某些值.

在控制台中允许用户快速选择值的最简单方法是什么?

我想做一些像Tab完成或使用箭头键滚动值的功能,但我不知道如何做这些事情.

任何建议将不胜感激.

powershell tabs user-input autocomplete powershell-2.0

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

android .so文件未在/ data/data/<package>/lib中解压缩

我正在开发一个原生的android应用程序,并使用一个生成.so文件的开源库.面对一个奇怪的行为.在最初的几次,应用程序运行得非常好,库已加载.但现在它无法找到图书馆并给出 -

java.lang.UnsatisfiedLinkError:无法加载:findLibrary返回null

.Below很少观察:1.当我提取.apk文件时,库(.so)出现在"lib/armeabi"文件夹下.2.但是当我尝试搜索库(.so)进入设备提取路径时

/ data/data // lib /,它不存在.有关为什么会发生这种奇怪行为以及为什么.so文件未在/data/data/com.ibm.homeScreen/lib/文件夹中解压缩的任何建议.

提前致谢!

android unsatisfiedlinkerror android-native-library

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

在Xamarin中正确绑定本机库

c++图书馆中使用这种方法(Gifflen,动画gif制作者):

JNIEXPORT jint JNICALL Java_org_jiggawatt_giffle_Giffle_Init(JNIEnv *ioEnv, jobject ioThis, 
jstring gifName, jint w, jint h, jint numColors, jint quality, jint frameDelay) { ... }
Run Code Online (Sandbox Code Playgroud)

并且这个签名可以访问它:

extern "C"
{
    JNIEXPORT jint JNICALL Java_org_jiggawatt_giffle_Giffle_Init(JNIEnv *ioEnv,
    jobject ioThis, jstring gifName, jint w, jint h, jint numColors, jint quality, 
    jint frameDelay);
}
Run Code Online (Sandbox Code Playgroud)

p/invoke不应该类似吗?

[DllImport("libgifflen.so", CharSet = CharSet.Ansi)]
public static extern int Java_org_jiggawatt_giffle_Giffle_Init(string gifName, int w, 
int h, int numColors, int quality, int frameDelay);
Run Code Online (Sandbox Code Playgroud)

我有一个基本上只是尝试访问Init方法的程序.

我正在成功加载库: Java.Lang.JavaSystem.LoadLibrary("gifflen");

然后我似乎指向了正确的方法,但它一进入方法就会崩溃.

我正在使用与java演示应用程序中相同的值调用Init(并且与此gif编码器的所有其他实现中的值基本相同,因为这是所有库的相同代码库):

var pathForResult = …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android xamarin

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