我正在使用改装: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) 我试图在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) 我有一个关于在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) 我有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 实体中,我有以下代码: …
我正在使用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) 当我想用外键创建一个表时,我遇到了一个奇怪的问题.
请看以下结果:
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) 我正在为我的网站设计一个用户注册表,我们需要支持使用用户名/电子邮件/手机使用相同的密码登录。
用户可以通过用户名、电子邮件或手机注册,一旦注册,他们就可以绑定他们的电子邮件或电话。
这是我正在考虑的表格,但它有一些问题:
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在三列中必须是唯一的。
似乎不可能跨多列添加唯一约束,有更好的解决方案吗?
我已经从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) 我使用pidgin,A,B和C运行多个bonjour客户端.
当B和C与A通信时,我发现A使用相同的端口(通过wireshark我可以看到数据包)用于MDNS和通信,
但是B和C,每个有两个不同的端口,一个用于MDNS,一个用于套接字连接.
A如何工作,为什么它只能与一个端口一起工作?一个端口如何提供多个连接?
注意:如果它是多线程的,那么当它接受连接时它会创建一个带有另一个空闲端口的新套接字,但我看到来自wireshark的数据包,客户端A只使用相同的端口进行通信和MDNS.
我有两个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)
我怎样才能做到这一点?
我正在研究如何使用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注册的回调)?我几乎找不到有关该回调用法的任何文档。