统一时间戳数据生成方法

This commit is contained in:
ZhanGSKen 2025-05-07 11:58:48 +08:00
parent a5295a0744
commit d3da3304ee
4 changed files with 67 additions and 28 deletions

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Wed May 07 10:56:24 HKT 2025
#Wed May 07 03:56:48 GMT 2025
stageCount=10
libraryProject=
baseVersion=15.0
publishVersion=15.0.9
buildCount=0
buildCount=6
baseBetaVersion=15.0.10

View File

@ -26,10 +26,7 @@ import cc.winboll.studio.timestamp.receivers.ButtonClickReceiver;
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
import cc.winboll.studio.timestamp.utils.NotificationHelper;
import cc.winboll.studio.timestamp.utils.ServiceUtil;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import cc.winboll.studio.timestamp.utils.TimeStampUtil;
public class MainService extends Service {
@ -211,15 +208,10 @@ public class MainService extends Service {
switch (message.what) {
case MSG_UPDATE_TIMESTAMP:
{
long currentMillis = System.currentTimeMillis();
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(MainService.this).getAppConfigsModel().getTimeStampFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
mNotificationHelper.sendForegroundNotification(MainService.this, "时间戳:\n" + formattedDateTime + "\n已拷贝到剪贴板。");
String szTimeStampShowString = TimeStampUtil.getInstance(MainService.this).getTimeStampShowString();
mNotificationHelper.sendForegroundNotification(MainService.this, "时间戳:\n" + szTimeStampShowString + "\n已拷贝到剪贴板。");
LogUtils.d(TAG, "Hello, World! " + formattedDateTime);
LogUtils.d(TAG, "Hello, World! " + szTimeStampShowString);
break;
}
default:

View File

@ -11,12 +11,8 @@ import android.content.Intent;
import android.widget.Toast;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.timestamp.MainService;
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
import cc.winboll.studio.timestamp.utils.ClipboardUtil;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import cc.winboll.studio.timestamp.utils.TimeStampUtil;
public class ButtonClickReceiver extends BroadcastReceiver {
@ -29,17 +25,11 @@ public class ButtonClickReceiver extends BroadcastReceiver {
LogUtils.d(TAG, "onReceive");
if (intent.getAction().equals(BUTTON_COPYTIMESTAMP_ACTION)) {
// 在这里编写按钮点击后要执行的代码
long currentMillis = System.currentTimeMillis();
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(context).getAppConfigsModel().getTimeStampCopyFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
ClipboardUtil.copyTextToClipboard(context, formattedDateTime);
TimeStampUtil.getInstance(context).genTimeStamp();
ClipboardUtil.copyTextToClipboard(context, TimeStampUtil.getInstance(context).getTimeStampCopyString());
// 比如显示一个Toast
Toast.makeText(context, "时间戳:\n" + formattedDateTime + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show();
Toast.makeText(context, "时间戳:\n" + TimeStampUtil.getInstance(context).getTimeStampCopyString() + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show();
MainService.updateCopiedTimeStamp();
}
}

View File

@ -0,0 +1,57 @@
package cc.winboll.studio.timestamp.utils;
/**
* @Author ZhanGSKen
* @Date 2025/05/07 11:03
* @Describe TimeStampUtil
*/
import android.content.Context;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class TimeStampUtil {
public static final String TAG = "TimeStampUtil";
volatile static TimeStampUtil _TimeStampUtil;
Context mContext;
long mTimeStamp;
TimeStampUtil(Context context) {
mContext = context;
}
public synchronized static TimeStampUtil getInstance(Context context) {
if (_TimeStampUtil == null) {
_TimeStampUtil = new TimeStampUtil(context);
}
return _TimeStampUtil;
}
public void genTimeStamp() {
mTimeStamp = System.currentTimeMillis();
}
public String getTimeStampShowString() {
long currentMillis = mTimeStamp;
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(mContext).getAppConfigsModel().getTimeStampCopyFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
return formattedDateTime;
}
public String getTimeStampCopyString() {
long currentMillis = mTimeStamp;
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(mContext).getAppConfigsModel().getTimeStampCopyFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
return formattedDateTime;
}
}