小编Tom*_*eck的帖子

将枚举转换为迭代器

我在工作表上遇到问题,即创建一个将Enumeration转换为Iterator的适配器.当我尝试运行以下代码时,我得到一个空指针异常.

import java.util.Vector;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Iterator;

public class ConvertEnumeration {

    public static void main(String [] args) {

        int [] ourArray = {0,1,2,3,4,5,6,7,8,9};
        Vector vector = new Vector(Arrays.asList(ourArray));

        //Get Enumerator 
        Enumeration enumerator = vector.elements();

        EnumerationToIterator enumToIt = new EnumerationToIterator(enumerator);
        while(enumToIt.hasNext()) {
            System.out.println(enumToIt.next());
        }
    }

}


//Convert our enumeration to Iterator!
class EnumerationToIterator implements Iterator {

    //Our enumeration
    Enumeration enmueration;

    //Constructor
    public EnumerationToIterator(Enumeration enmueration){
        enmueration = this.enmueration;
    }

    //Our Methods
    public boolean hasNext(){
        return enmueration.hasMoreElements();
    }

    public Object next(){ …
Run Code Online (Sandbox Code Playgroud)

java iterator enumeration nullpointerexception

10
推荐指数
4
解决办法
7658
查看次数

Gson 2.2.2仅在4.2.1上引起stackoverflow

我正在开发一个Android应用程序,它使用JSON字符串从服务器下载兴趣点.一切都工作正常但是因为我已经开始测试4.2.1,我收到了以下错误:

01-28 15:32:14.167: E/AndroidRuntime(31174): FATAL EXCEPTION: AsyncTask #1
01-28 15:32:14.167: E/AndroidRuntime(31174): java.lang.RuntimeException: An error occured while executing doInBackground()
01-28 15:32:14.167: E/AndroidRuntime(31174):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at java.lang.Thread.run(Thread.java:856)
01-28 15:32:14.167: E/AndroidRuntime(31174): Caused by: java.lang.StackOverflowError
01-28 15:32:14.167: E/AndroidRuntime(31174):    at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:371)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:375)
01-28 15:32:14.167: E/AndroidRuntime(31174):    at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:380)
01-28 …
Run Code Online (Sandbox Code Playgroud)

stack-overflow android json gson android-4.2-jelly-bean

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

Log4j无法打印到文件或标准输出

我刚下载了Log4j,我正试图测试它.我复制了一个样本属性文件,从这里打印到stdout和一个文件,但它没有.

这是我的代码:

public class ClientTest {
    //static CanvasFrame canvas = new CanvasFrame("Web Cam");

    static Logger logger = Logger.getLogger(ClientTest.class);
    public static void main(String [] args) {

        BasicConfigurator.configure();

        logger.debug("HERPADERP");

        Client bob = new Client("localhost", 6789);
        bob.startRunning();

    }
}
Run Code Online (Sandbox Code Playgroud)

和log4j.properties:

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=Log/log.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n …
Run Code Online (Sandbox Code Playgroud)

java file-io log4j stdout

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

OpenWRT - 重新编译时打包缺少依赖项

如果有人可以帮助我,我会非常感激,因为它让我疯了.

当我从头开始编译包含我的包的OpenWRT图像时,通常一切正常.

否则,当我尝试重新编译时,我不断错过依赖错误.

我找到的唯一解决方案是将我的包放入一个完全干净的OpenWRT环境中并再次编译所有内容.考虑到编译整个OpenWRT图像需要一个多小时,这没有用.

这是我的错误:

michael@michael-VirtualBox:~/Documents/openwrt/openwrt$ make package/amldmonitor/compile V=99
^Tmake[1]: Entering directory `/home/michael/Documents/openwrt/openwrt'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/kernel/linux'
/home/michael/Documents/openwrt/openwrt/target/linux/imx23/modules.mk:65: warning: overriding commands for target `/home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/root-x86/stamp/.kmod-usb-mxs-phy_installed'
modules/usb.mk:1079: warning: ignoring old commands for target `/home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/root-x86/stamp/.kmod-usb-mxs-phy_installed'
/home/michael/Documents/openwrt/openwrt/target/linux/imx23/modules.mk:65: warning: overriding commands for target `/home/michael/Documents/openwrt/openwrt/bin/x86/packages/kmod-usb-mxs-phy_3.8.13-1_x86.ipk'
modules/usb.mk:1079: warning: ignoring old commands for target `/home/michael/Documents/openwrt/openwrt/bin/x86/packages/kmod-usb-mxs-phy_3.8.13-1_x86.ipk'
/home/michael/Documents/openwrt/openwrt/target/linux/imx23/modules.mk:65: warning: overriding commands for target `kmod-usb-mxs-phy-clean'
modules/usb.mk:1079: warning: ignoring old commands for target `kmod-usb-mxs-phy-clean'
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kernel" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-ata-core …
Run Code Online (Sandbox Code Playgroud)

dependencies openwrt cross-compiling package

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

Unity.Mvc5中的Unity.WebApi.UnityDependencyResolver等价物

我在.NET 4.5应用程序中使用了以下代码:

UnityConfig.cs

public static class UnityConfig
{
    public static void RegisterComponents()
    {
        var container = new UnityContainer();

        container.RegisterType<a_interfaces.IAMessageRepository, ARepository.AMessageRepository>();

        DependencyResolver.SetResolver(new Unity.Mvc5.UnityDependencyResolver(container));
        GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);
    }
}
Run Code Online (Sandbox Code Playgroud)

Global.asax中

public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        UnityConfig.RegisterComponents();      
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

        var _repo = (a_interfaces.IAMessageRepository)GlobalConfiguration.Configuration.DependencyResolver.GetService(typeof(a_interfaces.IAMessageRepository));
    }
}
Run Code Online (Sandbox Code Playgroud)

我现在需要针对.NET 4,我下载/安装了Unity.Mvc4(版本1.2).我在这一行得到以下错误:

GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);

The type or namespace name 'WebApi' does not exist in the namespace 'Unity' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

有谁知道.NET 4的等效代码是什么?

c# asp.net unity-container asp.net-mvc-4 asp.net-web-api

8
推荐指数
0
解决办法
1810
查看次数

将多个版本的Angular应用程序部署到Azure App Service

我有一个Angular应用程序,我可以毫无问题地部署到Azure App Service.

首先,我使用以下命令编译我的应用程序:

ng build --output-path=dist --aot -prod
Run Code Online (Sandbox Code Playgroud)

然后我将以下内容添加web.config到该dist文件夹:

<configuration>
    <system.webServer>
         <rewrite>
            <rules>
              <rule name="AngularJS Routes" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                  <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="/" />
              </rule>
            </rules>
          </rewrite>
          <caching enabled="true" enableKernelCache="true">
              <profiles>
                  <add extension=".js" policy="DisableCache" kernelCachePolicy="DisableCache" />
              </profiles>
          </caching>
    </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后我将dist文件夹的内容压缩并将其拖到我的Azure应用程序(https://<site.scm.azurewebsites.net>/ZipDeploy)中.此时应用程序运行正常.

我的问题是我想为不同的语言环境部署不同版本的应用程序.

我使用以下命令编译我的不同版本:

ng build --output-path=dist/en --aot -prod --bh /en/ --i18n-format=xlf --locale=en

ng build --output-path=dist/fr --aot -prod --bh …
Run Code Online (Sandbox Code Playgroud)

web-config internationalization azure angular-i18n angular

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

在Ubuntu中选择Timeout错误 - Opencv

我试图为我的最后一年项目设置OpenCv并遇到了一些问题.我按照教程成功地在Ubuntu中设置了它.

我现在遇到的问题是保持这个示例程序运行.该程序使用网络摄像头进行人脸检测.

它运行良好3或4秒,然后捕获卡在窗口中的单个帧.控制台显示以下输出.

tom@ubuntu:~/College/opencv/faceDetect_sample$ make
./faceDetect --cascade="haarcascade_frontalface_alt.xml" --nested-cascade="haarcascade_eye_tree_eyeglasses.xml"
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
init done 
opengl support available 
select timeout
select timeout
select timeout
select timeout
select timeout
select timeout
^Cmake: *** [run] Interrupt
Run Code Online (Sandbox Code Playgroud)

如果有人知道从哪里开始,我真的很感激一些帮助!

c c++ ubuntu webcam opencv

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

将String数组作为POST传递给PHP

我试图将一个字符串数组作为POST数据传递给PHP脚本但不确定该怎么做.

这是我到目前为止执行PHP脚本的代码:

我试图传递数组的地方:

nameValuePairs.add(new BasicNameValuePair("message",message));
String [] devices = {device1,device2,device3};
nameValuePairs.add(new BasicNameValuePair("devices", devices));// <-- Can't pass String[] to BasicNameValuePair
callPHPScript("notify_devices", nameValuePairs);
Run Code Online (Sandbox Code Playgroud)

调用PHP脚本:

public String callPHPScript(String scriptName, List<NameValuePair> parameters) {
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost("http://localhost/" + scriptName);
    String line = "";
    StringBuilder stringBuilder = new StringBuilder();
    try {
        post.setEntity(new UrlEncodedFormEntity(parameters));

        HttpResponse response = client.execute(post);
        if (response.getStatusLine().getStatusCode() != 200)
        {
            System.out.println("DB: Error executing script !");
        }
        else {
            BufferedReader rd = new BufferedReader(new InputStreamReader(
                response.getEntity().getContent()));
            line = …
Run Code Online (Sandbox Code Playgroud)

php java post json google-cloud-messaging

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

无法取消蓝牙发现过程

我需要在周围区域扫描蓝牙设备6至12秒.在此之后,我需要停止发现新设备.

以下代码应该:

  • 开始扫描蓝牙设备
  • 打印出找到的任何内容
  • 6秒后,取消所有发现和重复过程

问题是蓝牙发现永远不会被取消.在此代码运行一两分钟之后,onReceive将在同一秒内被调用数十次......

public void startTrackingButton(View view) {
        Log.d("MAIN", "Track button pressed, isTracking: " + !isTracking);
        if (isTracking) {
            isTracking = false;
        } else {
            isTracking = true;

            Thread keepScanning = new Thread(new Runnable() {
                @Override
                public void run() {
                    while (isTracking) {
                        if (mBluetoothAdapter.isDiscovering()) {
                            Log.d("MAIN", "Cancelling discovery!");
                            Log.d("MAIN", String.valueOf(mBluetoothAdapter.cancelDiscovery() + ":" + mBluetoothAdapter.getState()));
                            mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
                        }
                        startTracking();
                        try {
                            Thread.sleep(6000);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    } …
Run Code Online (Sandbox Code Playgroud)

android bluetooth android-broadcast

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

找不到活动来处理Intent,Android

我正在Android上开发一个项目来处理来自相机或SD卡的图像.我有这个工作正常,直到早些时候我正在摆弄代码并打破它.撤消为时已晚,似乎无法找到解决方案.

选择并处理图像后,应返回一个列表,但现在我得到一个Activity not Found异常,是一张图片.

如果有人有任何想法,我会很感激!

编辑

刚刚得到它,是一个愚蠢的错误,我有

Intent intent = new Intent(Results)
Run Code Online (Sandbox Code Playgroud)

代替

Intent intent = new Intent(this, Results.class)
Run Code Online (Sandbox Code Playgroud)

crash android android-intent

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