我在从资产文件夹中的mp4文件创建缩略图时遇到问题.尝试输入不同的资产路径但没有效果.我该如何解决?
那是我的适配器代码:
VideoEntry video = videos.get(position);
holder.txtTitle.setText(video.getTitle());
holder.imgIcon.setImageBitmap(ThumbnailUtils.createVideoThumbnail("file:///android_asset/videos/Core/Superman.mp4", Thumbnails.MICRO_KIND));
Run Code Online (Sandbox Code Playgroud)
怎么了?
解:
AssetManager am = getAssets();
InputStream ims = am.open("images/" + category + "/" + item.replace(" ", "_").replace(".mp4", ".png").toLowerCase());
Drawable d = Drawable.createFromStream(ims, null);
holder.imgIcon.setImageDrawable(d);
Run Code Online (Sandbox Code Playgroud) 无法将Hibernate命名参数插入到SQL查询中:
String values="'a', 'b', 'c', 'd'";
SQLQuery query = getSession().createSQLQuery("SELECT * FROM data WHERE value IN (:values)");
query.setParameter("values", values);
List<Object[]> data = query.list(); // returns data: size = 0 ...
Run Code Online (Sandbox Code Playgroud)
但是,如果我写的话:
String values="'a', 'b', 'c', 'd'";
SQLQuery query = getSession().createSQLQuery("SELECT * FROM data WHERE value IN (" + values + ")");
List<Object[]> data = query.list(); // returns data: size = 15 ...
Run Code Online (Sandbox Code Playgroud)
第二种方式返回数据而不是第一种方式.
在SQL中使用命名参数我做错了什么?
我有一个问题 - 当我改变方向时,我的第二个片段(此时处于活动状态)将替换为第一个片段.我从来没有这样的行为,怎么能修复呢?
主要活动:
public class MainActivity extends SherlockFragmentActivity implements onDialogClickListener, ITaskLoaderListener {
FragmentManager fm;
public ActionBar actionBar;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pager_layout);
fm = getSupportFragmentManager();
actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
FragmentTransaction ft = fm.beginTransaction();
ft.add(android.R.id.content, new FirstActivity.FirstFragment(), "loan").commit();
}
}
Run Code Online (Sandbox Code Playgroud)
FirstFragment:
public class FirstActivity extends SherlockFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "here");
final ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
FragmentManager fm = getSupportFragmentManager();
if (fm.findFragmentById(android.R.id.content) == null) {
FirstFragment first = new …Run Code Online (Sandbox Code Playgroud) 是否可以执行将执行HTTP请求的启动画面,如果此请求执行时间过长,即7-10秒,则中止请求并跳转到主活动?
下面的代码是我所做的,但它不起作用 - 超时不起作用,HTTP请求和跳转正在工作.据我所知,可以使用延迟AsyncTask的get()方法或处理程序.Get()方法应该在单独的线程中,但它不起作用.怎么做这个任务?
编辑:
public class SplashActivity extends Activity {
private static final String TAG = "SplashActivity";
private Handler handler = new Handler();
private Runnable r;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_layout);
if (Helpers.isNetworkConnected(getApplicationContext())) {
Log.d(TAG, "Has Internet");
final DownloadFAQ downloadFAQ = new DownloadFAQ();
new Thread(new Runnable() {
public void run() {
try {
Log.d(TAG, "Timing...");
downloadFAQ.execute().get(1000, TimeUnit.MILLISECONDS);
SplashActivity.this.runOnUiThread(new Runnable() {
public void run() {
Log.d(TAG, …Run Code Online (Sandbox Code Playgroud) 我遇到了使用以下代码刷新物化视图(POSGRESQL)的麻烦:
String hql = "refresh materialized view mv_all_operations; refresh materialized view mv_all_members;";
createQuery(hql).executeUpdate();
Run Code Online (Sandbox Code Playgroud)
例外:
antlr.NoViableAltException: unexpected token: refresh
at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:169) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:268) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:138) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:105) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:221) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:199) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1784) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
Run Code Online (Sandbox Code Playgroud)
看来我无法以这种方式更新我的视图,但是我找不到在代码中进行此操作的任何其他机会。有什么建议么?
遇到了从 JSON 到 POJO 的 MyEnum 枚举反序列化问题,无法弄清楚我做错了什么。所以基本上我尝试检索一些调用特定微服务端点的数据,该端点返回以下 json:
{
"id": "9cabf3e9-965d-4407-b62b-c57dd6006419",
"myEnums": [
{
"context": "SOME_FOO_CONTEXT_1",
"feature": "SOME_BAR_FEATURE_1",
"name": "SOME_FOO_BAR_1"
},
{
"context": "SOME_FOO_CONTEXT_2",
"feature": "SOME_BAR_FEATURE_2",
"name": "SOME_FOO_BAR_2"
}
],
"name": "Some name",
"updatedBy": null,
"updated": "2019-05-16T00:11:19.279Z"
}
Run Code Online (Sandbox Code Playgroud)
这是调用另一个微服务端点、将响应正文反序列化为 POJO 并将结果作为 Set 返回的方法:
private Mono<Set<MyEnum>> fetchMyEnums(UUID someId) {
return webClient.get().uri("/v1/something/{id}", someId)
.retrieve()
.bodyToMono(MyClass.class)
.flatMapIterable(MyClass::getMyEnums)
.collect(toSet());
}
Run Code Online (Sandbox Code Playgroud)
用于JSON反序列化的类:
@lombok.Value
static class MyClass {
List<MyEnum> myEnums;
}
Run Code Online (Sandbox Code Playgroud)
我实际上无法反序列化的枚举:
@Getter
@RequiredArgsConstructor
@AllArgsConstructor
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MyEnum {
SOME_FOO_BAR_1(SOME_FOO_CONTEXT_1, SOME_BAR_FEATURE_1),
SOME_FOO_BAR_2(SOME_FOO_CONTEXT_2, SOME_BAR_FEATURE_2); …Run Code Online (Sandbox Code Playgroud) 无法理解如何配置 build.gradle 以在没有任何 jpa/jdo/mongo 的情况下使用 querydsl 注释处理器。我想使用@QueryEntity 注释来生成 Q 类,这样我就可以使用 DSL 支持编写动态 SQL 查询,然后将查询转换为纯文本并将其提供给 Spring R2DBC DatabaseClient 执行程序。
有没有办法使用 gradle querydsl apt 插件和 querydsl 注释处理器在 build.gradle 文件中生成带有 @QueryEntity 注释的 Q 类?
我正在使用 gradle 5、Spring Data R2DBC、Spring Boot,计划将 queryDsl 与注释进程集成。
这是我当前的 build.gradle:
plugins {
id 'java'
id 'org.springframework.boot' version '2.2.1.RELEASE'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.8"
}
apply plugin: 'io.spring.dependency-management'
group = 'com.whatever'
repositories {
mavenCentral()
maven { url "https://repo.spring.io/milestone" }
}
ext {
springR2dbcVersion = '1.0.0.RELEASE'
queryDslVersion = '4.2.2'
}
dependencies { …Run Code Online (Sandbox Code Playgroud)