فهرست آموزش برنامه نویسی اندروید

Login به صفحه اندروید

۱۳۹۸/۰۹/۰۲ ۳۶

یک اپلیکیشن Login برای صحت بخشیدن به اطلاعات شما برای ورود به برخی از اپلیکیشن های خاص است.همه ی ما صفحه Login  را در هنگام ورود به فیس بوک و تویتر و غیره دیده ایم .

این مقاله در مورد چگونگی ساخت Login به صفحه اندروید و مدیریت امنیت اپلیکیشن ، زمانی که دیگران برای ورود به محیط شخصی شما تلاش می کنند ، توضیح می دهد.ابتدا شما باید دو TextView را برای نام کاربری و رمز ورود برای کاربر تعریف کنید. رمز ورود TextView باید inputType ( تعیین نوع ورودی)  داشته باشد تا به عنوان رمز ورود استفاده شود. توضیحات لازم در زیر آمده است :

 

<EditText
   android:id = "@+id/editText2"
   android:layout_width = "wrap_content"
   android:layout_height = "wrap_content"
   android:inputType = "textPassword" />

<EditText
   android:id = "@+id/editText1"
   android:layout_width = "wrap_content"
   android:layout_height = "wrap_content"
/>

 

دکمه ای همراه با یک متن برای login  شدن ، تعریف کنید و آن را در قسمت ویژگی onClick قرار دهید. سپس function یا تابع آن را در ویژگی  onClick  در فایل جاوا تعریف کنید :

 

<Button
   android:id = "@+id/button1"
   android:layout_width = "wrap_content"
   android:layout_height = "wrap_content"
   android:onClick = "login"
   android:text = "@string/Login" 
/>

 

در فایل جاوا ، در متد onClick ، متن نام کاربری و رمز ورود در حال استفاده را ، با متد ()getText و ()toString بگیرید و آن را به تابع ()equals بفرستید .

 

EditText username = (EditText)findViewById(R.id.editText1);
EditText password = (EditText)findViewById(R.id.editText2);		

public void login(View view){
   if(username.getText().toString().equals("admin") && password.getText().toString().equals("admin")){
   
   //correcct password
   }else{
   //wrong password
}

 

آخرین کاری که باید انجام دهید این است که مکانیزم امنیتی تشکیل دهید که از مقاصد ناخواسته و غیر قابل پیش بینی اجتناب شود.
برای این منظور زمان آن را کاهش دهید و وقتی که زمان به ۰ رسید کلید login غیر فعال می شود.

 

int counter = 3;
counter--;

if(counter==0){
   //disble the button, close the application e.t.c
}

مثال

در این جا یک مثال برای Login به صفحه اندروید وجود دارد که اپلیکیشن پایه را می سازد که تنها یک بار فرصت ورود به آن وجود دارد.

برای آزمایش کردن این مثال شما می توانید آن را بر روی دستگاه واقعی و یا یک امولاتور اجرا کنید.

مرحله  توضیحات
۱ از  Android studio برای اجرای اپلیکیشن تحت پکیج com.example.Login Screen.myapplication استفاده کنید .
۲ اصلاح src/MainActivity.java file به منظور افزودن کد های لازم.
۳ اصلاح the res/layout/activity_main به منظور افزودن ترکیبات اکس ام ال به ترتیب
۴ اصلاحthe res/values/string.xml به منظور افزودن ترکیبات ردیفی لازم
۵ برنامه را اجرا کنید و یک وسیله اندرویدی اجرایی را انتخاب کنید سپس برنامه را در آن نصب کنید و نتیجه را باز بینی کنید

محتوای تغییر یافته ی فایل src/MainActivity.java :

 

package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;

import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity  {
   Button b1,b2;
   EditText ed1,ed2;

   TextView tx1;
   int counter = 3;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      b1 = (Button)findViewById(R.id.button);
      ed1 = (EditText)findViewById(R.id.editText);
      ed2 = (EditText)findViewById(R.id.editText2);

      b2 = (Button)findViewById(R.id.button2);
      tx1 = (TextView)findViewById(R.id.textView3);
      tx1.setVisibility(View.GONE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if(ed1.getText().toString().equals("admin") &&
               ed2.getText().toString().equals("admin")) {
                  Toast.makeText(getApplicationContext(),
                     "Redirecting...",Toast.LENGTH_SHORT).show();
               }else{
                  Toast.makeText(getApplicationContext(), "Wrong 
                     Credentials",Toast.LENGTH_SHORT).show();

                  tx1.setVisibility(View.VISIBLE);
                  tx1.setBackgroundColor(Color.RED);
                  counter--;
                  tx1.setText(Integer.toString(counter));

                  if (counter == 0) {
                     b1.setEnabled(false);
                  }
               }
         }
      });

      b2.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            finish();
         }
      });
   }
}

 

محتوای تغییر یافته ی res/layout/activity_main.xml :

 

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
   xmlns:tools = "http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height = "match_parent" android:paddingLeft= "@dimen/activity_horizontal_margin"
   android:paddingRight = "@dimen/activity_horizontal_margin"
   android:paddingTop = "@dimen/activity_vertical_margin"
   android:paddingBottom = "@dimen/activity_vertical_margin" tools:context = ".MainActivity">
   
   <TextView android:text = "Login" android:layout_width="wrap_content"
      android:layout_height = "wrap_content"
      android:id = "@+id/textview"
      android:textSize = "35dp"
      android:layout_alignParentTop = "true"
      android:layout_centerHorizontal = "true" />
      
   <TextView
      android:layout_width = "wrap_content"
      android:layout_height = "wrap_content"
      android:text = "Tutorials point"
      android:id = "@+id/textView"
      android:layout_below = "@+id/textview"
      android:layout_centerHorizontal = "true"
      android:textColor = "#ff7aff24"
      android:textSize = "35dp" />
      
   <EditText
      android:layout_width = "wrap_content"
      android:layout_height = "wrap_content"
      android:id = "@+id/editText"
      android:hint = "Enter Name"
      android:focusable = "true"
      android:textColorHighlight = "#ff7eff15"
      android:textColorHint = "#ffff25e6"
      android:layout_marginTop = "46dp"
      android:layout_below = "@+id/imageView"
      android:layout_alignParentLeft = "true"
      android:layout_alignParentStart = "true"
      android:layout_alignParentRight = "true"
      android:layout_alignParentEnd = "true" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:inputType="textPassword"
      android:ems="10"
      android:id="@+id/editText2"
      android:layout_below="@+id/editText"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_alignRight="@+id/editText"
      android:layout_alignEnd="@+id/editText"
      android:textColorHint="#ffff299f"
      android:hint="Password" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Attempts Left:"
      android:id="@+id/textView2"
      android:layout_below="@+id/editText2"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:textSize="25dp" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="New Text"
      android:id="@+id/textView3"
      android:layout_alignTop="@+id/textView2"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:layout_alignBottom="@+id/textView2"
      android:layout_toEndOf="@+id/textview"
      android:textSize="25dp"
      android:layout_toRightOf="@+id/textview" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="login"
      android:id="@+id/button"
      android:layout_alignParentBottom="true"
      android:layout_toLeftOf="@+id/textview"
      android:layout_toStartOf="@+id/textview" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Cancel"
      android:id="@+id/button2"
      android:layout_alignParentBottom="true"
      android:layout_toRightOf="@+id/textview"
      android:layout_toEndOf="@+id/textview" />

</RelativeLayout>

 

محتوای res/values/string.xml :

 

<resources>
   <string name="app_name">My Application</string>
</resources>

 

محتوای فایل AndroidManifest.xml :

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

 

می خواهیم اپلیکیشن لاگین را اجرا کنیم . فرض می کنیم که شما AVD  تان را ساخته اید. در هنگام نصب برای اجرای اپلیکیشن از طریق اندروید استودیو یکی از فایل های اکتیویتی پروژتان را باز کنید و از نوار ابزار بر روی RunEclipse Run Icon کلید کنید. اکلیپس برنامه را رویAVD  شما نصب می کند و آماده به کار می شود. اگر همه چیز در نصب و اپلیکیشن شما درست پیش رفت ، پنجره زیر نمایش داده خواهد شد :

Android Login Application Tutorial

هر چیزی که مایلید در قسمت نام کاربری و رمز عبور وارد کنید سپس کلید لاگین را فشار دهید. که آن ها اشتباه می باشند. به عنوان مثال ادمین را در قسمت نام کاربر و نیمدا را در قسمت رمز عبور وارد کردم.

Android Login Application Tutorial

اگر این کار را بار دیگر انجام دهید خواهید دید که به علت اشتباه بودن نام کاربری و رمز عبور کلید لاگین غیر فعال خواهد شد.

سپس برنامه را دوباره باز کرده و این بار نام کاربری و رمز عبور درست را که admin و password می باشد در فیلدهای text مربوطه وارد کنید:

Android Login Application Tutorial

و اگر دکمه ی cancel را فشار دهید از اپلیکیشن خارج می شوید.

 

دانشجویار نماد اعتماد به دانشجویار مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت logo-samandehi مجوز سازمان فنی حرفه ای کشور
blackFriday

پیش از شروع جشنواره بلک فرایدی
خودت رو برای یک خرید برق آسا آماده کن!


بلک فرایدی!

برای شرکت در جشنواره بلک فرایدی لطفا ثبت نام کنید.

  از الان برای بلک فرایدی آماده شو - رزرو تخفیف 90% ، برای همه آموزش ها  صفحه جشنواره