Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可流动事件不按顺序(即不按顺序)_Android_Kotlin_Rx Java2 - Fatal编程技术网

Android 可流动事件不按顺序(即不按顺序)

Android 可流动事件不按顺序(即不按顺序),android,kotlin,rx-java2,Android,Kotlin,Rx Java2,我在一个表上有Flowable订阅,我使用以下方法获取所有数据: mySurveyViewModel.getAllMySurveys() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()).subscribe({ showMySurveysList(it) }, {

我在一个表上有
Flowable
订阅,我使用以下方法获取所有数据:

mySurveyViewModel.getAllMySurveys()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread()).subscribe({
                    showMySurveysList(it)
                }, {
                })
MySurveyViewModel

fun getAllMySurveys(): Flowable<List<MySurvey>> {
        return mySurveyRepository.getAllMySurveys()
    }
音频上传和计数更新

for (audio in medias) {
    var file = File(audio.file_name)
    var mimeType = ""
    var parameter_name = ""
    if (step == step_audio_send) {
        mimeType = "audio/*"
        parameter_name = "audio_recording"
    }

    val filePart = MultipartBody.Part.createFormData(parameter_name, file.name, RequestBody.create(MediaType.parse(mimeType), file))
    var call: retrofit2.Call<JSONObject>? = null
    call = surveyApi.saveSurveyAudio("JWT " + AppPreferences.getString(user_id, "")!!,
            audio.submitted_survey_id, audio.q_id,
            audio.repeatable_id,
            audio.audio_marker, filePart)
    try {
        var response = call!!.execute()
        if (response.isSuccessful) {
        mySurveyViewModel.incrementSurveyMediaCount(audio.submitted_survey_id)
        }
    } catch (ex: Exception) {
        ex.printStackTrace()
    }
}
for(媒体中的音频){
var file=文件(audio.file\u名称)
var mimeType=“”
var参数_name=“”
如果(步骤==步骤\u音频\u发送){
mimeType=“audio/*”
参数\u name=“音频\u录制”
}
val filePart=MultipartBody.Part.createFormData(参数_name,file.name,RequestBody.create(MediaType.parse(mimeType),file))
变量调用:2。调用?=null
call=surveyApi.saveSurveyAudio(“JWT”+AppPreferences.getString(user\u id,”)!!,
audio.q\u调查id,audio.q\u id,
audio.repeatable_id,
audio.audio_标记,文件部分)
试一试{
var response=call!!.execute()
if(response.issucessful){
mySurveyViewModel.incrementSurveyMediaCount(音频.已提交的\u调查\u id)
}
}捕获(例如:异常){
例如printStackTrace()
}
}

请发布更新计数的逻辑,以及该计数存储的位置和方式。@SanlokLee:我添加了音频上传和计数更新逻辑。代码看起来不错。。顺序应与
媒体中的顺序相同
for (audio in medias) {
    var file = File(audio.file_name)
    var mimeType = ""
    var parameter_name = ""
    if (step == step_audio_send) {
        mimeType = "audio/*"
        parameter_name = "audio_recording"
    }

    val filePart = MultipartBody.Part.createFormData(parameter_name, file.name, RequestBody.create(MediaType.parse(mimeType), file))
    var call: retrofit2.Call<JSONObject>? = null
    call = surveyApi.saveSurveyAudio("JWT " + AppPreferences.getString(user_id, "")!!,
            audio.submitted_survey_id, audio.q_id,
            audio.repeatable_id,
            audio.audio_marker, filePart)
    try {
        var response = call!!.execute()
        if (response.isSuccessful) {
        mySurveyViewModel.incrementSurveyMediaCount(audio.submitted_survey_id)
        }
    } catch (ex: Exception) {
        ex.printStackTrace()
    }
}