درس: عمل شاشة دخول سهلة لتطبيقك الخاص في نظام أندرويد

درس: عمل شاشة دخول سهلة لتطبيقك الخاص في نظام أندرويد

في بعض الطبيقات عند الدخول لها نجد شاشة تشبة بشاشة Login بشكل رائع مما يعطي جمالية للتطبيق فنكرر بستمرار بجانب ترتيب الاكواد وفكرة التطبيق تكون متميزة ايضاً التصميم يجب ان يكون مميز في برمجة التطبيقات وربما نرى امور بسيطة لكن تجعل من تطبيقنا رائع وجميل وطبعاً بنفس الوقت وصلت لي العديد من الرسائل حول كيفية عمل هذا الامر واعتذر عن تأخر الدرس بسبب ظروف صحية وعملية بنفس الوقت

[checklist]

  • بما تستخدم مثل هذة الواجهات .! 

[/checklist]

لها العديد من الاستخدامات حقيقتاً ولكن كثير من المبرمجين يستخدمها لتطبيقات المواقع الخاصة حيت ان بعض التطبيقات تتطلب استيراد للبيانات التي يتم اخدها من موقع معين فتأخد بعض الوقت ولكي يرى المستخدم ان التطبيق عبارة عن تطبيق تفاعلي مميز تستخدم بكثرة مثل هذة الاساليب فهي تجعل المستخدم يرى التفاعل والاحترافية في التطبيق كما اشرت سابقاً .

[divider]

[checklist]

  • متطلبات الدرس 

[/checklist]

  1. برنامج eclipse .
  2. حزمة [tooltip text=”SDK 2.2″ gravity=”nw”]يفضل استخدام هذا الاصدار لكي تتوافق مع هواتف اندرويد التي تعمل من اصدارات قديمة اقل من اصدار اسكريم ساندوتش [/tooltip] ( [highlight]يمكن استخدام اصدارات اعلى من هذة [/highlight]) .
  3. صورة او شعار .

[divider]

اولاً نقوم بإنشاء مشروع جديد File ⇒ New Android ⇒ Application Project وبعد ذلك نقوم بإنشاء ملف Java جديد حيت سوف نقوم بتسميتة SplashScreen.java حيت سوف يكون عملنا في البرمجة بهذا الملف بشكل اساسي الان نقوم بكتابة الكود التالي في هذا الملف

 

package net.androidar.LoginScreen;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import net.androidar.LoginScreen.R;

public class SplashScreen extends Activity {

// Splash screen timer
private static int SPLASH_TIME_OUT = 3000;

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

new Handler().postDelayed(new Runnable() {

/*
* Showing splash screen with a timer. This will be useful when you
* want to show case your app logo / company
*/

@Override
public void run() {
// This method will be executed once the timer is over
// Start your app main activity
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);

// close this activity
finish();
}
}, SPLASH_TIME_OUT);
}

}

بعد قيامنا بكتابة هذا الاكواد بالملف الـ Java ناتي الى شرح كود الانتقال الى واجة التطبيق الاساسية طبعاً الجميع سوف يسئل كيف يتم قياس الوقت لكي ينتقل التطبيق الى الصفحة الاساسية لو نلاحظ الكود التالي :-

private static int SPLASH_TIME_OUT = 3000;

هنا قمنا بوضع القيمة 300 والتي تعبر عن 3 تواني لو قمنا بتشغيل التطبيق الموجود في المرفق بالموضوع سوف نشاهد بعد 3 تواني انتقالنا الى الصفحة الاساسية (هنا نستطيع ان نغير القيمة كما نريد )

كود اخر مهم وهوا ماهي الواجها التي سوف ينطلق منها التطبيق الخاص بنا فهنا قمت بتحديد activity_splash عن طريق الكود التالي :-

 setContentView(R.layout.activity_splash);

الان حان موعد تصميم صفحة الدخول لتطبيقنا كما اشرت بالسابق من المتطلبات التي يجب علينا توفيرها الشعار الخاص بنا او اي صورة تريدها ان تكون في بداية انطلاق التطبيق والان نقوم بعمل ملف xml بنفس اسم كود اللي قمنا بكتابتة في صفحة Java والذي يحمل اسم  activity_splash طبعاً بملف layout كما الصورة التالية :-

الشكل النهائي بعد تصميم

الشكل النهائي بعد تصميم

والان تتبقى لنا خطوة واحدة وسوف يكون تطبيقنا جاهز للعمل وهي تحديد اي الواجهات التي سوف ينطلق عليها التطبيق وذلك عن طريق ملف AndroidManifest.xml حيت نقوم بكتابة الكود التالي :-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.androidar.LoginScreen"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<application
android:allowBackup="true"
android:icon="@drawable/logoandroidar"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:logo="@drawable/logoandroidar">
<!-- Splash screen -->
<activity
android:name="net.androidar.LoginScreen.SplashScreen"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<!-- Main activity -->
<activity
android:name="net.androidar.LoginScreen.MainActivity"
android:label="@string/app_name" >
</activity>
</application>

</manifest>

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *