在android应用程序中实现登录窗口

在android应用程序中实现登录窗口,android,login,android-activity,sharedpreferences,Android,Login,Android Activity,Sharedpreferences,我正在构建一个android应用程序,希望在开始时执行登录检查。 我正在启动一个主活动,并在那里检查用户是否登录(通过使用我的应用程序客户端密钥调用“GetSharedReferences”。如果为空,则我将启动活动(Login.class),从管理登录的登录活动中,保存在共享首选项中,然后调用启动活动(Main.class) 如果用户登录,使用android“registry”SharedReferences是否是管理用户的好方法 在两个活动中都使用startActivity是一种好的做法吗?

我正在构建一个android应用程序,希望在开始时执行登录检查。 我正在启动一个主活动,并在那里检查用户是否登录(通过使用我的应用程序客户端密钥调用“GetSharedReferences”。如果为空,则我将启动活动(Login.class),从管理登录的登录活动中,保存在共享首选项中,然后调用启动活动(Main.class)

  • 如果用户登录,使用android“registry”SharedReferences是否是管理用户的好方法
  • 在两个活动中都使用startActivity是一种好的做法吗?或者我应该返回到我的第一个主活动并再次启动登录检查(这次将通过),或者这是活动中“singleTop”标志的作用吗?secone start活动将调用我创建的第一个主活动,而不是创建新的主活动

  • 问题1.:只要它是一个密钥,并且您根据web服务或其他东西检查它,那么它就是安全的。如果它只是您设置的一个标志,比如“logged=1”,那么SharedReference的实现并没有考虑到数据安全性。因此,您可以使用SharedReference,但要确保存储在那里的内容是自己安全的


    问题2.:完成第一项后,您应该回到您的主要活动。您可以在此处充分利用startActivityForResult。然后,您的登录活动将使用activity.setResult方法发回登录结果。然后,您将使用onActivityResult c在第一项活动中检索该结果返回。

    问题1.:只要它是一个密钥,并且您根据web服务或其他内容检查它,那么它是安全的。如果它只是您设置的一个标志,如“logged=1”那么SharedReference的实现并没有考虑到数据的安全性。因此,您可以使用SharedReference,但要自己确保存储在那里的内容的安全


    问题2.:完成第一项后,您应该回到您的主要活动。您可以在此处充分利用startActivityForResult。然后,您的登录活动将使用activity.setResult方法发回登录结果。然后,您将使用onActivityResult c在第一项活动中检索该结果allback.

    谢谢你的回答1.我正在将从web服务收到的用户id设置为SharedReference,从现在起,我将不再调用web服务,因为我的应用程序私人首选项中有它,这就是你想要的吗?2.onActivityResult方法是否是一个通用方法,可以获取它创建的所有方法的响应?由于我计划根据需要从主活动(多于1种类型)开始活动,我猜onActivityResult的第一个参数是我发送给被调用活动的int,我必须用onActivityResult方法处理它(确保我处理了正确的请求代码)确切地说,您发送的请求代码将在onActivityResult回调中传递回您。如果您必须调用多个具有不同结果的活动,您只需通过检查onActivityResult中的请求代码来处理它们。感谢回答1。我正在将从web服务收到的用户id设置为SharedReference,并从n现在我不会再调用web服务了,因为我的应用程序私人首选项中有它,这是你想要的吗?2.onActivityResult方法是否是一种通用方法,它可以获取它创建的所有方法的响应?因为我计划根据需要从主方法开始活动(多于1种类型)我猜onActivityResult的第一个参数是我发送给被调用活动的int,我必须在onActivityResult方法中处理它(确保我处理正确的请求代码)确切地说,您发送了一个请求代码,该代码在onActivityResult回调中传递给您。如果您必须使用不同的结果调用多个活动,您只需通过检查onActivityResult中的请求代码来处理它们。