كوتلين Kotlin : طريقة برمجة تطبيق خاص بالوصفات



تقديم:

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

 و بالنسبة للغة كوتلين فهي لغة سهلة و حديثة العهد و قد تم تصميمها للتعامل والتوافق الكامل مع الجافا وحزمة تطويرها JDK و هي تتيح كتابة الشيفرة البرمجية بعدد أقل من الأسطر وبشكل أسرع وأكثر فاعلية مقارنة بلغة الجافا حيث تعتبر شبيهة بلغة سويفت من أبل التي يتم بها تطوير تطبيقات الآيفون.

 و سيتم تقديم الدرس على شكل 6 أجزاء بمعنى، سيتم عرض 6 فيديوهات على الشكل التالي:

أجزاء الدرس:

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

تصميم التطبيق:

تطبيقنا سيضم ثلاث صفحات:

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

صفحة جميع الوصفات: و هي صفحة تحتوي على جميع وصفات التطبيق حيث يتم عرض صورة الوصفة، و عند الضغط عليها يتم الانتقال لصفحة الوصفة المنفردة.

صفحة الوصفة المنفردة: في هذه الصفحة يتم عرض صورة للوصفة المختارة و مقاديرها و أيضا طريقة تحضيرها.


برمجة التطبيق:

+ كود الانتقال من صفحة لصفحة أخرى:

startActivity(Intent(baseContext, class_name::class.java))
  

+ كود الانقال إلى Activity معينة مع إرسال متغير معين: 


val intent = Intent(this, classe_name::class.java)
intent.putExtra("element_name",element_value )
startActivity(intent)



+ كود استقبال متغير عددي من Activity معينة: 


element_name = getIntent().getIntExtra("element_name", 0)



+ كود فتح موقع ما:

startActivity(Intent(Intent.ACTION_VIEW,
Uri.parse("URL")))

+كود تغيير نوع خط معين:

val typeface = Typeface.createFromAsset(
  assets, "font.ttf")
  textView.typeface=typeface
  

+كود الحصول على عدد الملفات في مجلد معين في الأسيت:

Int_name= assets.list("folder_name").size

+ كود إنشاء ImageView جديدة و ضبط أبعادها و هوامشها:

val ImageView_name = ImageView (this)
val layoutparams = LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
layoutparams.setMargins(left, top, right, bottom)
ImageView_name.layoutParams=layoutparams


+كود إضافة عنصر معين إلى LinearLayout:


LinearLayout.addView(View)

+كود إعطاء Tag لعنصر معين:


View.tag = Tag
  

+كود تكوين Id معين انطلاقا من String:

resources.getIdentifier("id_name", "id_type", packageName)
  

+كود تغيير الصورة داخل ImageView معينة:
 

من أجيل تسهيل و ضع الصور ة تجنب المشاكل التي تحدث عند استعمال الكثير من الصور مثل مشكل OutOfMemoryError Exception تم الاعتماد على مكتبة خارجية تسمى Picasso و التي يمكن الاطلاع على كيفية إضافتها و أيضا على أكوادها من هذا الرابط:




+ أكواد البانر:


val mAdView = findViewById(R.id.adView) as AdView
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)

+أكواد الإنترستيشل:


internal lateinit var mInterstitialAd: InterstitialAd
  mInterstitialAd = InterstitialAd(this)
  mInterstitialAd.adUnitId=ca-app-pub-3940256099942544/1033173712
  mInterstitialAd.adListener=object:AdListener() {
  override fun onAdClosed() {
   requestNewInterstitial()}}
  requestNewInterstitial()
  if (mInterstitialAd.isLoaded) {
  mInterstitialAd.show()}
  private fun requestNewInterstitial() {
  val adRequest = AdRequest.Builder().build()
  mInterstitialAd.loadAd(adRequest)}
  

+ كود xml لإضافة البانر:


<com.google.android.gms.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            ads:adSize="BANNER"
            ads:adUnitId="ca-app-pub-3940256099942544/6300978111" />

+ كود وضع مسافة بين السطور:


<TextView android:lineSpacingExtra="10dp" />
  

+ كود إضافة تصريحات الولوج للأنترنت:


<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>


والسلام عليكم ورحمة الله تعالى و بركاته.

Aucun commentaire:

Enregistrer un commentaire