小编Mic*_*ton的帖子

ActionBarSherlock:java.lang.NoClassDefFoundError:com.actionbarsherlock.R $ styleable

我正在尝试使用Eclipse Indigo和ADT r20使用ActionBarSherlock 4.1构建一个小型示例应用程序.

我创建了一个带有空白活动的新Android项目,将actionbarsherlock.jar复制到libs并在构建路径中引用它.

该应用程序构建成功,但在启动模拟器(使用2.2)或设备(使用4.0.4)时,它崩溃并出现错误:

java.lang.NoClassDefFoundError: com.actionbarsherlock.R$styleable
        at com.actionbarsherlock.view.MenuInflater$MenuState.readItem(MenuInflater.java:328)
        ...
Run Code Online (Sandbox Code Playgroud)

我没有使用proguard.

我已经尝试清理ActionBarSherlock项目,将新jar复制到我的示例项目的libs中,然后清理我的示例项目.

我的MainActivity.java非常简单:

package com.example.lrn;

import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import android.os.Bundle;

public class MainActivity extends SherlockActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getSupportMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

菜单只有一个项目:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_settings"
        android:title="@string/menu_settings"
        android:orderInCategory="100"
        android:showAsAction="ifRoom" />
</menu>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml也就像Eclipse创建它一样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lrn"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter> …
Run Code Online (Sandbox Code Playgroud)

eclipse android noclassdeffounderror actionbarsherlock

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

通过Capistrano任务启动多个具有特定队列的DelayedJob worker

我正在研究使用delayed_job的队列.我发现这个页面概述了各种启动工人的方法,但我想保留目前的Capistrano方法:

set :delayed_job_args, "-n 2 -p ecv2.production"
after "deploy:start",  "delayed_job:start"
...
Run Code Online (Sandbox Code Playgroud)

我想知道如何修改delayed_job_args来处理具有特定队列的产生1工作者,以及为每个其他工作处理1个工作者.到目前为止,我所拥有的只是如此重写每项任务:

namespace :delayed_job do
  task :restart, :roles => :app do
    run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -p ecv2.production --queue=export restart"
    run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -p ecv2.production restart"
  end
end
Run Code Online (Sandbox Code Playgroud)

......但那没什么好玩的.有什么建议?

ruby ruby-on-rails delayed-job ruby-on-rails-3

12
推荐指数
2
解决办法
3056
查看次数

为什么gorm db.First()恐慌"无效的内存地址或无指针取消引用"?

我无法弄清楚我是否做过愚蠢的事情,或者我是否在gorm中发现了一个错误.虽然我非常清楚"无效的内存地址或无指针取消引用"是什么意思,但我对它出现在这里的原因完全不知所措.

简而言之,我打电话给db.First()我,我没有明显的理由感到恐慌.

我的代码的相关部分:

package main

import (
    "fmt"
    "github.com/gorilla/mux"
    "github.com/jinzhu/gorm"
    "net/http"
    "os"
)

type message struct {
    gorm.Model
    Title string
    Body  string `sql:"size:0"` // blob
}

var db = gorm.DB{} // garbage

func messageHandler(w http.ResponseWriter, r *http.Request) {
    vars := mux.Vars(r)
    m := message{}
    query := db.First(&m, vars["id"])
    if query.Error != nil {
        if query.Error == gorm.RecordNotFound {
            notFoundHandler(w, r)
            return
        } else {
            fmt.Fprintf(os.Stderr, "database query failed: %v", query.Error)
            internalServerErrorHandler(w, r)
            return
        }
    }

    // actually do …
Run Code Online (Sandbox Code Playgroud)

go null-pointer go-gorm

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

为什么我不能计算正确的HMAC签名?

我正在尝试在Google Apps脚本中计算HMAC签名,但文档并未100%明确我需要如何传递参数,而且我无法获得预期的输出.


为了确定我是否得到正确的输出,我将结果与已知良好的PHP代码进行比较.该代码是:

$key = "a2V5"; # this is "key" base64-encoded
$value = "test";
$result = base64_encode(hash_hmac('sha512', $value, base64_decode($key), true));
Run Code Online (Sandbox Code Playgroud)

我在Google Apps脚本中的代码是:

key = "a2V5"; // this is "key" base64-encoded
value = "test";
result = Utilities.base64Encode(Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_512, value, Utilities.base64Decode(key)));
Run Code Online (Sandbox Code Playgroud)

我希望收到的输出是:

KHoPuJp/vfpbVThjaRjlN6W4MGXk/zMSaLeqoRXd4EepsPT7W4KGCPwLYyfxAFX3Y3sFjp4Nu55piQGj5t1GHA==
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

mGXJ3X/nH5ZIFUAPtf1PsViY50pD3cfU7J8w2KAIEAqrAgZ3dpKcuy5V1yvH4/C5n1C9rFFsKc2JKHTwUqPscQ==
Run Code Online (Sandbox Code Playgroud)

我搞砸了什么?

google-apps-script

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