我正在开发一款用于学习目的的Android应用程序。我需要从我的服务器到我的Android应用程序获取当前日期和时间并设置限制,以便只能在指定的日期和时间(例如,周一至周三,从上午10:30到下午3点)访问应用程序特定时区)。我不想使用设备日期和时间,因为它可以更改,并且可以访问应用程序。
我检查了SntpClient
代码并在我的应用中实现了它但没有成功。
答案 0 :(得分:3)
在您的服务器上写一个简单的端点,它只返回一个代表毫秒的长值
编写一个简单的http客户端,从android客户端向该端点发出请求,或者通过该请求传递一些令牌,以了解哪些设备/客户端/用户正在访问,或者在此处添加安全通信
< / LI>在Android客户端中解析String
到Long
和Long
到Date
答案 1 :(得分:0)
使用$my_date = date("Y-m-d H:i:s");
当前日期,此输出在Android应用程序中解析
答案 2 :(得分:0)
帮助您入门......
在运行Servlet容器的Web服务器上创建Java Servlet,例如Apache Tomcat或Eclipse Jetty。 servlet仅返回一个字符串,其中包含标准ISO 8601格式的日期时间(UTC时区)(无时区偏移)。添加Joda-Time库以避免使用臭名昭着的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
}