小编HGP*_*GPB的帖子

在HttpURLConnection中设置setChunkedStreamingMode无法将数据传递到服务器

我的dev服务器上的服务器版本如下:

Apache/2.2.21(Win32)mod_fcgid/2.3.6

我一直在测试,HttpURLConnection因为我的项目需要简单的流媒体功能.我已经阅读了@BalusC关于如何使用该类的精彩概要.

使用java.net.URLConnection来触发和处理HTTP请求

我目前遇到的麻烦是设置时setChunkedStreamingMode.无论我将它设置为我的流,当我的服务器api方法/连接被调用/制作时,它似乎没有进入服务器,数据流是空的.但是,如果我删除它,它工作正常.

我见过另一个有类似问题的人:

Java/Android HttpURLConnection setChunkedStreamingMode不适用于所有PHP服务器

但没有真正的解决方案.我无法将其设置为setFixedLengthStreamingMode仅因为内容(json)的长度可变.

这不行.我可能会传输非常大量的数据,因此不能将数据存储在内存中.

我的问题是,我怎样才能让setChunkedStreamingMode发挥得更好?它是服务器设置问题还是可以在代码中修复?

编辑 我现在已经在我的生产服务器上测试了我的代码,它没有问题.但是,我仍然想知道为什么我本地计算机上的Apache服务器出现故障.任何帮助仍然非常感谢.

java apache android httpurlconnection

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

使用libcurl和SSL

我发现关于这个主题的信息非常少.我已经有一个dll使用libcurl成功发布帖子.

我用openssl为ssl功能编译了libcurl.

这是我原来的卷曲设置的一个作用.

    curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, errorBuffer);

    //curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER , 1);
    //curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST , 1);
    //curl_easy_setopt(curl, CURLOPT_CAINFO , "./ca.cert");

    curl_easy_setopt(handle, CURLOPT_POSTFIELDS, cParam); 
    curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE, strlen(cParam));
    curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1);
    curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, Request::writer);   
    curl_easy_setopt(handle, CURLOPT_WRITEDATA, &buffer); 
    curl_easy_setopt(handle, CURLOPT_URL, cURL);
Run Code Online (Sandbox Code Playgroud)

对于那些之前已经完成此操作的人,我的问题是,只需添加上面的那些内容就可以使SSL工作(只要证书存在)?还是更复杂?

有趣的是我不完全确定SSL是如何工作的.我以前从未使用它.我是否需要在我的应用程序中存储密钥并将其与每个请求一起发送?无论如何,我的主要问题是第一个.先感谢您.

c++ ssl libcurl visual-studio-2008

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

SCRIPT5009:IE9中未定义"$"

我有一个书签,将div加载到当前页面并在其中放置一个iframe.除了IE9之外,bookmarklet在所有浏览器中都像梦一样.甚至可以在早期版本的IE中使用.

我正在使用以下bookmarklet框架:

http://idc.anavallasuiza.com/project/bookmarklets
Run Code Online (Sandbox Code Playgroud)

其他人在这里遇到了类似的问题(与bookmarklets无关):

https://forum.jquery.com/topic/retrieved-html-data-type-with-jquery-ajax-in-ie9-scripts-tags-sources-could-not-be-loaded
Run Code Online (Sandbox Code Playgroud)

到目前为止,我理解我的bookmarklet的jQuery在IE9中没有正确加载.

bookmarklet尝试加载自己的jQuery,以便在书签初始化时可以运行某些效果,并且易于编程.

iFrame页面还加载了jQuery(没有它,iframe中的内容无法正常工作).

我正在使用最新的jQuery:

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
Run Code Online (Sandbox Code Playgroud)

我想知道为什么IE9在没有其他浏览器时会导致这些SCRIPT错误?为什么jQuery在IE9中没有正确加载?

任何见解都会非常感激.

jquery bookmarklet internet-explorer-9

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

谁和什么时候应该调用基于AbstractAccountAuthenticator的类的方法confirmCredentials?

我不明白方法confirmCredentials是如何工作的.我从未在Android UI中看到任何类似"确认凭据"之类的选项,只有"创建帐户"和"删除帐户".

android android-authenticator android-account

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

何时/不使用同步适配器

我想弄清楚我是否需​​要在我的Android应用程序中使用同步适配器.

程序方法示例:

  1. (具有网络覆盖范围)用户所做的更改将自动发送到服务器.
  2. (没有网络覆盖)更改将保存在sqlite表中,并等待在线广播上传更改.
  3. 发送到服务器的更改将保存到sqlite表,在某种程度上镜像服务器上的内容.
  4. 服务器上的更改将使用C2DM框架通知用户更改.
  5. 当应用程序收到通知时,它将从服务器获取必要的数据并更新sqlite表.

问题是,我应该使用同步适配器进行这项工作吗?如果是这样的话,基于我上面的例子的高级方法是什么.谢谢.

java android sync

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

在对数组字段执行更新时,无法使用字符串字段名[$]附加到数组

rowsI我正在尝试对记录数组中的每个字段执行mongodb更新.

示例架构如下:

{
    "_id" : ObjectId("508710f16dc636ec07000022"),
    "summary" : "",
    "uid" : "ABCDEF",
    "username" : "bigcheese",
    "name" : "Name of this document",
    "status_id" : 0,
    "rows" : [
        {
            "score" : 12,
            "status_id" : 0,
            "uid" : 1
        },
        {
            "score" : 51,
            "status_id" : 0,
            "uid" : 2
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经能够执行这样的单个更新:

db.mycollection.update({"uid":"ABCDEF","rows.uid":1}, {$set:{"rows.$.status_id":1}},false,false)
Run Code Online (Sandbox Code Playgroud)

但是,我正在努力如何执行更新,将所有数组记录更新status_id为1(例如).

以下是我想象它应该如何工作:

db.mycollection.update({"uid":"ABCDEF"}, {$set:{"rows.$.status_id":1}},false,true)
Run Code Online (Sandbox Code Playgroud)

但是我得到错误:

无法使用字符串字段名称附加到数组[$]

我已经尝试了一段时间没有运气.有什么指针吗?

mongodb mongodb-update

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

如何使用jQuery测试XML

如何使用jQuery测试XML?

我有一个bookmarklet需要知道当前页面是否是XML.我该如何检查?

我想我会传入文件并检查以下内容:

<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)

但不确定.

xml jquery

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

创建自定义样式崩溃应用程序

我正在构建我的应用程序,以便它可以受益于多个主题.

我已经到了我想添加自定义项目的阶段,例如

<style name="My.Theme.Default">
...
    <item name="borderColorDialog">@color/red</item>
...
</style>

<style name="My.Theme.Blue">
...
    <item name="borderColorDialog">@color/blue</item>
...
</style>
Run Code Online (Sandbox Code Playgroud)

所以我已经将属性添加borderColorDialog到我的attr文件中,如下所示:

<attr name="borderColorDialog" format="color" />
Run Code Online (Sandbox Code Playgroud)

现在我想测试它.我有一个drawable如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>

        <shape 
            android:shape="rectangle" >

            <solid 
                android:color="?borderColorDialog" />

        </shape>

    </item> 

    <item
        android:bottom="2dp">

        <shape 
            android:shape="rectangle" >

            <solid 
                android:color="@color/black" />

        </shape>

    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

这对我来说在逻辑上看起来都很合理,但?borderColorDialog引用会使模拟器崩溃:

E/AndroidRuntime(1461): FATAL EXCEPTION: main
E/AndroidRuntime(1461): java.lang.RuntimeException: Unable to start activity ComponentInfo{.MainActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class com.android.internal.widget.ActionBarContainer
E/AndroidRuntime(1461):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
E/AndroidRuntime(1461):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) …
Run Code Online (Sandbox Code Playgroud)

android themes styles

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

在自定义视图上实现可访问性不会给出口头反馈

我已经打开了可访问性,当我四处浏览时,我的设备会说话.

我有一个习惯seekbar并已实现以下内容:

onTouchEvent 摘抄:

...
case MotionEvent.ACTION_MOVE:

    getParent().requestDisallowInterceptTouchEvent(true);

    setTouchAngle(pointToAngle(touchX, touchY));
    score = getScoreFromAngle(angleStart,touchAngle);
    if (onScoreSetListener != null) {
        onScoreSetListener.onScorePoll(this, score);
        sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
    }
    break;
...
Run Code Online (Sandbox Code Playgroud)

onPopulateAccessibilityEvent 方法:

    @Override
    public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
        super.onPopulateAccessibilityEvent(event);

        LogUtils.i(TAG,"onPopulateAccessibilityEvent()",null);

        switch (event.getEventType()) {
            case AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED:

                LogUtils.d(TAG,"dispatchPopulateAccessibilityEvent() TYPE_VIEW_TEXT_CHANGED",null);

                event.getText().add(String.valueOf(getScore()));
                break;
            }
    }
Run Code Online (Sandbox Code Playgroud)

我可以看到成功onPopulateAccessibilityEvent调用LogCat,但设备没有给出任何反馈.我希望现在的分数可以回读,但没有.

有没有人有任何见解?

android accessibility android-custom-view

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

如何在键入时过滤jquery自动完成数据

到目前为止,我有以下内容

var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];

$('#my-input').autocomplete({
    source:aCleanData,
    minLength:2
});
Run Code Online (Sandbox Code Playgroud)

目前,如果您输入aa,aaa,aab,faa,maa将显示.

我想要做的是当用户键入显示ff的数据时将是fff,ffb数据.

基本上,只有键入的内容应该从第一个字符开始匹配.

这应该是递归的.当用户输入时fg,fff,ffb应该消失并且只fgh应出现.

在此先感谢您的帮助.

更新:

ps看看我的意思:

http://jqueryui.com/demos/autocomplete/#default

输入sc并且您将看到的不仅仅是以sc开头的数据.

jquery autocomplete jquery-autocomplete

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