我想在我的资源文件中使用这个 unicode字符.
但无论我做什么,我都以dalvikvm崩溃结束(使用Android 2.3和4.2.2测试):
W/dalvikvm( 8797): JNI WARNING: input is not valid Modified UTF-8: illegal start byte 0xf0
W/dalvikvm( 8797): string: ''
W/dalvikvm( 8797): in Landroid/content/res/StringBlock;.nativeGetString:(II)Ljava/lang/String; (NewStringUTF)
E/dalvikvm( 8797): VM aborting
F/libc ( 8797): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 8797 (cz.ipex...)
Run Code Online (Sandbox Code Playgroud)
我在资源文件中尝试了这些版本:
<string name="geolocation_icon" translatable="false">📡</string> <!-- HTML -->
<string name="geolocation_icon" translatable="false">\uD83D\uDCE1</string> <!-- escaped unicode -->
<string name="geolocation_icon" translatable="false"></string> <!-- unicode character -->
Run Code Online (Sandbox Code Playgroud)
请注意,在代码中的Java String中使用它可以正常工作:
final String geolocation_icon = "\uD83D\uDCE1";
Run Code Online (Sandbox Code Playgroud) 我们正在为我们的API创建一些库,我们将使外部开发人员的生活更轻松.
因此,我们创建了新的库项目,并将Retrofit和其他一些库作为依赖项.
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:converter-gson:2.0.1'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
}
Run Code Online (Sandbox Code Playgroud)
现在,当我们构建它时,它会生成aar文件.
但是现在当我们将aar文件放到libs目录并将其设置为依赖项时,我们仍然必须在用户的build.gradle文件中放置相同的依赖项,这很糟糕.它应该来自图书馆,对吧?
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name: 'ourlibrary', ext: 'aar') {
transitive = true;
}
}
Run Code Online (Sandbox Code Playgroud)
如何transitive = true上班?
我想让我的图表看起来像这样:

但我只能得到这个:

问题是,rankdir 不工作在subgraph.那么,如何模仿呢?
代码:
digraph G {
node [shape = circle]
0 [style = invis]
0 -> "0A"
subgraph clusterA {
label=A
"0A"
"1A"
"2A" -> "0A" [label=•]
}
subgraph clusterB {
label=B
"0B"
"1B"
"2B" -> "0B" [label=•]
}
subgraph clusterC {
label=C
"0C"
"1C"
"2C" -> "0C" [label=•]
}
subgraph clusterD {
label=D
"0D"
"1D"
"2D" -> "0D" [label=•]
}
subgraph clusterE {
label=E
"0E"
"1E"
"2E" -> "0E" [label=•]
}
subgraph clusterF …Run Code Online (Sandbox Code Playgroud) 我想在logcat中看到几个单词.换句话说,只是一个给定的标签.我尝试启用Regex并键入[Encoder|Decoder]过滤器,但它不起作用.
我更新了Android Studio,并出现了Gradle Plugin更新对话框.我不小心点击了这个项目不再显示.如何再次显示对话框?
我在我的Repository(带@RepositoryRestResource注释)中有以下示例方法:
@Override
@PreAuthorize("permitAll")
@PostAuthorize("permitAll")
public Iterable<User> findAll();
Run Code Online (Sandbox Code Playgroud)
但是401 Unauthorized当我将这些permitAll注释添加到整个Repository界面时,我仍然会遇到这种情况.
我得到了这个作为我的WebSecurityConfigurerAdapter:
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Configuration
class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().fullyAuthenticated().and().httpBasic().and().csrf().disable();
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这优先于那些方法注释,我不知道如何解决这个问题.
我需要将 KotlinPair作为参数传递。
<argument android:name="data" app:argType="kotlin.Pair" />
Run Code Online (Sandbox Code Playgroud)
e: CreateCodeFragmentDirections.kt: (16, 15): 2 type arguments expected for class Pair<out A, out B>
Run Code Online (Sandbox Code Playgroud)
<argument android:name="data" app:argType="kotlin.Pair<String, String>" />
Run Code Online (Sandbox Code Playgroud)
Cause: markup not allowed inside attribute value - illegal < (position: TEXT seen ...<argument android:name="data" app:argType="kotlin.Pair<... @132:30)
Run Code Online (Sandbox Code Playgroud)
<argument android:name="data" app:argType="kotlin.Pair<String, String>" />
Run Code Online (Sandbox Code Playgroud)
Can't escape identifier `Pair<String, String>` because it contains illegal characters: <>
Run Code Online (Sandbox Code Playgroud)
上述尝试均无效。我该怎么做?
这是关于Spring 在服务层OpenSessionInViewFilter使用 @Transactional注释.
我经历了这么多的堆栈溢出帖子,但仍然困惑我是否应该使用OpenSessionInViewFilter或不避免LazyInitializationException
如果有人帮我找到以下查询的答案将是很大的帮助.
OpenSessionInViewFilter在具有复杂模式的应用程序中使用是不好的做法.N+1问题OpenSessionInViewFilter它是否意味着@Transactional不需要?下面是我的Spring配置文件
<context:component-scan base-package="com.test"/>
<context:annotation-config/>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="resources/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
p:password="${jdbc.password}" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
<!--
<prop key="hibernate.hbm2ddl.auto">create</prop>
-->
</props>
</property>
</bean> …Run Code Online (Sandbox Code Playgroud) API我必须使用sucks,并始终返回HTTP 200.但有时有适当的响应:
[{"blah": "blah"}, {"blah": "blah"}]
Run Code Online (Sandbox Code Playgroud)
有时,有错误:
{"error": "Something went wrong", "code": 123}
Run Code Online (Sandbox Code Playgroud)
我正在使用Retrofit2与Gson转换器和Rx适配器:
final Api api = new Retrofit.Builder()
.baseUrl(URL)
.client(client)
.addCallAdapterFactory(RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io()))
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(Api.class);
Run Code Online (Sandbox Code Playgroud)
现在,当我收到错误响应时,将onError调用处理程序,但会出现以下异常:
java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:350)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:37)
at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:25)
at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:117)
at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:211)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:174)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171)
at rx.internal.operators.OperatorSubscribeOn$1$1$1.request(OperatorSubscribeOn.java:80)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.internal.operators.OperatorSubscribeOn$1$1.setProducer(OperatorSubscribeOn.java:76)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138)
at rx.Observable.unsafeSubscribe(Observable.java:10144)
at rx.internal.operators.OperatorSubscribeOn$1.call(OperatorSubscribeOn.java:94)
at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) …Run Code Online (Sandbox Code Playgroud) 我有2个数组,一个用字符串作为键,另一个用整数作为值.我怎样才能将它们转换为地图?
val keys = arrayOf("butter", "milk", "apples")
val values = arrayOf(5, 10, 42)
val map: Map<String, Int> = ???
Run Code Online (Sandbox Code Playgroud)
编辑:我知道如何在Kotlin中将List转换为Map?,但它没有解决这个问题,因为我有2个列表.