如何在Android应用程序中进行授权?

时间:2017-04-24 14:23:38

标签: android android-activity

我正在制作Android应用。我想以“登录和密码”窗口的形式制作授权系统。我有一个想法,将edittext值写入字符串,然后将此字符串发送到服务器。当服务器接受此数据时,它应发回数据有效性的确认,并应打开下一个活动。 怎么做?

我的活动代码是:

package com.bk.cryptit;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.ImageView;
import android.support.v7.widget.AppCompatRadioButton;
import android.widget.*;

public class LoginActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_login);

        final EditText login = (EditText) findViewById(R.id.editText3);
        final EditText haslo = (EditText) findViewById(R.id.editText4);
        Button button_zaloguj = (Button) findViewById(R.id.button5);
        String login_content = login.getText().toString();
        String haslo_content = haslo.getText().toString();
        int login_content_length = login_content.length();
        int haslo_content_length = haslo_content.length();
        boolean button_status = false;
        button_zaloguj.setEnabled(button_status);

        if (login_content_length==0 || haslo_content_length==0) {

        } else if (login_content_length>0 || haslo_content_length==0) {

        } else if (login_content_length==0 || haslo_content_length>0) {

        } else if (login_content_length>0 || haslo_content_length>0) {
            button_status = !button_status;
        }

        button_zaloguj.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent nextauthorizationinformation = new Intent(LoginActivity.this, NextAuthorizationInformationActivity.class);
                startActivity(nextauthorizationinformation);
            }
        });
    }
}

2 个答案:

答案 0 :(得分:0)

首先,应用应用程序端验证。如果你有电子邮件和密码字段,请确保使用TextUtils.isEmpty检查空字符串,检查电子邮件地址验证。现在,当涉及到密码字段时,再次检查空字符串。然后,确保将输入类型作为密码,从xml本身应用此属性。完成所有这些验证后,请致电您的Web服务。 例如,如果您使用改造库进行Web服务实现,则它具有Success回调方法,因此在此方法中调用您的下一个活动。 如果遇到故障方法,请显示一些错误吐司。

答案 1 :(得分:0)

考虑使用Firebase。

Firebase提供了许多免费服务,其中之一就是 Firebase Auth ,这显然是您的需要。

Firebase Auth 是一种只使用客户端代码对用户进行身份验证的服务。它支持社交登录提供商Facebook,GitHub,Twitter和Google。此外,它还包括一个用户管理系统,开发人员可以通过Firebase存储的电子邮件和密码登录来启用用户身份验证。它也很安全,您不必担心安全问题。

Firebase Auth的文档 - https://firebase.google.com/docs/auth/android/start/

Udacity也为Firebase提供免费课程。