当前位置:首页 > CN2资讯 > 正文内容

Android常用的服务器 android手机 服务器

2天前CN2资讯


首先我不知道这篇文章发到Android开发板块是否适合的,因为只部分内容大多数是有关Google appEngine的,但因为这是AppEngine和Android的配合开发,故对Android开发者也有一定的参考意义,故发到这里来了。

其次,在写文章前先谢谢UCWeb Android的产品经理huang,谢谢他的赏识,虽然最后因为一些个人原因我没留在UC,但从笔试和面试的过程中,我发觉UC真是一家严谨、惜才的公司,搞Android的朋友如果有兴趣,可以考虑应聘一下UC的社招。


OK,进入正题!

在做游戏开发的时候,很多游戏都会提供一个全球分数排名的的功能,这就需要使用服务器了,当然,你可以选择搭建自己的服务器,但从成本,稳定性和开发周期上看,我认为Google AppEngine是个很不错的选择,现在Google AppEngine关于Python的参考资料比较详尽,Java的就比较少,所以我把我写的小Demo放上来,做抛砖引玉之用,因为我也是初学者,所以demo一切从简,大侠请不要见笑哦!

 

Demo1:对象的存储:

 

步骤1.定义JavaBean:

 


1. package 2. 3. import 4. import 5. import 6. import 7. import 8. import 9. 10. //标记对象可以持久化 11. @PersistenceCapable(identityType = IdentityType.APPLICATION) 12. public class 13. 14. //标记主键,作以后查询之用 15. @PrimaryKey 16. @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 17. private 18. 19. @Persistent 20. private 21. 22. @Persistent 23. private 24. 25. public 26. this.firstName = firstName; 27. this.lastName = lastName; 28. this.birthDate = birthDate; 29. } 30. 31. public 32. return 33. } 34. }


 

 步骤2.存取Bean(可以写在Servlet的doGet()或者doPost()里面):

 



1. package 2. 3. import 4. import 5. import 6. import 7. import 8. import 9. import 10. 11. @SuppressWarnings("serial") 12. public class HelloServlet extends 13. public void 14. throws 15. 16. "text/plain"); 17. 18. new Employee("Alfred", "Smith", new 19. //获取用以存取对象的PersistenceManager 20. PersistenceManager pm = PMF.get().getPersistenceManager(); 21. 22. try 23. //存储对象 24. "saving object!"); 25. pm.makePersistent(e); 26. catch(Exception ex){ 27. "cannot persistent!"); 28. ex.printStackTrace(); 29. } 30. finally 31. pm.close(); 32. } 33. 34. try{ 35. //再次获取用以存取对象的PersistenceManager 36. pm = PMF.get().getPersistenceManager(); 37. //由主键检索对象,Alfred之前被定义为主键的 38. class, "Alfred"); 39. //读取新对象的信息检测对象检索是否成功 40. "Employee:"+newE.getFirstName()); 41. catch(Exception ex){ 42. ex.printStackTrace(); 43. "cannot get data!"); 44. pm.close(); 45. } 46. } 47. 48. @Override 49. protected void 50. throws 51. this.doGet(req, resp); 52. } 53. }


 

 其中PMF类的代码如下,没看错应该是个单例模式:

 



1. package 2. 3. import 4. import 5. 6. public final class 7. private static final 8. "transactions-optional"); 9. 10. private 11. 12. public static 13. return 14. } 15. }


 

 Demo2.使用Google 账户认证服务:

 




1. package 2. 3. import 4. 5. import 6. import 7. import 8. import 9. 10. import 11. import 12. 13. public class GoogleAccount extends 14. 15. @Override 16. protected void 17. throws 18. //创建用户服务 19. UserService userService = UserServiceFactory.getUserService(); 20. 21. String thisURL = req.getRequestURI(); 22. //通过请求对象的 getUserPrincipal() 方法测试用户是否使用 Google 帐户登录 23. if (req.getUserPrincipal() != null) { 24. //如果有登录,则创建Login地址 25. "<p>Hello, " 26. req.getUserPrincipal().getName() + 27. "! You can <a href=\"" 28. userService.createLogoutURL(thisURL) + 29. "\">sign out</a>.</p>"); 30. else 31. //如果没有登录,则创建Login地址 32. "<p>Please <a href=\"" 33. userService.createLoginURL(thisURL) + 34. "\">sign in</a>.</p>"); 35. } 36. } 37. 38. @Override 39. protected void 40. throws 41. doGet(req, resp); 42. } 43. }



 

 手机访问登录效果:

 

需要特别指出的是,Google通过在web.xml里面配置权限来区分登录者的权限,可以用下面的代码来配置安全常量从而划定只能由admin访问的区域---admin路径下的所有页面:

 




1. <security-constraint> 2. <web-resource-collection> 3. <url-pattern>/admin/*</url-pattern> 4. </web-resource-collection> 5. <auth-constraint> 6. <role-name>admin</role-name> 7. </auth-constraint> 8. </security-constraint>



 参考资料:

http:///intl/zh-CN/appengine/docs/java/overview.html




    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/23708.html

    分享给朋友:

    “Android常用的服务器 android手机 服务器” 的相关文章

    如何选择高性能、美西VPS服务商: 比较、评测及优化建议

    美西VPS概述 美西VPS,简单来说,就是那些位于美国西部地区的虚拟专用服务器,像在洛杉矶这样的城市里。这些服务器给用户提供了一种灵活而高效的托管解决方案,特别是对于需要快速访问和低延迟连接的用户群体。美西VPS的设计理念是为用户提供高性能和高可靠性的服务,同时确保在数据传输时的安全性。 美西VPS...

    腾讯云轻量云:简单易用的云服务器解决方案

    当我回顾腾讯云轻量应用服务器(简称轻量云)时,我觉得它真的是一款设计出色的产品。作为腾讯云推出的一项云服务,轻量云专注于轻量应用场景,强调的是“开箱即用”和“简单易用”。无论是初学者还是开发者,都能轻松上手,快速构建所需的网站或应用。 轻量云的规格多样,具有多种CPU和内存的组合选项,如2核2GB和...

    国外离线下载服务比较:如何选择最适合你的工具

    在信息时代,国外离线下载服务成为了许多用户的得力助手。这种服务的主要功能,是让用户在没有网络连接的情况下,也能提前将所需的数据或文件下载到本地或云端存储中。这种方法特别适合那些经常出行或在网络不佳的环境中工作的用户。通过离线下载,用户可以在网络恢复后更快、更方便地访问所需内容。 离线下载的应用非常广...

    IP检测服务:简化网络体验与保护用户隐私

    IP检测服务是当今网络环境中不可或缺的一部分。简单来说,它帮助用户或开发者迅速获取他们的设备公网IP地址,同时提供各种网络信息。这项服务以其高效、便捷和免费的特点,吸引了众多用户和企业进行使用。 想获取公网IP地址往往需要复杂的步骤,而IP检测服务的出现使这个过程变得轻松。它支持多种返回格式,包括纯...

    如何有效购买和使用代理IP服务,满足多种需求 - IP够卖指南

    在我们开始讨论“IP够卖”的购买与应用流程之前,理解购买渠道的多样性非常重要。很多人可能会问,究竟从哪里可以获取到合适的代理IP?实际上,有几种渠道可以选择,适合不同需求的用户。 首先,专业代理服务商无疑是最推荐的选择。这类服务商通常提供稳定且高质量的代理服务,能满足诸多使用场景,比如数据爬虫、电商...

    搬瓦工查看流量使用的最佳方法与管理策略

    在使用搬瓦工(BandwagonHost)这家VPS提供商时,了解流量的相关信息是非常重要的。搬瓦工的流量套餐设计十分灵活,满足了不同用户的需求。每个VPS方案都设有流量限制,比如每月500GB或1TB,这些限制会直接影响到我们如何使用这些资源。用户在选择方案时,应该充分考虑自己的日常使用习惯,以便...