Я новичок в Android Studio и Koitlin Programming в целом. Я делаю приложение, чтобы показать данные для влажности и датчика влажности почвы. Мой код, кажется, работает хорошо, так как нет ошибки, но я все еще не могу заставить свой Pivewiew, чтобы показать какие -либо данные из Firebase, и это показывает только 0 < /p>
Я попытался исправить любые доступные ошибки и убедиться, что я называю правильный путь в Firebase. Мое приложение в данный момент не выглядит красиво, я планирую исправить его после того, как данные можно получить < /p>
Вот код < /p>
data.kt
package com.example.babipunyaproject
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.babipunyaproject.databinding.ActivityDataBinding
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
import com.google.firebase.database.ktx.database
import com.google.firebase.ktx.Firebase
import az.plainpie.PieView
import az.plainpie.animation.PieAngleAnimation
class Data : AppCompatActivity() {
private lateinit var pieViewHum: PieView
private lateinit var pieViewSoil: PieView
private lateinit var binding: ActivityDataBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("DataActivity", "onCreate called")
binding = ActivityDataBinding.inflate(layoutInflater)
pieViewHum = binding.pieViewHum
pieViewSoil = binding.pieViewSoil
setContentView(binding.root)
Log.d("DataActivity", "Binding initialized")
// Initialize Firebase
val database = Firebase.database
Log.d("DataActivity", "Firebase database initialized")
// Fetch humidity data
val humidityRef = database.getReference("DHT11 testing/sensor/humidity")
humidityRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
Log.d("DataActivity", "Humidity data fetched")
val humidity = snapshot.getValue(String::class.java)?.toFloatOrNull() ?: 0f
updatePieView(binding.pieViewHum, humidity)
}
override fun onCancelled(error: DatabaseError) {
Log.e("DataActivity", "Failed to fetch humidity data: ${error.message}")
}
})
// Fetch soil moisture data
val soilMoistureRef = database.getReference("DHT11 testing/sensor/moistureValue")
soilMoistureRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
Log.d("DataActivity", "Soil moisture data fetched")
val soilMoisture = snapshot.getValue(String::class.java)?.toFloatOrNull() ?: 0f
updatePieView(binding.pieViewSoil, soilMoisture)
}
override fun onCancelled(error: DatabaseError) {
Log.e("DataActivity", "Failed to fetch soil moisture data: ${error.message}")
}
})
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.linearLayout2)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
private fun updatePieView(pieView: PieView, value: Float) {
val valueString = value.toInt().toString() // Convert float to string
pieView.percentage = value // Keep the value for visualization
pieView.setInnerText(valueString) // Display the value as a string inside the PieView
pieView.pieInnerPadding = 30
val animation = PieAngleAnimation(pieView)
animation.duration = 2000
pieView.startAnimation(animation)
}
}
< /code>
Aactivity_data.xml
Подробнее здесь: https://stackoverflow.com/questions/795 ... m-firebase
Мой предварительный просмотр Android Studio не показывает данные в реальном времени от Firebase ⇐ Android
Форум для тех, кто программирует под Android
1742099058
Anonymous
Я новичок в Android Studio и Koitlin Programming в целом. Я делаю приложение, чтобы показать данные для влажности и датчика влажности почвы. Мой код, кажется, работает хорошо, так как нет ошибки, но я все еще не могу заставить свой Pivewiew, чтобы показать какие -либо данные из Firebase, и это показывает только 0 < /p>
Я попытался исправить любые доступные ошибки и убедиться, что я называю правильный путь в Firebase. Мое приложение в данный момент не выглядит красиво, я планирую исправить его после того, как данные можно получить < /p>
Вот код < /p>
data.kt
package com.example.babipunyaproject
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.babipunyaproject.databinding.ActivityDataBinding
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
import com.google.firebase.database.ktx.database
import com.google.firebase.ktx.Firebase
import az.plainpie.PieView
import az.plainpie.animation.PieAngleAnimation
class Data : AppCompatActivity() {
private lateinit var pieViewHum: PieView
private lateinit var pieViewSoil: PieView
private lateinit var binding: ActivityDataBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("DataActivity", "onCreate called")
binding = ActivityDataBinding.inflate(layoutInflater)
pieViewHum = binding.pieViewHum
pieViewSoil = binding.pieViewSoil
setContentView(binding.root)
Log.d("DataActivity", "Binding initialized")
// Initialize Firebase
val database = Firebase.database
Log.d("DataActivity", "Firebase database initialized")
// Fetch humidity data
val humidityRef = database.getReference("DHT11 testing/sensor/humidity")
humidityRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
Log.d("DataActivity", "Humidity data fetched")
val humidity = snapshot.getValue(String::class.java)?.toFloatOrNull() ?: 0f
updatePieView(binding.pieViewHum, humidity)
}
override fun onCancelled(error: DatabaseError) {
Log.e("DataActivity", "Failed to fetch humidity data: ${error.message}")
}
})
// Fetch soil moisture data
val soilMoistureRef = database.getReference("DHT11 testing/sensor/moistureValue")
soilMoistureRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
Log.d("DataActivity", "Soil moisture data fetched")
val soilMoisture = snapshot.getValue(String::class.java)?.toFloatOrNull() ?: 0f
updatePieView(binding.pieViewSoil, soilMoisture)
}
override fun onCancelled(error: DatabaseError) {
Log.e("DataActivity", "Failed to fetch soil moisture data: ${error.message}")
}
})
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.linearLayout2)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
private fun updatePieView(pieView: PieView, value: Float) {
val valueString = value.toInt().toString() // Convert float to string
pieView.percentage = value // Keep the value for visualization
pieView.setInnerText(valueString) // Display the value as a string inside the PieView
pieView.pieInnerPadding = 30
val animation = PieAngleAnimation(pieView)
animation.duration = 2000
pieView.startAnimation(animation)
}
}
< /code>
Aactivity_data.xml
Подробнее здесь: [url]https://stackoverflow.com/questions/79512011/my-androidstudio-pieview-is-not-showing-realtime-data-from-firebase[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия