以下是一个用 Android 实现久坐提醒的完整代码示例,包括布局文件和 Java 文件。

布局文件 (activity_main.xml):

<?xml version='1.0' encoding='utf-8'?>
<RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android'
    xmlns:tools='http://schemas.android.com/tools'
    android:layout_width='match_parent'
    android:layout_height='match_parent'
    android:paddingLeft='16dp'
    android:paddingTop='16dp'
    android:paddingRight='16dp'
    android:paddingBottom='16dp'
    tools:context='.MainActivity'>

    <Button
        android:id='@+id/startButton'
        android:layout_width='wrap_content'
        android:layout_height='wrap_content'
        android:layout_centerInParent='true'
        android:text='Start Reminder' />

</RelativeLayout>

Java 文件 (MainActivity.java):

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private Button startButton;
    private Handler handler;
    private Runnable runnable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startButton = findViewById(R.id.startButton);

        startButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showDialog();
                startTimer();
            }
        });
    }

    private void showDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle('Reminder')
                .setMessage('You have been sitting for a long time. Take a break and stretch!')
                .setPositiveButton('OK', new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        dialog.dismiss();
                    }
                });
        Dialog dialog = builder.create();
        dialog.show();
    }

    private void startTimer() {
        handler = new Handler();
        runnable = new Runnable() {
            public void run() {
                showDialog();
                startTimer();
            }
        };
        handler.postDelayed(runnable, 600000); // Show reminder every 10 minutes (600,000 milliseconds)
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (handler != null && runnable != null) {
            handler.removeCallbacks(runnable);
        }
    }
}

运行步骤:

  1. 在 Android 项目中创建一个名为 "MainActivity" 的 Activity。
  2. 将布局文件保存为 "activity_main.xml"。
  3. 将上述 Java 代码复制到 MainActivity.java 文件中。
  4. 将布局文件复制到 res/layout 文件夹中。

代码解释:

  • 布局文件: 包含一个按钮,用户点击该按钮开始久坐提醒。
  • Java 代码:
    • showDialog(): 创建并显示一个提醒对话框。
    • startTimer(): 设置一个定时器,每 10 分钟触发一次提醒。
    • onDestroy(): 在 Activity 销毁时取消定时器,避免内存泄漏。

注意:

  • 此代码仅提供了一个简单的久坐提醒示例,您需要根据自己的需求进行修改和扩展。
  • 建议您在实际开发中根据需要调整提醒时间和提醒内容。
  • 您可以添加更多功能,例如:
    • 使用系统通知栏显示提醒。
    • 记录用户的活动时间和提醒次数。
    • 使用传感器检测用户的活动状态。

希望本文能够帮助您实现自己的 Android 久坐提醒功能。

Android 久坐提醒实现:代码示例及详细解析

原文地址: https://www.cveoy.top/t/topic/Qrw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录