小编Stu*_*DTO的帖子

每10秒调用一次函数Angular2

我正在尝试创建一个每10秒Timer调用API call一次,我正在使用,setTimeOut但问题是它变成了一个无限循环,即使我推到另一个页面它仍然加入if条件.

示例:

我在一个方法上调用它来启动10秒API调用

setTimeout(() => {
    this.onTimeOut();
}, 1000);
Run Code Online (Sandbox Code Playgroud)

这就是onTimeOut()方法......

onTimeOut() {
    this.ApiCall().then(
    success => {
    if(success ['ok'] == 0){
        this.navCtrl.push(myPage);
    }
    },
    error => { console.log(error); });
}
setTimeout(() => {
    this.onTimeOut();
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)

我听说过Debounce,rxjs/rs但我不熟悉它们,你能给我一些提示吗?或者,如果这种方式更有效,请继续向我解释为什么它变成循环.

目标是当它加入if并推送页面时,停止计时器.

typescript ionic-framework ionic2 angular

19
推荐指数
3
解决办法
4万
查看次数

重叠两个盒子喷气背包组成

我正在尝试重叠两个Box,或者在这种情况下使用可能更好Row

我的设计是一个Row与另一个重叠,并且我将其包裹在 上Column,这是正确的吗?

这就是设计,我想要的是顶部的矩形与下面的矩形大小相同,然后将其移动一些像素,如图所示,但它们应该具有相同的宽度,但不应该具有相同的宽度相同的高度。

在此输入图像描述

如果层次结构是: 可以吗?

Column 
  Box (the one of the top)
    Row
  Box (the one of the bottom)
    Row (inside there is text and it's all the same align)
Run Code Online (Sandbox Code Playgroud)

......

android kotlin android-jetpack android-jetpack-compose

13
推荐指数
3
解决办法
3万
查看次数

如何测试主持人MVP Android

我试图了解如何测试我的应用程序,但我仍在与mockito我一起学习,mockk但也无法使它正常工作,这是我的Presenter

class MyPresenterImpl @Inject constructor(var myUseCase: MyUseCase) : MyContract.Presenter {

    private var mView: MyContract.View? = null
    private var disposable: Disposable? = null


    override fun attachView(view: MyContract.View) {
        this.mView = view
        this.mView?.showProgressBar(true)
    }

    override fun loadResults() {

        disposable = getList.execute()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                { result ->
                    mView?.showProgressBar(false)
                    mView?.showResults(result)
                },
                { error ->
                    mView?.showProgressBar(false)
                    mView?.showError(error.localizedMessage)
                })
    }

    override fun rxJavaUnsuscribe() {
        if (disposable != null && !disposable!!.isDisposed) {
            disposable!!.dispose()
        }
    }

    override fun detachView() {
        this.mView = …
Run Code Online (Sandbox Code Playgroud)

android unit-testing mockito kotlin mockk

9
推荐指数
1
解决办法
306
查看次数

从服务开始活动需要太长时间

我有一个Service当一个函数给我true时它将启动一个新的Activity但它需要5秒...

我已经读过这个issue,我在StackOverflow这个例子中找到了"避免"这个bug.

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
try {
   pendingIntent.send();
} catch (PendingIntent.CanceledException e) {
   e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但遗憾的是它没有Activity更快启动,我不需要处于初级状态(如果可能的话更好),但是我不想等待+5秒来启动新功能Activity,你是否知道要避免这种情况?

我正在使用,PendingIntent因为我发现那个人说它应该解决这个问题: 在没有5秒延迟的情况下按下HOME按钮后从服务启动一个活动

注意

如果我按下back button它会自动启动它,0延迟,但我正在按下它home button.

service android android-intent android-activity

7
推荐指数
1
解决办法
1986
查看次数

使用 Spring 启动对 mongoDB 进行身份验证失败

我正在尝试创建一个服务器,我的网页/应用程序可以在其中进行调用,从现在开始我从登录开始,因此,我根据自己的需要创建了服务器,问题application.properties在于我遗漏了一些东西,我有这个 :

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.authentication-database=mydatabase
spring.data.mongodb.username=stuart
spring.data.mongodb.password=stuartdto
spring.data.mongodb.database=mydatabase
Run Code Online (Sandbox Code Playgroud)

当尝试调用登录调用时,错误就是这个错误

com.mongodb.MongoCommandException: 命令失败,错误 18 (AuthenticationFailed): 'Authentication failed.' 在服务器本地主机上:27017。完整的响应是 { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }

我已经开始mongod使用这个命令mongod --auth,我已经创建了一个用户来做到这一点(正在工作,因为如果我手动mongo -u user -p 'password' --authenticationDatabase "admin"工作)它在我添加它之前不起作用,--authenticationDatabase "admin"所以也许这就是我需要的Spring.

我缺少什么?

spring mongodb spring-boot

7
推荐指数
2
解决办法
1万
查看次数

如何在Android中使用对象创建Excel并通过电子邮件发送

在我的应用程序上,我有一个记录对象,比方说我要与5个以上的人进行测验,这样我就可以获取所有记录的结果,并且我有一个包含所有这些信息的对象,是否可以转换这个对象到一个Excel文件?例如 :

|---------------------|------------------|
|        Quiz         |     Question 1   |...
|---------------------|------------------|
|      Quiz Name      |    What's 1+1    |...
|---------------------|------------------|

Run Code Online (Sandbox Code Playgroud)

像这样的东西,要知道每个用户的回答及其得分,所有这些我都将其存储在对象上。

然后,如果可以通过Mail发送.xls或任何格式。

编辑

例如,我需要测验名称,如果我可以添加更多有关该测验的信息,可以,但是随后我需要添加所有要求该测验(api的另一个对象)的用户,这样我才能获得名称和分数。

我想在显式位置显示a .csvExcelany:

假设我有一个清单:

  1. createdAt
  2. UpdatedAt
  3. 用户(仅user.email)
  4. 测验(只是quiz.name)
  5. 总积分

所以我想它填充的.csvExcel任何

java excel android kotlin

7
推荐指数
1
解决办法
463
查看次数

(DAGGER-ANDROID) 不能在 Espresso 测试中使用 @Inject 并且不能使用 mockWebServer

我正在尝试创建 Espresso 测试,mockWebServer当我尝试创建mockWebServer它时,它会调用真正的 api 调用,并且我想拦截它并模拟响应。

我的匕首组织是:

我的应用程序

open class App : Application(), HasAndroidInjector {

    lateinit var application: Application

    @Inject
    lateinit var androidInjector: DispatchingAndroidInjector<Any>

    override fun androidInjector(): AndroidInjector<Any> = androidInjector

    override fun onCreate() {
        super.onCreate()
        DaggerAppComponent.factory()
            .create(this)
            .inject(this)
        this.application = this
    }
}
Run Code Online (Sandbox Code Playgroud)

然后 MyAppComponent

@Singleton
@Component(
    modules = [
        AndroidInjectionModule::class,
        AppModule::class,
        RetrofitModule::class,
        RoomModule::class,
        AppFeaturesModule::class
    ]
)
interface AppComponent : AndroidInjector<App> {

    @Component.Factory
    interface Factory {
        fun create(@BindsInstance application: App): AppComponent
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了这个 TestApp

class TestApp …
Run Code Online (Sandbox Code Playgroud)

android kotlin dagger android-espresso dagger-2

7
推荐指数
1
解决办法
336
查看次数

自定义Horizo​​ntalScrollView适配器RecyclerView

我试图创建HorizontalScrollView一个RecyclerView,我有我的适配器FirebaseAdapter与我onCreateViewHolder,onDataChanged和它onBindViewHolder,我想对我的补充什么RecyclerView是这样的图像,类似,用户只能看到3项,并居中放大/更大,有人告诉我,我必须覆盖getItemViewType,但我不知道如何,你能指导如何做到这一点吗?

为了使它像HorizontalScrollView我添加了CustomLinearLayout这样的行为:

LinearLayoutManager layoutManager = 
new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
rv.setLayoutManager(layoutManager);
Run Code Online (Sandbox Code Playgroud)

我希望它显示的是这样的(每个空白矩形是一个项目):

在此输入图像描述

对于那些不理解的人

我已经有一个RecyclerView行为,HorizontalScrollView 我不能使其可定制,以显示它像上面的图像.

android horizontal-scrolling android-layout android-recyclerview

6
推荐指数
1
解决办法
859
查看次数

GoogleMaps使用rxJava和MVP

我有一个应用程序,从现在开始我的api填充了一个列表.现在我正在检测onClick recyclerView,我想打开GoogleMaps一个标记,专注于我点击的项目(我有lat和long).有没有一个很好的方法用它的存储库,用例,模型等来做到这一点?

事情就是我在我的ModelView上有它的坐标,以及cat的类型,也就是id.

问题是我不知道要向其他活动发送什么,因为每次我进行api调用时数据都会发生变化,所以我不知道是否必须将它存储在任何地方,然后从listView显示数据然后创建一个刷新我可以从api重新启动数据的mapActivity上的按钮.

希望你能理解我的问题.

我正在关注的一个例子是:GitHub存储库这是我作为列表所拥有的,然后当点击一个项目时它应该打开地图.

编辑

当我点击列表中的某个项目时,我最终通过了列表(如果您有任何其他方式,请随时告诉我)

然后我创建了一个合同:

interface Presenter{
        fun onMapReady()
    }

    interface View{
        fun focusOnItem(latitude: Double, longitude: Double)
        fun putMarkers(mList)
    }
Run Code Online (Sandbox Code Playgroud)

然后我不知道rxJava我的演示者在哪里使用,因为我需要等到我为我的演示者设置视图和数据的东西,当我填满所有然后首先开始做putMarkers,然后focusOnItem,但我坚持这个.

所以我现在正在做的是从mapActivity我设置列表然后我想开始做这个工作.

TL; DR

从开始我有一个活动(从Github仓库几乎相同,然后我需要将列表传递给我的其他活动,我最终做了一个设置者到一个演示者,因为匕首不知道该列表所以,我的问题现在我如何用rxJava设置所有MVP来加载地图并在其上加载标记.它还应该缩放到点击的元素但我已经有了位置.

有了一个简单的伪如果你说服自己这样做我会接受你的答案是正确的,我只需要弄明白如何在rxJava中做到这一点.

android google-maps rx-java dagger-2 android-mvp

6
推荐指数
1
解决办法
618
查看次数

如何在 Azure Devops 管道中运行 Espresso UI 测试

我一直在阅读帖子,最终得到了一个*.yaml可以运行的但看起来花费了太长的时间,因为我已经尝试过或多或少的 5 或 6 次测试,在本地它需要 4 秒才能通过,当我启动管道时大约需要 12 分钟,我想知道我是否遗漏了一些有关缓存的内容,或者我可以让它更快。

注意:我还在运行该应用程序的一项功能的 UI 测试,认为这比我Instrumental tests 使用此 bash 运行该应用程序的所有应用程序要快:

  • 重击: | ./gradlew :features-login:connectedAndroidTest --console=plain --stacktrace ./gradlew --stop
trigger:
  - develop

pool:
  vmImage: 'macos-latest'

jobs:
  - job: Phase_1
    timeoutInMinutes: 25
    displayName: Run Instrumented Tests and publish results
    condition: succeeded()
    pool:
      vmImage: 'macos-latest'
    steps:
      - task: Cache@2
        displayName: 'Caching System Images for AVD'
        inputs:
          key: 'AVD_IMAGES_PIXEL_28'
          path: '$(ANDROID_HOME)/system-images'
          cacheHitVar: 'AVD_IMAGES_RESTORED'
        continueOnError: true
        condition: succeededOrFailed()
      - bash: |
          echo "y" | $ANDROID_HOME/tools/bin/sdkmanager …
Run Code Online (Sandbox Code Playgroud)

android pipeline azure azure-devops azure-pipelines

6
推荐指数
1
解决办法
1192
查看次数