Tag: 安卓

像动画一样缓慢地在画布上画一条线

我需要在两点之间划一条线。 在显示器中,它显示出像笔正在画线。 但是,如何才能使笔只出现在笔后? 我试过这个 var x= 10 var y=10 var h=Handler() h.postDelayed({ While(true) { x++ y++ if(x<=100&&y<=100){ canvas.drawLine(10,10,x,y,paint) } else break } }, 100 ) 但是这个代码使得画布看起来很奇怪,并且出现了一些随机的线条。 任何更好的方法来做到这一点? 编辑: 我尝试了下面链接中给出的方法 How to animate line gradually growing from starting point to ending point ! 我是初学者。 我怎样才能为每种情况使用不同的位置…我们又怎样才能用上下文来调用一个类? 我试过getApplicationContext()但给NPE。 相同的代码在onCreate()完美工作。 但是我需要在外面叫它 我希望能有一个很好的帮助

PlaceAutocomplete小部件在Android 4.1中不起作用

PlaceAutocomplete小部件在Android 5.0中工作正常,但是在openAutocomplete被调用的时候4.1没有任何反应。 LogCat中没有错误。 执行onActivityResult,但在数据参数中为null。 问题是什么? 码: override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == 1) { if (resultCode == FragmentActivity.RESULT_OK) { val place = PlaceAutocomplete.getPlace(activity, data) val cameraUpdate = CameraUpdateFactory.newLatLng(place.latLng) // map.moveCamera(cameraUpdate) map.animateCamera(cameraUpdate) if (action === AddressPickerType.FROM) { activity.order.from.onNext(place) } else { activity.order.to.onNext(place) } } else if (resultCode […]

ResponseBody给String非常慢

将我的OkHttp3 ResponseBody对象转换为字符串需要8秒(在模拟器上,在真实设备上,速度慢但速度慢)。 这太慢了。 我能加快速度吗? val time = System.currentTimeMillis() android.util.Log.i("start=", "") val body = result.body()?.string() android.util.Log.i("end=", "" + (System.currentTimeMillis()-time)) 这是有效载荷: http : //jimclermonts.nl/interpolis/json

如何将MotionEvent停机时间与时钟进行比较,时间基准是多少?

我正在尝试确定一个MotionEvent与我的UI对象中定期发生的事件的时间顺序。 private var rotateFinishTime: Long = -1 …. fun somethingHappensPeriodically() { Log.d(tag_, "show new round") … this.rotateFinishTime = SystemClock.elapsedRealtime() } 我附加了一个GestureDetector.OnGestureListener: override fun onSingleTapConfirmed(gd: GestureDetector, e: MotionEvent): Boolean { // for tap: since it comes delayed, have to check event time if (e.downTime < this.rotateFinishTime || this.rotating) { Log.d(tag_, "e.downTime: $e.downTime rotateFinishTime: $rotateFinishTime downTime – […]

Firebase-firestore不能使用两个文档

所以我开始乱七八糟的,我有一个问题: 当我添加第二个文件到我的collection , spinner我已经停止加载信息和应用程序崩溃 。 db.collection("KitList").get().addOnSuccessListener { snapshot -> for (document in snapshot.documents) { val data = document.data val skipRope = data["rope"] as String spinnerArray.add(skipRope) val kettle = data["kettle"] as ArrayList<String> for (item in kettle) { val kettleWeight = "kettle $item" spinnerArray.add(kettleWeight) } } spinnerArrayAdapter.notifyDataSetChanged() } 我知道,最有可能是因为在我的代码我只是设置负载是从我的集合,但我试图做一些像 `db.collection("KitList").document(documentName).get().addOnSuccessListener { snapshot ->` 但它没有工作。

运行测试时如何禁用Fabric

运行测试时,如何禁用Fabric:Crashlytics和Answer? 有没有其他的方式来在测试期间禁用Crashlytics,而不是在每次测试之前放置这些代码? @LargeTest @RunWith(AndroidJUnit4::class) class AcceptanceTest { @Before fun setUp() { val crashlyticsKit = Crashlytics.Builder() .core(CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) .build() Fabric.with(InstrumentationRegistry.getContext(), crashlyticsKit) } } 并避免把像IS_TEST_MODE一样的全局布尔值

java.lang.OutOfMemoryError:pthread_create(1040KB堆栈)失败:请尝试

当我调用threadExecutor方法大量 fun startAnimation(): Unit { sPool.scheduleAtFixedRate(taskQu, 0, 1000, TimeUnit.MILLISECONDS) } 这会导致这个错误提示, sPool是java的ThreadExecutors val sPool = Executors.newScheduledThreadPool(2)!! taskQu是异步计时器任务 val taskQu = object : TimerTask() { override fun run() { uihandler.obtainMessage().sendToTarget() } } 我有这个提示 java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again at java.lang.Thread.nativeCreate(Native Method) at java.lang.Thread.start(Thread.java:1063) at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:921) at java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1556) at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:310) at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate(ScheduledThreadPoolExecutor.java:567) 那么,这个问题出现在哪里呢?

Anko中简单的MapRowParser是什么?

我已经阅读了Anko SQLite的文档。 我知道创建一个简单的RowParser可以通过做val rowParser = classParser<Person>() classParser是Anko-SQLite源代码中定义的一个函数。 我怎样才能得到一个简单的MapRowParser ?

无法生成视图绑定器java.lang.IndexOutOfBoundsException

使用数据绑定库时出现以下错误。 我谷歌搜索,但它看起来像一个新的错误。 有谁知道是什么原因造成的? FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'. > java.lang.RuntimeException: failure, see logs for details. cannot generate view binders java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at android.databinding.tool.ext.ExtKt.androidId(ext.kt:76) at android.databinding.tool.writer.LayoutBinderWriterKt$readableName$2.invoke(LayoutBinderWriter.kt:129) at android.databinding.tool.writer.LayoutBinderWriterKt$readableName$2.invoke(LayoutBinderWriter.kt) at android.databinding.tool.ext.LazyExt.getValue(ext.kt:27) at android.databinding.tool.writer.LayoutBinderWriterKt.getReadableName(LayoutBinderWriter.kt) at android.databinding.tool.LayoutBinder.<init>(LayoutBinder.java:203) at android.databinding.tool.DataBinder.<init>(DataBinder.java:52) at android.databinding.tool.CompilerChef.ensureDataBinder(CompilerChef.java:86) […]

在房间中更改Flowable <List <Obj1 >>为Flowable <List <Obj2 >>

我怎样才能从房间里读取一个流动的值列表,并将其转换为另一个对象,这个对象是来自房间的更多值的组合 database.leadsDao().getLeads(leadState.name) .flatMap { val len = it.size.toLong() Flowable.fromIterable(it) .flatMap { Flowable.zip( database.orderDao().getById(it.orderId), database.orderMedicineDao().getByOrderId(it.orderId), database.patientDao().getById(it.patientId), Function3<Order, List<OrderMedicine>, Patient, LeadDetail> { order, orderMedicines, patient -> LeadDetail.from(it, patient, order, orderMedicines) }) } .take(len) .toList() .toFlowable() } 上面的代码工作,但我不喜欢take(len)部分。 没有它,流不会呼叫用户的下一个。 流持续等待更多的项目,这不应该发生,因为Flowable.fromIterable给有限的数量或项目,然后结束。 即,下面的代码不起作用 database.leadsDao().getLeads(leadState.name) .flatMap { Flowable.fromIterable(it) .flatMap { Flowable.zip( database.orderDao().getById(it.orderId), database.orderMedicineDao().getByOrderId(it.orderId), database.patientDao().getById(it.patientId), Function3<Order, List<OrderMedicine>, Patient, LeadDetail> { order, orderMedicines, […]