Java 如何在android应用程序中从服务器获取当前日期和时间?
我正在开发一个用于学习的android应用程序。我需要获取从服务器到android应用程序的当前日期和时间,并设置限制,以便该应用程序只能在指定的日期和时间内访问(例如,周一到周三,特定时区的上午10:30到下午3点)。我不想使用设备日期和时间,因为它可以更改,应用程序也可以访问 我签出了Java 如何在android应用程序中从服务器获取当前日期和时间?,java,android,date,datetime,time,Java,Android,Date,Datetime,Time,我正在开发一个用于学习的android应用程序。我需要获取从服务器到android应用程序的当前日期和时间,并设置限制,以便该应用程序只能在指定的日期和时间内访问(例如,周一到周三,特定时区的上午10:30到下午3点)。我不想使用设备日期和时间,因为它可以更改,应用程序也可以访问 我签出了SntpClientcode并在我的应用程序中实现了它,但没有成功。 在服务器上编写一个简单的端点,它只返回一个表示毫秒的长值 编写一个简单的http客户端,从android客户端向该端点发出请求,或者通过该请
SntpClient
code并在我的应用程序中实现了它,但没有成功。- 在服务器上编写一个简单的端点,它只返回一个表示毫秒的长值
- 编写一个简单的http客户端,从android客户端向该端点发出请求,或者通过该请求传递一些令牌,以了解设备/客户端/用户正在访问什么,或者在此处添加安全通信
- 在android客户端中将
解析为String
和Long
解析为Long
Date
$my_date=date(“Y-m-d H:i:s”)代码>
对于当前日期,此输出将在android应用程序中解析,以帮助您开始
在运行Servlet容器(如ApacheTomcat或EclipseJetty)的web服务器上创建。servlet只返回一个字符串,其中包含UTC时区的标准ISO 8601格式的日期时间(无时区偏移),而不是完整的网页。添加库以避免使用臭名昭著的错误java.util.Date/Calendar
servlet的核心
String now = new DateTime( DateTimeZone.UTC ).toString();
使用Android端的HTTP客户端库调用servlet
客户端代码的核心
DateTime start = new DateTime( 2013, 12, 13, 14, 15, 16, DateTimeZone.UTC );
DateTime stop = start.plusHours( 8 );
DateTime now = new DateTime( stringReturnedByServlet, DateTimeZone.UTC );
if ( now.isAfter(start) & now.isBefore(stop) ) {
// Do your thing
} else {
// Refuse to do your thing
}
请参阅此链接,它可能会帮助您:)