小编sea*_*est的帖子

Retrofit2.0得到MalformedJsonException,而json似乎正确吗?

我正在使用改装:2.0.0-beta4为我的Android应用程序.

我尝试添加用户使用Retrofit,用户在数据库中正确创建,但是我收到以下错误:

03-14 06:04:27.731 30572-30600/com.lehuo.lehuoandroid D/OkHttp: CALLING POST SP_User_CreateUser....your new user_id:48
{"data":{"user_id":"48","nickname":null,"password":null,"status":null},"status":1,"msg":"OK"}
03-14 06:04:27.731 30572-30600/com.lehuo.lehuoandroid D/OkHttp: <-- END HTTP (147-byte body)
03-14 06:04:27.732 30572-30600/com.lehuo.lehuoandroid E/My Jobs: error while executing job
     com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
         at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1573)
         at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1423)
         at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:587)
         at com.google.gson.stream.JsonReader.peek(JsonReader.java:429)
         at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:202)
         at com.google.gson.TypeAdapter.fromJson(TypeAdapter.java:260)
         at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:32)
         at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:23)
         at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:213)
         at retrofit2.OkHttpCall.execute(OkHttpCall.java:177)
         at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:87)
         at com.lehuo.lehuoandroid.async.NetworkJob.callNet(NetworkJob.java:30)
         at com.lehuo.lehuoandroid.async.CreateUserJob.onRun(CreateUserJob.java:34)
         at com.path.android.jobqueue.BaseJob.safeRun(BaseJob.java:108)
         at com.path.android.jobqueue.JobHolder.safeRun(JobHolder.java:60)
         at com.path.android.jobqueue.executor.JobConsumerExecutor$JobConsumer.run(JobConsumerExecutor.java:201)
         at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

服务器返回的结果是:

{"data":{"user_id":"48","nickname":null,"password":null,"status":null},"status":1,"msg":"OK"} …
Run Code Online (Sandbox Code Playgroud)

android json gson retrofit retrofit2

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

如何在golang中获取shell命令的实时输出?

我试图在golang中使用os/exec调用shell命令,该命令将花费一些时间,因此我想检索reatime输出并打印处理后的输出(进度比率数字).

package main

import (
    "bufio"
    "fmt"
    "io"
    "os"
    "os/exec"
    "strings"
)

func main() {
    cmdName := "ffmpeg -i t.webm  -acodec aac -vcodec libx264  cmd1.mp4"
    cmdArgs := strings.Fields(cmdName)

    cmd := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
    stdout, _ := cmd.StdoutPipe()
    cmd.Start()
    go print(stdout)
    cmd.Wait()
}

// to print the processed information when stdout gets a new line
func print(stdout io.ReadCloser) {
    r := bufio.NewReader(stdout)
    line, _, err := r.ReadLine()
    fmt.Println("line: %s err %s", line, err)
}
Run Code Online (Sandbox Code Playgroud)

我希望有一个功能,当命令打印时可以更新屏幕,

ffmpeg命令输出如下:

frame=  101 fps=0.0 q=28.0 size=      91kB …
Run Code Online (Sandbox Code Playgroud)

shell go

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

JPA ManyToMany,JoinTable如何拥有属性?

我有一个关于在EJB中设计ManyToMany的问题,jointable如何具有属性?
这是一个例子,学生和课程是ManyToMany,每个学生都有很多课程,很多学生选择一门课程.

    @Entity
    public class Student implements Serializable { 
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        Long id;
        String name;
        private Collection<Course> courses; 

        @ManyToMany(mappedBy = "students",cascade=CascadeType.ALL)      
        public Collection<Course> getCourses() {
            return this.courses;
        }

        public void setCourses(Collection<Course> courses) {
            this.courses = courses;
        }

    }


    @Entity
    public class Course implements Serializable { 
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        Long id;
        String name; 
        private Collection<Student> students; 

        @ManyToMany(cascade=CascadeType.ALL)
        @JoinTable(name = "Student_Course",
        joinColumns = {@JoinColumn(name = "Course_ID", referencedColumnName = "id")}, 
        inverseJoinColumns = {@JoinColumn(name = "Student_ID", referencedColumnName = "id")})  

        public Collection<Student> …
Run Code Online (Sandbox Code Playgroud)

many-to-many ejb jpa properties jointable

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

具有相同外键的休眠ManyToMany的“集合映射中的重复列”?

我有4张表如下:

create table market (
    id int(6) unsigned auto_increment primary key,
    market_id varchar(30) unique
);

create table market_channel_group (
    id int(6) unsigned auto_increment primary key,
    market_id varchar(30),
    channel_group_id varchar(30),
    unique index (market_id,channel_group_id)
);

create table market_channel (
    id int(6) unsigned auto_increment primary key,
    market_id varchar(30),
    channel_id varchar(30),
    unique index (market_id,channel_group_id)
);

create table market_channel_group_detail (
    id int(6) unsigned auto_increment primary key,
    market_id varchar(30),
    channel_group_id varchar(30),
    channel_id varchar(30),
    unique index (market_id,channel_group_id, channel_id)
);
Run Code Online (Sandbox Code Playgroud)

如您所见,market 是 OneToMany 到 market_channel_group、market_channel。market_channel_group是特定市场下market_channel的ManyToMany。

问题出在我的 market_channel_group 实体中,我有以下代码: …

java many-to-many hibernate jpa

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

除非访问集合,否则休眠的OneToMany FetchType.LAZY无法工作吗?

我正在使用spring 4.1.4.RELEASE + hibernate 4.3.6.Final,这是我的实体代码:

public class BaseEntity implements Serializable {
}

public class MarketInfo extends BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private int id;

    @Column(name = "market_id", unique = true, length = 15)
    private String marketId;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "market")
    private List<MarketChannelGroup> channelGroups;

    public List<MarketChannelGroup> getChannelGroups() {
        return channelGroups;
    }

    public void setChannelGroups(List<MarketChannelGroup> channelGroups) {
        this.channelGroups = channelGroups;
    }

...
}

public class MarketChannelGroup extends BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id") …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate one-to-many

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

为什么UNSIGNED不能用于MYSQL中的FOREIGN KEY?

当我想用外键创建一个表时,我遇到了一个奇怪的问题.

请看以下结果:

mysql> CREATE TABLE IF NOT EXISTS TL_USER(
    ->   user_id INT(10) UNSIGNED NOT NULL PRIMARY KEY,
    ->   nickname VARCHAR(45) NULL
    ->   ) ENGINE = InnoDB;
Query OK, 0 rows affected (0.01 sec)
Run Code Online (Sandbox Code Playgroud)
mysql> CREATE TABLE IF NOT EXISTS TL_EVENT_COMMENT (
    ->   event_comment_id INT PRIMARY key ,
    ->   comment VARCHAR(45) NULL,
    ->   user_id INT NULL,
    ->   FOREIGN KEY (`user_id`) REFERENCES TL_USER (`user_id`)
    ->   ) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)

ERROR 1005(HY000):无法创建表'TL_EVENT_COMMENT'(错误号:150)

当我将"user_id INT(10)UNSIGNED NOT NULL PRIMARY KEY"更改为"user_id INT(10)NOT NULL PRIMARY KEY"时,它可以工作.

mysql> …
Run Code Online (Sandbox Code Playgroud)

mysql sql foreign-keys

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

如何设计支持用户名/邮箱/手机登录的用户表?

我正在为我的网站设计一个用户注册表,我们需要支持使用用户名/电子邮件/手机使用相同的密码登录。

用户可以通过用户名、电子邮件或手机注册,一旦注册,他们就可以绑定他们的电子邮件或电话。

这是我正在考虑的表格,但它有一些问题:

user_id 是 AUTO_INCREMENT

user_id |   user_name   |   email   |   mobile  |   pwd
--------------------------------------------------------
   1        test            
   2                    test@gmail.com          
   3                                    123456          
Run Code Online (Sandbox Code Playgroud)

以下注册应该失败:

   4        123456              // illegal, 123456 is present in mobile                     
   5        test@gmail.com      // illegal, test@gmail.com is present in email                                  
Run Code Online (Sandbox Code Playgroud)

要求只是支持username/email/mobile登录,对username格式没有限制,所以这里username或者email或者mobile在三列中必须是唯一的。

似乎不可能跨多列添加唯一约束,有更好的解决方案吗?

mysql sql

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

如何使用ffmpeg在H.264中编码视频?

我已经从https://github.com/FFmpeg/FFmpeg安装了ffmpeg 3.0 ,我试图将用mepeg4第2部分编码的视频转换为H264,但是我收到了Unknown encoder 'libx264' 错误

这是我的人:(我试过h264,x264,libx264,没有一个工作)

ffmpeg -i Fashion.divx -acodec aac -vcodec libx264  out.mp4
Run Code Online (Sandbox Code Playgroud)

我查看了支持的编解码器列表

Codecs:
 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression
 -------
 D.VI.. 012v                 Uncompressed 4:2:2 10-bit
Run Code Online (Sandbox Code Playgroud)

这是h264:

 D.V.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_vdpau)
Run Code Online (Sandbox Code Playgroud)

我正在使用ffmpeg 3.0,从该列表中看来,似乎不支持使用h264编码,只支持解码h264,对吧?

我尝试使用本指南启用h.264 如何使用libx264快速编译FFmpeg(x264,H.264)

./configure …
Run Code Online (Sandbox Code Playgroud)

ffmpeg h.264

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

一个端口上有多个连接

我使用pidgin,A,B和C运行多个bonjour客户端.
当B和C与A通信时,我发现A使用相同的端口(通过wireshark我可以看到数据包)用于MDNS和通信,
但是B和C,每个有两个不同的端口,一个用于MDNS,一个用于套接字连接.
A如何工作,为什么它只能与一个端口一起工作?一个端口如何提供多个连接?
注意:如果它是多线程的,那么当它接受连接时它会创建一个带有另一个空闲端口的新套接字,但我看到来自wireshark的数据包,客户端A只使用相同的端口进行通信和MDNS.

sockets port bonjour

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

如何在特定的GOPATH中安装github存储库?

我有两个GOPATH文件夹:

export GOPATH=$HOME/Work:$HOME/HomeWork
Run Code Online (Sandbox Code Playgroud)

这是他们的结构组织:

Work
    /pkg
    /src
        /github.com

HomeWork
    /pkg
    /src
        /github.com
Run Code Online (Sandbox Code Playgroud)

默认情况下

$ go get github.com/gin-gonic/gin
Run Code Online (Sandbox Code Playgroud)

将存储库放在第一个GOPATH中.

现在我想将github存储库安装到特定的GOPATH,例如:

HomeWork
    /pkg
    /src
        /github.com
            /gin-gonic
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

go

0
推荐指数
2
解决办法
481
查看次数

gomobile回调(将实时下载的内容转发到android)?

我正在研究如何使用gomobile开发android sdk,这是我的用例:

sdk将处理文件下载并将其实时接收的内容发送到andoird,这是怎么做到的?

我尝试了这样的方法,返回一个 ReadCloser,然后 android 将从这个流中读取:

func DownloadFile(url string) (io.ReadCloser, error) {
    // download the file
    resp, err := http.Get(url)
    if err != nil {
        return nil, err
    }

    if resp.StatusCode != http.StatusOK {
        err = errors.New(fmt.Sprintf("requesrting url [%s] error [%s]!", url, resp.Status))
        return nil, err

    }

    return resp.Body, nil
}
Run Code Online (Sandbox Code Playgroud)

但是从编译后的java类来看,连这个方法都没有,为什么呢?

我尝试返回一个通道,但它是相同的结果,而不是目标 java 类中编译的事件。

有更好的方法吗?gomobile是否支持回调(go sdk调用android注册的回调)?我几乎找不到有关该回调用法的任何文档。

android go gomobile

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