Ich versuche eine Android -App zu machen, die den Batterieprozentsatz erhält und anzeigt, aber ich kann es nicht zum Aktualisieren bringen. Meine vielen Versuche, diesen Wert zu aktualisieren. Ich bin mir nicht einmal sicher, ob UpdateBatteryPCT sogar funktioniert. Ich würde mich freuen, wenn mir jemand eingehend erklären könnte, wie dies funktioniert, weil ich nicht wirklich alles untersuche. Ich kann in Kotlin codieren und Sachen machen, aber ich kann nichts tun, was für Android funktioniert. < /P>
Ich versuche eine Android -App zu machen, die den Batterieprozentsatz erhält und anzeigt, aber ich kann es nicht zum Aktualisieren bringen. Meine vielen Versuche, diesen Wert zu aktualisieren. Ich bin mir nicht einmal sicher, ob UpdateBatteryPCT sogar funktioniert. Ich würde mich freuen, wenn mir jemand eingehend erklären könnte, wie dies funktioniert, weil ich nicht wirklich alles untersuche. Ich kann in Kotlin codieren und Sachen machen, aber ich kann nichts tun, was für Android funktioniert. < /P> [code]class MainActivity : ComponentActivity() { var batteryStatus: Intent? = null var batteryPct: MutableState = mutableStateOf(0)
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(/* savedInstanceState = */ savedInstanceState) setContent { this.batteryStatus = getBatteryStatusReceiver() this.batteryPct = remember { mutableStateOf(0) } BatterySaverAppTheme { // A surface container using the 'background' color from the theme Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) { getBatteryPct(this.batteryStatus, this.batteryPct) DisplayBatteryPercentage(batteryPercentage = this.batteryPct) } } } } suspend fun updateBatteryPct () { while (true) { getBatteryPct(this.batteryStatus, this.batteryPct) delay(1000) Log.d("customTest", "updateBatteryPct: Looping") } } }
class BatteryManagerBroadcastReceiver( private val onReceiveIntent: (Intent) -> Unit, ) : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { onReceiveIntent(intent) } } @Composable fun updateBatteryPct(batteryStatus: Intent?, batteryPct: MutableState) { while (true) { getBatteryPct(batteryStatus, batteryPct) DisplayBatteryPercentage(batteryPercentage = batteryPct) } }
fun getBatteryPct(batteryStatus: Intent?, batteryPct: MutableState){ batteryPct.value = batteryStatus?.let { intent -> val level: Int = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) val scale: Int = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1) level * 100 / scale }!! }
@Composable fun getBatteryStatusReceiver(): Intent? { val batteryStatus: Intent? = IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter -> LocalContext.current.applicationContext.registerReceiver(null, ifilter) } return batteryStatus }
@Composable fun DisplayBatteryPercentage(batteryPercentage: MutableState) { Column(Modifier.padding(16.dp)) { Text("battery is at ${batteryPercentage.value}%") } } [/code]
Ich erstelle einen Jetpack -Anmeldebildschirm für Komponieren und muss ein schwimmendes Kennwortanforderungen unter dem Textfeld anzeigen. Das Box sollte dynamisch angezeigt werden, wenn der Benutzer...
Ich bin festgefahren zu verstehen, wie man in Kotlin eine variable initialisierte und später aktualisierte Aktualisierung in Jetpack komponiert und eine Komposition verursacht, die sie zum Umbau...
Ziel
Ich habe eine Berechnungsfunktion. Ich möchte diese Berechnung auch abbrechen, falls der Benutzer ändert, und starten Sie erneut, sobald der Benutzer auf eine Schaltfläche klickt. Im Inside...