我有2个实体,硬币和CoinRevenue.
基本上,硬币以其他货币持有美元价格.
例如,带符号EUR的硬币,值为1.0356
@Entity(tableName = "coin")
data class Coin(
@field:PrimaryKey(autoGenerate = false)
var id: String = "",
var symbol: String = "",
var pricInUsd: Float = 0f)
Run Code Online (Sandbox Code Playgroud)
CoinRevenue是一个实体,我用它来保存用户拥有的特定硬币的硬币数量.例如,CoinRevenue与Coin Entity有关,EUR符号和金额为1000.
@Entity(tableName = "coinRevenue")
data class CoinRevenueNew(
@field:PrimaryKey(autoGenerate = true)
var id: Int = 0,
var coin: Coin? = null,
var amount: Float = 0f)
Run Code Online (Sandbox Code Playgroud)
现在我想从数据库中获取CoinRevenue并从数据库中获取更新的Coin.
例如,我用硬币保存了硬币(EUR,1.0253),而不是使用该硬币保存了CoinRevenue.
之后我用(EUR,2.522)更新了Coin我希望CoinRevenue中的Coin对象也会更新.
我知道@Embedded只是将内部objet字段作为列添加到同一个父对象.当我使用关系时,我必须使用List或Set.但我在CoinRevenue里总是有1枚硬币.
我的硬币DA:
@Query("select * from coin order by rank")
fun getAllCoins(): Flowable<List<CoinDB>>
@Query("select * from coin where rank = 1")
fun getFirstCoin(): Maybe<CoinDB>
@Query("select …
Run Code Online (Sandbox Code Playgroud) 我需要播放10个视频,一旦完成,下一个开始播放.
我正在使用谷歌的ExoPlayer,我在DEMO @ GitHub中使用了这个例子.我可以播放1个视频,但如果我尝试播放下一个视频,它就不会开始播放.
如果我尝试重新启动播放器,并重新开始播放,它会崩溃.
private void loadvideo() {
Uri uri = Uri.parse(VIDEO_LIBRARY_URL + currentVideo + ".mp4");
sampleSource = new FrameworkSampleSource(this, uri, null, 2);
// 1. Instantiate the player.
// 2. Construct renderers.
videoRenderer = new MediaCodecVideoTrackRenderer(sampleSource, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
// 3. Inject the renderers through prepare.
player.prepare(videoRenderer, audioRenderer);
// 4. Pass the surface to the video renderer.
surface = surfaceView.getHolder().getSurface();
player.sendMessage(videoRenderer, MediaCodecVideoTrackRenderer.MSG_SET_SURFACE, surface);
// 5. Start playback.
player.setPlayWhenReady(true);
player.addListener(new ExoPlayer.Listener() {
@Override
public …
Run Code Online (Sandbox Code Playgroud) 有没有人知道Android如何使用Okhttpclient创建一个带有参数的Http删除或放置方法?
使用java,这是我尝试过的:
CookieJarImpl cookieJar = new CookieJarImpl(new PersistentCookieStore(context));
okHttpClient = new OkHttpClient.Builder()
.cookieJar(cookieJar)
.addInterceptor(new LoggerInterceptor("TAG"))
.connectTimeout(10000L, TimeUnit.MILLISECONDS)
.readTimeout(10000L, TimeUnit.MILLISECONDS) //????
.build();
Run Code Online (Sandbox Code Playgroud) 我有对象硬币的房间数据库.
我想用参数进行动态查询.
当我使用参数作为值时,它的效果很好,如下所示:
@Query("select * from coin ORDER BY percent_change_24h asc limit :numberOfCoins")
fun getAllTop(numberOfCoins: Int): Flowable<List<CoinDB>>
Run Code Online (Sandbox Code Playgroud)
但是当我想为WHERE子句使用参数时,这不起作用.这是我的查询:
@Query("select * from coin ORDER BY :order asc limit :numberOfCoins")
fun getAllTop(order: String, numberOfCoins: Int): Flowable<List<CoinDB>>
Run Code Online (Sandbox Code Playgroud)
我称之为:
AppDatabase.getInstance(this).coinDao().getAllTop("percent_change_24h",5)
Run Code Online (Sandbox Code Playgroud)
使用隐式WHERE子句调用相同的查询工作正常(像这样:)
@Query("select * from coin ORDER BY percent_change_24h asc limit :numberOfCoins")
fun getAllTop(order: String, numberOfCoins: Int): Flowable<List<CoinDB>>
Run Code Online (Sandbox Code Playgroud) I've updated Firebase
(from v15.0.2) and play-services-base
(from v15.0.0) to the latest versions.
I'm using
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.android.gms:play-services-base:16.0.1'
implementation 'com.google.firebase:firebase-config:16.1.0'
implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation 'com.google.firebase:firebase-ads:17.1.1'
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:3.2.0'
}
Run Code Online (Sandbox Code Playgroud)
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
After the update from version 15, I'm getting an java.lang.ArrayIndexOutOfBoundsException
when building with proguard on release.
this is the exception:
error processing /Users/adminuser/Developer/tracking-android/build/intermediates/transforms/proguard/release/0.jar
java.lang.ArrayIndexOutOfBoundsException: 145
at org.objectweb.asm.ClassReader.readUTF(ClassReader.java:2624)
at org.objectweb.asm.ClassReader.readUTF8(ClassReader.java:2596)
at org.objectweb.asm.ClassReader.readAnnotationValues(ClassReader.java:1962)
at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1095)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:698)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at com.android.builder.desugaring.DesugaringClassAnalyzer.analyze(DesugaringClassAnalyzer.java:144)
at com.android.builder.desugaring.DesugaringClassAnalyzer.analyzeJar(DesugaringClassAnalyzer.java:92)
at com.android.builder.desugaring.DesugaringClassAnalyzer.analyze(DesugaringClassAnalyzer.java:63)
at com.android.build.gradle.internal.transforms.DesugarIncrementalTransformHelper.lambda$getInitalGraphData$4(DesugarIncrementalTransformHelper.java:150)
Run Code Online (Sandbox Code Playgroud)
full stacktrace …
android proguard android-studio android-gradle-plugin android-proguard