@vladislavlisitsyn

Как исправить краши приложения?

Только начал разрабатывать приложение, использую библиотеку Yandex MapKit. Иногдп, при переходе с одной страницы на другую, приложение крашится с ошибкой
java.lang.AssertionError: setApiKey() should be called before initialize()!
Часть кода Main Activity:
package com.example.myapplication

import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.Color
import android.graphics.PointF
import android.location.Location
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.os.HandlerThread
import android.os.PersistableBundle
import android.view.inputmethod.EditorInfo
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.core.app.ActivityCompat
import com.yandex.mapkit.Animation
import com.yandex.mapkit.MapKit
import com.yandex.mapkit.MapKitFactory
import com.yandex.mapkit.geometry.Point
import com.yandex.mapkit.layers.ObjectEvent
import com.yandex.mapkit.map.CameraListener
import com.yandex.mapkit.map.CameraPosition
import com.yandex.mapkit.map.CameraUpdateReason
import com.yandex.mapkit.map.IconStyle
import com.yandex.mapkit.map.Map
import com.yandex.mapkit.map.MapObjectCollection
import com.yandex.mapkit.map.RotationType
import com.yandex.mapkit.map.VisibleRegionUtils
import com.yandex.mapkit.mapview.MapView
import com.yandex.mapkit.search.Response
import com.yandex.mapkit.search.SearchFactory
import com.yandex.mapkit.search.SearchManager
import com.yandex.mapkit.search.SearchManagerType
import com.yandex.mapkit.search.SearchOptions
import com.yandex.mapkit.search.Session
import com.yandex.mapkit.user_location.UserLocationLayer
import com.yandex.mapkit.user_location.UserLocationObjectListener
import com.yandex.mapkit.user_location.UserLocationView
import com.yandex.runtime.Error
import com.yandex.runtime.image.ImageProvider
import com.yandex.runtime.network.NetworkError
import com.yandex.runtime.network.RemoteError





class MainActivity : AppCompatActivity(), UserLocationObjectListener, Session.SearchListener, CameraListener {

    private lateinit var mapView: MapView
    private lateinit var probkibut:Button
    private lateinit var locationMapKit: UserLocationLayer
    private lateinit var searchEdit: EditText
    private lateinit var searchManager: SearchManager
    private lateinit var searchSession: Session
    private lateinit var qwe:Button





    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        MapKitFactory.setApiKey("my_api")
        MapKitFactory.initialize(this)
        setContentView(R.layout.activity_main)
        mapView = findViewById(R.id.mapview)
        mapView.map.move(CameraPosition(Point(55.383297, 39.035919), 17.0f, 150.0f, 30.0f),
        Animation(Animation.Type.SMOOTH, 5f), null)
        var mapkit:MapKit = MapKitFactory.getInstance()
        requstLocationPermission()
        var pribki = mapkit.createTrafficLayer(mapView.mapWindow)
        pribki.isTrafficVisible = false

        qwe = findViewById(R.id.qwe)
        qwe.setOnClickListener{
            val intent = Intent(this@MainActivity, act2::class.java)
            startActivity(intent)
        }


Читал многие посты с ответами, не дошло (скорее всего просто тупой), так что прошу разжевать
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
Jacen11
@Jacen11
ориентируйтесь на семпл https://github.com/yandex/mapkit-android-demo/blob...
когда либу какую то подключаете, если документация не понятная, смотрите пример использования. Там может и красивые подходы подсмотрите
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽