当前位置: 首页 > news >正文

建设规范文件在哪个网站发布唐山网站优化

建设规范文件在哪个网站发布,唐山网站优化,电子商务网站建设技能实训答案,做灯笼手工简单做法聆听广播,跟着节拍吧。 计时器 新建一个名为PhoneStateMonitor的工程; 实现一个应用运行时长的计时器,并在界面上刷新计数器,要求包括: (1)在Layout中包含两个TextView控件,横向分…

聆听广播,跟着节拍吧。

计时器

新建一个名为PhoneStateMonitor的工程;

实现一个应用运行时长的计时器,并在界面上刷新计数器,要求包括:

(1)在Layout中包含两个TextView控件,横向分布,左边的TextView固定显示文本“运行时长”,右边的TextView显示计时时长(单位:分钟)

(2)通过静态方式注册系统广播android.intent.action.TIME_TICK,执行计时器的刷新。

注,本次可以不用重名原来自带的xml跟main活动,然后记得每题分模块写即可。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"android:padding="16dp"android:gravity="center_vertical"><!-- 左侧 TextView 显示 "运行时长" --><TextViewandroid:id="@+id/textViewLabel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="运行时长"android:textSize="20sp"android:layout_marginEnd="16dp"/><!-- 右侧 TextView 显示计时时长 --><TextViewandroid:id="@+id/textViewTimer"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="0"android:textSize="20sp"android:gravity="end"/></LinearLayout>

这里的Receiver内部类写在主活动里,当然你也可以另外写多一个Receiver文件。 

package com.example.phonestatemonitorimport android.app.Activity
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.Bundle
import android.widget.TextViewclass MainActivity : Activity() {// 定义广播接收器,接收系统时间更新广播private lateinit var timeTickReceiver: TimeTickReceiveroverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)// 获取布局中的 TextView 控件val textViewTimer: TextView = findViewById(R.id.textViewTimer)// 创建 TimeTickReceiver 实例并传递 textViewTimertimeTickReceiver = TimeTickReceiver(textViewTimer)// 注册系统广播val intentFilter = IntentFilter()
//        intentFilter.addAction("android.intent.action.TIME_TICK")intentFilter.addAction(Intent.ACTION_TIME_TICK)// 使用系统时间更新广播的正确 actionregisterReceiver(timeTickReceiver, intentFilter)}override fun onDestroy() {super.onDestroy()// 注销广播接收器,避免内存泄漏unregisterReceiver(timeTickReceiver)}// 广播接收器类class TimeTickReceiver(private val textViewTimer: TextView) : BroadcastReceiver() {private var totalMinutes: Int = 0override fun onReceive(context: Context, intent: Intent) {// 更新计时器updateTimer()}private fun updateTimer() {totalMinutes += 1val timeString = String.format("%02d分钟", totalMinutes)// 更新 TextView 显示的计时textViewTimer.text = timeString}}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.phonestatemonitor"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.T7"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

 

手机WIFI状态显示

 实现手机WI-FI状态显示:

(1)WI-FI只有“打开”和“关闭”两种状态;

(2)Layout中根据自己的想法设计合理的WI-FI状态显示方式;

(3)注意,要在AndroiManifest.xml添加wifi状态的权限,

(4)设计一个广播接收器来监听广播android.net.wifi.WIFI_STATE_CHANGED

(5)创建一个私有方法wifiStateUpdate(),里面包括:

创建一个wifiManager:

val wifiManager = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager

获取WI-FI的状态:

val wifiState = wifiManager.wifiState

如果wifiState为WifiManager.WIFI_STATE_ENABLED,则显示“打开”,如果为wifiState为WifiManager.WIFI_STATE_DISABLED,则显示“关闭”。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><androidx.appcompat.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="?attr/colorPrimary"android:elevation="4dp"android:theme="@style/ThemeOverlay.AppCompat.ActionBar" /><TextViewandroid:id="@+id/statusWifi"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/status_wifi_open"android:layout_gravity="center"android:layout_marginTop="50dp"android:textSize="30sp"android:textColor="#EF9DB9" />
</LinearLayout>

在res的values文件下找到strings.xml

<resources><string name="app_name">T7</string><string name="status_wifi_open">Wifi已打开</string><string name="status_wifi_close">Wifi已关闭</string>
</resources>

在另一个模块或项目的模块,直接用默认的活动写即可。 

import android.app.Activity
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.net.wifi.WifiManager
import android.os.Bundle
import android.util.Log
import android.widget.TextView
import androidx.appcompat.widget.Toolbar
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {// 定义广播接收器,接收 Wi-Fi 状态更新广播private lateinit var wifiReceiver: WifiReceiver// 用于显示 Wi-Fi 状态的 TextView 控件private lateinit var wifiStatus: TextViewprivate lateinit var wifiManager: WifiManageroverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)
//        val toolbar: Toolbar = findViewById(R.id.toolbar)
//        setSupportActionBar(toolbar)// 获取布局中的 TextView 控件wifiStatus = findViewById(R.id.statusWifi)wifiManager = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager// 创建 wifiReceiver 实例wifiReceiver = WifiReceiver(wifiStatus)// 注册 Wi-Fi 状态广播接收器val intentFilter = IntentFilter()intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION) // Wi-Fi 状态变化的广播registerReceiver(wifiReceiver, intentFilter)}override fun onDestroy() {super.onDestroy()// 注销广播接收器,避免内存泄漏unregisterReceiver(wifiReceiver)}// 广播接收器类,用于监听 Wi-Fi 状态变化class WifiReceiver(private val statusWifi: TextView) : BroadcastReceiver() {private lateinit var wifiManager: WifiManageroverride fun onReceive(context: Context?, intent: Intent?) {// 获取 WifiManager 实例wifiManager = context?.applicationContext?.getSystemService(Context.WIFI_SERVICE) as WifiManager// 更新 Wifi 状态wifiStateUpdate()}private fun wifiStateUpdate() {// 获取当前的 Wifi 状态val wifiState = wifiManager.wifiStateval context = statusWifi.context// 根据 Wifi 状态更新 UIif (wifiState == WifiManager.WIFI_STATE_ENABLED) {// Wifi 已开启statusWifi.text = context.getString(R.string.status_wifi_open)} else if (wifiState == WifiManager.WIFI_STATE_DISABLED) {// Wifi 已关闭statusWifi.text = context.getString(R.string.status_wifi_close)}statusWifi.invalidate()}}
}

AndroidManifest.xml,注意这里要改一下跟你的项目模块名对上,别直接复制还倒打一耙怪到这来。 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.t7" ><!-- Wi-Fi 状态权限 --><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.T7" ><activityandroid:name=".MainActivity"android:exported="true" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

打开虚拟手机的设置找到wifi项把它打开关闭,也可以从上面拉下来开启,类似平时用手机打开wifi的,然后观察界面显示。

 

手机电池电量提醒

 实现手机电池电量提醒

(1)要求能够按百分比显示电量;

(2)监听电量变化的广播

android.intent.action.BATTERY_LOW、android.intent.action.BATTERY_OKAY、android.intent.action.BATTERY_CHANGED三条信息;

(3)正常电量下,显示“正常电量”,同时计算并显示具体电量。

(4)当电量电量低于20%时,用红色字体显示电量,并且显示文本“请及时充电!”

(5)计算电量batteryPct。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:padding="16dp"><!-- 第一个 TextView: 显示文本1 --><TextViewandroid:id="@+id/textViewText1"android:layout_width="wrap_content"android:layout_height="50sp"android:text="@string/text1"android:textSize="30sp"android:gravity="start"/><!-- 第二个 TextView: 显示电池百分比 --><TextViewandroid:id="@+id/textViewBattery"android:layout_width="wrap_content"android:layout_height="47sp"android:text="@string/battery_percentage"android:textSize="30sp"android:layout_toEndOf="@id/textViewText1"android:layout_marginStart="4dp"android:layout_marginTop="3sp"android:gravity="end" /><!-- 一个黑色横向 View --><Viewandroid:layout_width="match_parent"android:layout_height="2dp"android:layout_below="@id/textViewText1"android:layout_alignParentStart="true"android:background="@color/black" /><!-- 第三个 TextView: 显示电池提示信息 --><TextViewandroid:id="@+id/textViewTips"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/battery_normal_tips"android:textSize="40sp"android:gravity="center"android:layout_below="@id/textViewText1"android:layout_marginTop="20dp" /></RelativeLayout>
<resources><string name="app_name">Pct</string><string name="text1">手机电量:</string><string name="battery_percentage">100%</string><string name="battery_normal_tips">正常电量</string><string name="battery_charge_tips">请及时充电!</string>
</resources>
import android.app.Activity
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.Bundle
import android.os.BatteryManager
import android.widget.TextView
import android.widget.Toastclass MainActivity : Activity() {private lateinit var batteryLevel: TextViewprivate lateinit var batteryTips: TextViewprivate lateinit var batteryReceiver: BroadcastReceiveroverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)// 获取布局中的 TextView 控件batteryLevel = findViewById(R.id.textViewBattery)batteryTips = findViewById(R.id.textViewTips)// 创建并注册广播接收器batteryReceiver = BatteryReceiver()val intentFilter = IntentFilter()intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED) // 电池变化intentFilter.addAction(Intent.ACTION_BATTERY_LOW)     // 电池低电量intentFilter.addAction(Intent.ACTION_BATTERY_OKAY)    // 电池恢复正常registerReceiver(batteryReceiver, intentFilter)}override fun onDestroy() {super.onDestroy()// 注销广播接收器unregisterReceiver(batteryReceiver)}// 广播接收器类:处理电池变化的逻辑inner class BatteryReceiver : BroadcastReceiver() {override fun onReceive(context: Context?, intent: Intent?) {intent?.let {when (it.action) {Intent.ACTION_BATTERY_CHANGED -> {val batteryPct:Float? = getBatteryPercentage(it)// 更新电池百分比显示batteryPct?.let { pct ->updateBatteryStatus(pct)}}Intent.ACTION_BATTERY_LOW -> {// 电池电量过低时显示提示信息batteryTips.text = context?.getString(R.string.battery_charge_tips)batteryTips.setTextColor(context?.resources?.getColor(android.R.color.holo_red_dark) ?: 0)}Intent.ACTION_BATTERY_OKAY -> {// 电池恢复正常时显示提示信息batteryTips.text = context?.getString(R.string.battery_normal_tips)batteryTips.setTextColor(context?.resources?.getColor(android.R.color.black) ?: 0)}else -> {}}}}// 获取电池百分比private fun getBatteryPercentage(intent: Intent): Float {val level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1)val scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1)return level * 100 / scale.toFloat()}// 更新电池状态private fun updateBatteryStatus(batteryPct: Float) {batteryLevel.text = "${batteryPct.toInt()}%" // 显示电池百分比if (batteryPct < 20) {batteryTips.text = "请及时充电!"batteryTips.setTextColor(getColor(android.R.color.holo_red_dark))} else {// 电量正常时,显示“正常电量”batteryTips.text = "正常电量"batteryTips.setTextColor(getColor(android.R.color.black))}}}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.pct"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.T7"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

怎么调节虚拟机的电量观察提示变化,点击这里。

然后滑动滑条即可观察到提示变化。 

 

实验心得

写到困了,却等不到的赞。 

 

http://www.yayakq.cn/news/761644/

相关文章:

  • 怎么修改网站模板wordpress 置顶文章加图标
  • 网站二级导航wordpress 默认登录
  • 直缝钢管网站建设麦考林网上购物商城
  • 闵行西安网站建设淄博企业网站建设价格
  • 高新网站建设哪家好做网站需要什么配置服务器吗
  • qt 可以做网站吗网站做淘宝客赚钱吗
  • wordpress 文档模板下载上海谷歌seo公司
  • 新干网站新干今年有哪些重大建设十个必备的视频制作app
  • 大学 建网站公众号做漫画网站
  • 关键词没有排名的网站怎么做河南省建设厅专业业务系统网站
  • 网站后台如何上传文件做旅游销售网站平台ppt模板
  • 便利的龙岗网站设计百度平台交易
  • 塘厦镇住房规划建设局网站263企业邮箱手机版
  • 网站建设起来还需要花钱吗怎么制作网站论坛模板
  • 网站代码模板编写已有网站开发安卓app
  • 自己怎么做电影网站可以赚钱吗河北项目网手机版
  • 网站的设计流程是怎么样的?电子工程网站大全
  • 深圳优定软件网站建设花乡做网站公司
  • 火花机 东莞网站建设青海做网站哪家好
  • 做网站必须托管服务器吗公司做搜索引擎优化
  • 语言免费网站建设wordpress集成微信收款
  • 网站平台做推广方案设计创建网站模板
  • 罗浮视窗网站建设自学网站开发软件开发
  • 从本地服务入手做本地网站龙岩建设局招聘网站
  • 国外优秀设计网站wordpress 调试插件下载
  • 十堰seo推广seo专家是什么意思
  • 湖南中耀建设集团有限公司网站wordpress 插件 权限
  • 装修设计网站哪个平台最好国外云服务器厂商
  • PHP网站开发方向本地开发app的公司在哪里
  • 长沙优化网站厂家沧州市网站制作公司