例如,我有这样的查询:
Query q = sess.createQuery("from Cat cat");
List cats = q.list();
Run Code Online (Sandbox Code Playgroud)
如果我尝试做这样的事情,它将显示警告"类型安全:类型列表的表达式需要未经检查的转换以符合列表":
Type safety: The expression of type List needs unchecked conversion to conform to List<Cat>
List<Cat> cats = q.list();
Run Code Online (Sandbox Code Playgroud)
有没有办法避免它?
谷歌最近宣布了新的WorkManager架构组件.通过WorkManager在doWork()课堂上实现,可以很容易地安排同步工作,但是如果我想在后台进行一些异步工作呢?例如,我想使用Retrofit进行网络服务调用.我知道我可以发出同步网络请求,但它会阻塞线程并且感觉不对.有没有解决方案,或者目前还不支持?
我在新的Android API 21中使用JobScheduler的作业计划有问题.这是我用60秒间隔调度作业的代码,如下所示:
ComponentName serviceName = new ComponentName(this, MyJobService.class);
JobInfo jobInfo = new JobInfo.Builder(0, serviceName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPeriodic(60000)
.build();
Run Code Online (Sandbox Code Playgroud)
我的JobService只在Logcat中打印运行时,但是日志显示服务在这个时刻运行:
03-18 08:37:26.334: I/JOB(32662): Wed Mar 18 08:37:26 BRT 2015
03-18 08:37:56.364: I/JOB(32662): Wed Mar 18 08:37:56 BRT 2015
03-18 08:39:21.418: I/JOB(32662): Wed Mar 18 08:39:21 BRT 2015
03-18 08:41:51.670: I/JOB(32662): Wed Mar 18 08:41:51 BRT 2015
03-18 08:45:52.192: I/JOB(32662): Wed Mar 18 08:45:52 BRT 2015
03-18 08:54:20.678: I/JOB(32662): Wed Mar 18 08:54:20 BRT 2015
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为我用setPeriodic(60000)方法设置它应该在1分钟内执行至少1次.同样好奇的是如何在运行之间增加间隔.此时的时间是2015年3月18日星期三09:09:00 BRT 2015并且工作不会被执行更多.
这是JobScheduler API的问题吗?(我在Android 5.0.1的Nexus 5中运行)
我的飞镖分析在代码中显示以下错误:
error: Evaluation of this constant expression throws an exception.
(const_eval_throws_exception at [laundry]
lib\pick_drop_ui\pages\works.dart:97) error: Arguments of a constant creation must be constant expressions.
(const_with_non_constant_argument at [laundry]
lib\pick_drop_ui\pages\works.dart:98) error: Arguments of a constant creation must be constant expressions.
(const_with_non_constant_argument at [laundry]
lib\pick_drop_ui\pages\works.dart:104) error: Evaluation of this constant expression throws an exception.
(const_eval_throws_exception at [laundry]
lib\pick_drop_ui\pages\works.dart:104)
Run Code Online (Sandbox Code Playgroud)
在以下代码中:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
class work extends StatefulWidget {
@override
_workState createState() => _workState();
}
class _workState extends State<work> {
var workdata; //Variable to …Run Code Online (Sandbox Code Playgroud) 我在 android kotlin 中使用协同例程和改造进行 API 调用时遇到致命异常。并且应用程序崩溃并出现以下异常。
E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-7
Process: com.jamhub.barbeque, PID: 18525
java.net.SocketTimeoutException: timeout
at okhttp3.internal.http2.Http2Stream$StreamTimeout.newTimeoutException(Http2Stream.java:656)
at okhttp3.internal.http2.Http2Stream$StreamTimeout.exitAndThrowIfTimedOut(Http2Stream.java:664)
at okhttp3.internal.http2.Http2Stream.takeHeaders(Http2Stream.java:153)
at okhttp3.internal.http2.Http2Codec.readResponseHeaders(Http2Codec.java:131)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
Run Code Online (Sandbox Code Playgroud)
尝试添加超时,CoroutineExceptionHandler
val client = OkHttpClient().newBuilder().addInterceptor(object : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val request = chain.request()
.newBuilder()
.build()
return chain.proceed(request)
}
}).callTimeout(30, TimeUnit.SECONDS)
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(30, …Run Code Online (Sandbox Code Playgroud) android ×3
android-architecture-components ×1
dart ×1
flutter ×1
generics ×1
java ×1
jobs ×1
kotlin ×1
scheduling ×1
task ×1