Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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
Java 加载时崩溃活动_Java_Android_Kotlin - Fatal编程技术网

Java 加载时崩溃活动

Java 加载时崩溃活动,java,android,kotlin,Java,Android,Kotlin,我在下面的代码中有一个错误,此代码必须显示元素列表,但当它执行代码时,我在以下行中有一个错误:val bmp:Bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream())这只发生在这个视图中,我声明mylistaadapter对象也在其他视图中使用,这是因为什么 错误: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(Htt

我在下面的代码中有一个错误,此代码必须显示元素列表,但当它执行代码时,我在以下行中有一个错误:val bmp:Bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream())这只发生在这个视图中,我声明mylistaadapter对象也在其他视图中使用,这是因为什么

错误:

at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30)
活动.kt

class VideoActivity : AppCompatActivity() {


    private lateinit var db: FirebaseFirestore
    private lateinit var fusedLocationClient: FusedLocationProviderClient
    private lateinit var locationRequest: LocationRequest
    private lateinit var locationCallback: LocationCallback
    private var latitude: Double = 0.0
    private var longitudine: Double = 0.0
    private var idVeicolo: String = ""
    private var codice_veicolo: String = ""


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_video)
        window.setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
        )
        getLocationUpdates()
        db = FirebaseFirestore.getInstance()
        buttonvideoperizialive.visibility = View.INVISIBLE
        buttonback.setOnClickListener { back() }
        val preference = this.getSharedPreferences("PREFERENCE_NAME", 0)
        val email: String = preference.getString("Email", "").toString()
        val firebaseid: String = preference.getString("ID_AUTH_FIREBASE", "").toString()
        val key: String = preference.getString("ADMIN_KEY", "").toString()
        codice_veicolo = intent.getStringExtra("CODICE_VEICOLO").toString()
        idVeicolo = intent.getStringExtra("ID_VEICOLO").toString()
        enablevideo(codice_veicolo)

        val recycler_view: ListView = findViewById(R.id.listView)
        var list = mutableListOf<Model>()
        val listavalori = APISupport.getListaVideo(firebaseid, email, key, idVeicolo)
        var urlphoto = "https://i.ibb.co/k2mSK4K/icon-video-play.png"
        listavalori.forEach {
            list.add(
                Model(
                    "Videoperizia del:" + it.DATA_ORA_CARICAMENTO,
                    "\nVideo geolocalizzato:\n" + it.INDIRIZZO_POSIZIONE_RILEVATA,
                    urlphoto,
                    "\nlat: " + it.LATITUDINE_POSIZIONE_RILEVATA + " - lon: " + it.LONGITUDINE_POSIONE_RILEVATA
                )
            )
        }
        recycler_view.adapter = MyListAdapter(this.baseContext, R.layout.rowvideo, list)
        /*recycler_view.setOnItemClickListener { parent, view, position, id ->
            //openvideourl(listavalori.get(position).URL_FILE)
        }*/
        buttonvideoperizia.setOnClickListener {
            openVideoRecord()
        }
    }


    fun openVideoRecord() {
        val intent = Intent(this, VideoRecordStart::class.java)
        intent.putExtra("CODICE_VEICOLO", codice_veicolo)
        intent.putExtra("ID_VEICOLO", idVeicolo)
        startActivity(intent)
        /*val takeVideoIntent: Intent = Intent(MediaStore.ACTION_VIDEO_CAPTURE)
        if (takeVideoIntent.resolveActivity(packageManager) != null) {
            val CAMERA_REQUEST_CODE_VEDIO = 0
            startActivityForResult(takeVideoIntent, CAMERA_REQUEST_CODE_VEDIO)
        }*/
    }

    private fun getLocationUpdates() {
        fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
        locationRequest = LocationRequest()
        locationRequest.interval = 50000
        locationRequest.fastestInterval = 50000
        locationRequest.smallestDisplacement = 170f //170 m = 0.1 mile
        locationRequest.priority = LocationRequest.PRIORITY_HIGH_ACCURACY //according to your app
        locationCallback = object : LocationCallback() {
            override fun onLocationResult(locationResult: LocationResult?) {
                locationResult ?: return
                if (locationResult.locations.isNotEmpty()) {
                    val addresses: List<Address>?
                    val geoCoder = Geocoder(applicationContext, Locale.getDefault())
                    addresses = geoCoder.getFromLocation(
                        locationResult.lastLocation.latitude,
                        locationResult.lastLocation.longitude,
                        1
                    )

                    longitudine = locationResult.lastLocation.longitude
                    latitude = locationResult.lastLocation.latitude

                    if (addresses != null && addresses.isNotEmpty()) {
                        val address: String = addresses[0].getAddressLine(0)
                        val city: String = addresses[0].locality
                        val state: String = addresses[0].adminArea
                        val country: String = addresses[0].countryName
                        val postalCode: String = addresses[0].postalCode
                        val knownName: String = addresses[0].featureName

                    }
                }
            }
        }
    }

    fun back() {
        val intent = Intent(this, MainActivity::class.java)
        val preference = this.getSharedPreferences("PREFERENCE_NAME", 0)
        val email: String = preference.getString("Email", "").toString()
        val firebaseid: String = preference.getString("ID_AUTH_FIREBASE", "").toString()
        val key: String = preference.getString("ADMIN_KEY", "").toString()
        intent.putExtra("Email", email)
        intent.putExtra("ID_AUTH_FIREBASE", firebaseid)
        intent.putExtra("ADMIN_KEY", key)
        startActivity(intent)
    }

    private fun openvideourl(VideoURL: String) {
        val intent = Intent(this, PlayVideoActivity::class.java)
        intent.putExtra("VideoURL", VideoURL)
        startActivity(intent)
        finish()
    }

    private fun enablevideo(codiceveicolo: String) {
        try {

            val docRef = db.collection("T_VEICOLI").document(codiceveicolo)
            docRef.addSnapshotListener { snapshot, e ->
                if (e != null) {
                    return@addSnapshotListener
                }
                if (snapshot != null && snapshot.exists()) {
                    val LIVE: Boolean = snapshot.data?.get("Live") as Boolean

                    if (LIVE) {

                        Toast.makeText(
                            this,
                            "Operatore in linea, puoi accedere alla video chiamata!",
                            Toast.LENGTH_LONG
                        ).show()

                        labelvideoperizia.visibility = View.INVISIBLE
                        buttonvideoperizialive.visibility = View.VISIBLE
                    } else {
                        labelvideoperizia.text =
                            "Potrai accedere alla video chiamata da qui quando l'operatore sarà online"
                        labelvideoperizia.visibility = View.VISIBLE
                        buttonvideoperizialive.visibility = View.INVISIBLE
                    }
                    try {
                        var EFFETTUATO: Boolean = snapshot.data?.get("EFFETTUATO") as Boolean
                        if (EFFETTUATO) {
                            labelvideoperizia.visibility = View.VISIBLE
                            buttonvideoperizialive.visibility = View.INVISIBLE
                            labelvideoperizia.text = "Visita già effettuata."
                        }
                    } catch (e: Exception) {
                        System.out.println("Errore live: " + e)

                    }
                } else {
                    System.out.println("Snapshot non valido ")
                }
            }
        } catch (e: Exception) {
            System.out.println("Errore avvio live: " + e)
        }

    }
}
class MyListAdapter(var mCtx: Context, var resource: Int, var items: List<Model>) :
    ArrayAdapter<Model>(mCtx, resource, items) {

    override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
        var person: Model = items[position]
        val layoutInflater: LayoutInflater = LayoutInflater.from(mCtx)
        val url: URL = URL(person.photo)
        val bmp: Bitmap = BitmapFactory.decodeStream(url.openConnection().getInputStream())
        val view: View = layoutInflater.inflate(resource, null)
        val imageView: ImageView = view.findViewById(R.id.iconIv)
        var textView: TextView = view.findViewById(R.id.titleTv)
        var textView1: TextView = view.findViewById(R.id.descTv)
        imageView.setImageBitmap(bmp)
        textView.text = person.title + " | " + person.desc
        textView1.text = "" + person.targa
        return view
    }

}
class-VideoActivity:AppCompatActivity(){
私有lateinit var db:FirebaseFirestore
私有lateinit变量fusedLocationClient:FusedLocationProviderClient
私有lateinit var locationRequest:locationRequest
私有lateinit变量locationCallback:locationCallback
专用变量纬度:双=0.0
私有变量longitudine:Double=0.0
私有变量idVeicolo:String=“”
私有变量codice_veiclo:String=“”
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity\u视频)
window.setFlags(
WindowManager.LayoutParams.FLAG_全屏显示,
WindowManager.LayoutParams.FLAG_全屏显示
)
getLocationUpdates()
db=FirebaseFirestore.getInstance()
buttonvideoperizialive.visibility=View.INVISIBLE
buttonback.setOnClickListener{back()}
val preference=this.getSharedReferences(“首选项名称”,0)
val email:String=preference.getString(“email”,“电子邮件”).toString()
val firebaseid:String=preference.getString(“ID\u AUTH\u FIREBASE”,”).toString()
val-key:String=preference.getString(“ADMIN_-key”,”).toString()
codice_veicolo=intent.getStringExtra(“codice_veicolo”).toString()
idVeicolo=intent.getStringExtra(“ID_VEICOLO”).toString()
启用视频(codice_Veiclo)
val recycler_视图:ListView=findViewById(R.id.ListView)
var list=mutableListOf()
val listavalori=APISupport.getListaVideo(firebaseid、电子邮件、密钥、IDVEICLO)
var urlphoto=”https://i.ibb.co/k2mSK4K/icon-video-play.png"
利斯塔瓦洛里·弗雷奇{
list.add(
模型(
Videoperizia del:+it.DATA_ORA_CARICAMENTO,
“\n视频地理定位:\n”+it.INDIRIZZO_POSIZIONE_RILEVATA,
照片,
“\nlat:“+it.LATITUDINE\u POSIZIONE\u RILEVATA+”-lon:“+it.LONGITUDINE\u POSIZIONE\u RILEVATA”
)
)
}
recycler_view.adapter=MyListAdapter(this.baseContext,R.layout.rowvideo,list)
/*recycler_view.setOnItemClickListener{父对象,视图,位置,id->
//openvideourl(listavalori.get(position.URL\u文件)
}*/
buttonvideoperizia.setOnClickListener{
openVideoRecord()
}
}
有趣的openVideoRecord(){
val intent=intent(这是VideoRecordStart::class.java)
意图。额外(“CODICE_VEICOLO”,CODICE_VEICOLO)
意图。额外(“ID_VEICOLO”,idVeicolo)
星触觉(意图)
/*val takeVideoIntent:Intent=Intent(MediaStore.ACTION\u VIDEO\u捕获)
if(takeVideoIntent.resolveActivity(packageManager)!=null){
val摄像机\请求\代码\视频=0
startActivityForResult(拍摄视频意图、摄像机\请求\代码\视频)
}*/
}
私人娱乐GetLocationUpdate(){
fusedLocationClient=LocationServices.getFusedLocationProviderClient(此)
locationRequest=locationRequest()
locationRequest.interval=50000
locationRequest.FastTestInterval=50000
位置请求。最小位移=170f//170M=0.1英里
locationRequest.priority=locationRequest.priority\u高精度//根据您的应用程序
locationCallback=对象:locationCallback(){
覆盖趣味onLocationResult(locationResult:locationResult?){
locationResult?:返回
if(locationResult.locations.isNotEmpty()){
val地址:列表?
val geoCoder=geoCoder(applicationContext,Locale.getDefault())
地址=geoCoder.getFromLocation(
locationResult.lastLocation.latitude,
locationResult.lastLocation.longitude,
1.
)
longitudine=locationResult.lastLocation.longitude
纬度=locationResult.lastLocation.latitude
if(addresses!=null&&addresses.isNotEmpty()){
val地址:字符串=地址[0]。getAddressLine(0)
val city:字符串=地址[0]。位置
val状态:字符串=地址[0]。adminArea
val国家:字符串=地址[0]。国家名称
val postalCode:字符串=地址[0]。postalCode
val knownName:String=地址[0]。功能名称
}
}
}
}
}
有趣的事{
val intent=intent(这是MainActivity::class.java)
val preference=this.getSharedReferences(“首选项名称”,0)
val email:String=preference.getString(“email”,“电子邮件”).toString()
val firebaseid:String=preference.getString(“ID\u AUTH\u FIREBASE”,”).toString()
val-key:String=preference.getString(“ADMIN_-key”,”).toString()
intent.putExtra(“电子邮件”,电子邮件)
intent.putExtra(“ID\u AUTH\u FIREBASE”,firebaseid)
intent.putExtra(“管理密钥”,密钥)
星触觉(意图)
}
私人娱乐openvideourl(VideoURL:String){
val intent=intent(这是PlayVideoActivity::class.java)
intent.putExtra(“VideoURL”,VideoURL)
星触觉(意图)
完成()
}
私人娱乐支持视频(codiceveicolo:String){
试一试{
val docRef=db.coll