我正在构建一个Android应用,用户需要在其中选择一个昵称。现在,两个用户不能有相同的昵称。我在.net上看到过表单,我们可以验证特定用户名的可用性,同时用户使用Ajax调用键入或按下标签。Android - 用户名可用性的Ajax风格自动检查
我的问题是 - 是什么类似的Android可用。我可以即时查询我的服务器并验证昵称的可用性吗?
非常感谢您的回复。如果有任何教程,示例或Android文档参考,我需要看看,请指导我。
我正在构建一个Android应用,用户需要在其中选择一个昵称。现在,两个用户不能有相同的昵称。我在.net上看到过表单,我们可以验证特定用户名的可用性,同时用户使用Ajax调用键入或按下标签。Android - 用户名可用性的Ajax风格自动检查
我的问题是 - 是什么类似的Android可用。我可以即时查询我的服务器并验证昵称的可用性吗?
非常感谢您的回复。如果有任何教程,示例或Android文档参考,我需要看看,请指导我。
你能查询与指定的输入组件(EditText
等),每个按键事件当前输入的用户名用户的服务器的数据库,但可能是相当大量网络资源,催生了大量的线程来处理:
TextWatcher
您输入EditText
或任何用户正在输入他的名字进入onTextChanged
方法,你会生成一个线程来联系你的数据库沿CharSequence
值发送。来自服务器的响应会输出一些JSON,可能带有一个布尔属性,它表示用户名是否可用或...
或...
,当你的应用程序启动(他们必须选择一个名字吧)之前,请联系您的服务器的数据库,并发送该应用程序是一个响应,其中包含已经拍摄的名称列表。
这样,您可以轻松地检查名称是否在电话本地进行,而不是发送请求进行检查。
仍然必须总是正确的保存它在服务器端之前检查绰号的可用性
编辑: 我实现了#2,这似乎是这就是大多数应用程序做注册一个独特的名称(即我见过)
问题#1 - 用户在1个字母输入(网线开始) - 用户enteres另一封信(另一个线程启动) - 用户进入第三个字母(另一个线程) - 线程2首先完成,名称有效,用户被通知 - 线程1个饰面,名称是无效的,则通知用户 - 线3个饰面,名称是无效的,则通知用户
螺纹2花4秒 线程1花5秒 线3把5秒
说用户一直输入25个字母,有很多你必须跟踪的名称是否有效,如果和什么线程仍在运行等方面等
这种方法似乎有点太乏味乏味这么简单的注册任务,太麻烦了
问题#3 - 需要1个额外的网络请求
我喜欢这种方法,因为你可以轻松快速地通知用户,如果他们的名字可没有任何线程的服务器(取决于你的用户列表是如何变大)或担心它会花多长时间检查
2号简单,易行,并且可以有只需要1台服务器的请求
非常感谢你的答案的机会。你几乎列出了我所有的选择。你对第一个是对的。这是一个非常网络密集的网站。但出于第二和第三,哪一个更好。你有没有实现过这种功能。如果是,请您详细说明性能问题。再次感谢。 – SaKet 2010-12-20 22:20:42