الأصدقاء الذين اشتروا هذا الكتاب ويريدون رؤية رمز المثال لا يريدون وضع القرص المضغوط في محرك الأقراص المضغوطة لقراءته. يعد "Crazy Android Lecture Notes" للمعلم Li Gang كتابًا عمليًا يقدم تطوير تطبيقات Android ويقدم بشكل شامل جميع جوانب تطوير التطبيقات على نظام Android 2.3. إذا لم تكن على دراية بتثبيت JDK وبناء جملة Java الأساسي، فهذا الكتاب غير مناسب لك. يستخدم هذا الكتاب فصلًا واحدًا فقط لتقديم كيفية إنشاء بيئة تطوير Android وبنية تطبيقات Android، كما يشرح بإيجاز تاريخ تطوير Android. هذا الكتاب هو مجرد كتاب يقدم التطوير الفعلي لنظام Android، وهو ليس كتابًا عن ما يسمى بـ "الأفكار". لا تتوقع أن تؤدي دراسة هذا الكتاب إلى تحسين ما يسمى بـ "أفكار Android"، كما يأمل القراء لتحسين أفكارهم البرمجية ينصح بعدم قراءته. جدول المحتويات: الفصل الأول تطبيقات Android وبيئة التطوير 1.1 تطوير وتاريخ Android 1.1.1 تطوير ومقدمة Android 1.1.2 بنية وميزات نظام Android الأساسي 1.2 بناء بيئة تطوير Android 1.2.1 تنزيل وتثبيت Android SDK 1.2.2 تثبيت المكونات الإضافية Ecli PSe وADT 1.3 استخدام أدوات تطوير Android الشائعة 1.3.1 إنشاء AVD وحذفها وتصفحها 1.3.2 استخدام محاكي Android (المحاكي) 1.3.3 استخدام DDMS لتصحيح الأخطاء 1.3.4 استخدام Android Debug Bridge (ADB) 1.3.5 استخدم DX لتجميع تطبيقات Android 1.3.6 استخدم أداة تغليف أصول Android (AAPT) لحزم الموارد 1.3.7 استخدم mksdcard لإدارة بطاقات SD الافتراضية 1.4 ابدأ أول تطبيق Android 1.4.1 استخدم Eclipse لتطوير أول تطبيق Android 1.4.2 تمرير ADT لتشغيل تطبيقات Android 1.5 تحليل بنية تطبيق Android 1.5.1 إنشاء تطبيق Android 1.5.2 وصف دليل R.java 1.5.3 الذي تم إنشاؤه تلقائيًا 1.5.4 ملف بيان تطبيق Android: AndroidManifest.xml 1.5.5 إذن التطبيق الوصف 1.6 مقدمة إلى المكونات الأساسية لتطبيقات Android 1.6.1 النشاط والعرض 1.6.2 الخدمة 1.6.3 BroadcastReceiver 1.6.4 ContentProvider 1.6.5 Intent and IntentFilter 1.7 ملخص هذا الفصل الفصل 2 برمجة الواجهة لتطبيقات Android 2.1 برمجة الواجهة و عرض (عرض) المكونات 2.1.1 عرض المكونات ومكونات الحاوية 2.1.2 استخدم ملفات تخطيط XML للتحكم في واجهة المستخدم 2.1.3 التحكم في واجهة المستخدم في الكود 2.1.4 استخدم مزيجًا من ملفات تخطيط XML وكود Java للتحكم في واجهة واجهة المستخدم 2.1.5 تطوير عرض مخصص 2.2 مدير التخطيط 2.2.1 التخطيط الخطي 2.2.2 تخطيط الجدول 2.2.3 تخطيط الإطار 2.2.4 التخطيط النسبي 2.2.5 التخطيط المطلق 2.3 مكونات الواجهة الأساسية 2.3.1 وظيفة مربع النص واستخدامه ( TextView) ومربع التحرير (EditText) 2.3.2 وظائف واستخدام مكونات Button وImageButton 2.3.3 استخدام صور 9Patch كخلفيات للأزرار 2.3.4 مقدمة وتطبيق أزرار الراديو ومربعات الاختيار 2.3.5 وظيفة الحالة واستخدام زر التبديل (ToggleButton) ) 2.3.6 وظيفة واستخدام الساعة (AnalogClock وDigitalClock) 2.3.7 وظيفة واستخدام عرض الصورة (ImageView) 2.4 مكونات الواجهة المتقدمة 2.4.1 الإكمال التلقائي لمربع النص (AutoCompleteTextView) الوظيفة والاستخدام 2.4.2 الوظيفة والاستخدام of Spinner 2.4.3 وظيفة واستخدام منتقي التاريخ والوقت (DatePicker وTimePicker) 2.4.4 وظيفة واستخدام شريط التقدم (ProgressBar) 2.4.5 وظيفة شريط السحب (SeekBar) واستخدامه 2.4.6 وظيفة واستخدام تصنيف النجوم الشريط (RatingBar) 2.4.7 وظيفة واستخدام علامة التبويب (TabHost) 2.4.8 وظيفة واستخدام عرض التمرير (ScrollView) 2.4.9 عرض القائمة (ListView وListActivity) 2.4.10 مكون القائمة القابل للتوسيع (ExpandableListView) 2.4.11 الشبكة وظائف العرض (GridView) ومحول الصور (ImageSwitcher) 2.4.12 وظيفة عرض المعرض (المعرض) واستخدامها 2.5 مربع الحوار 2.5.1 استخدام AlertDialog لإنشاء مربع حوار بسيط 2.5.2 استخدم AlertDialog لإنشاء مربع حوار قائمة 2.5 .3 استخدم AlertDialog لإنشاء مربع حوار مخصص 2.5.4 استخدم PopupWindow 2.5.5 استخدم DatePickerDialog وTimePickerDialog 2.5.6 استخدم ProgressDialog لإنشاء مربع حوار التقدم 2.6 مطالبات الرسائل 2.6 1 استخدم Toast لعرض مربع الرسالة السريعة 2.6.2 وظيفة واستخدام الإشعارات 2.7 القائمة 2.7.1 قائمة الخيارات والقائمة الفرعية (القائمة الفرعية) 2.7.2 استخدام المستمعين للاستماع إلى أحداث القائمة 2.7.3 إنشاء عناصر قائمة الاختيار وعناصر قائمة الراديو 2.7.4 ضبط النشاط المرتبط بعنصر القائمة 2.7 .5 قائمة السياق 2.8 ملخص هذا الفصل الفصل 3 معالجة الأحداث 3.1 معالجة أحداث Android 3.2 معالجة الأحداث بناءً على الاستماع 3.2.1 نموذج معالجة الاستماع للحدث 3.2.2 الأحداث ومستمعي الأحداث 3.2.3 الطبقة الداخلية كفئة مستمع الحدث 3.2.4 فئة خارجية كفئة مستمع للحدث 3.2.5 النشاط نفسه كمستمع للحدث 3.2.6 فئة داخلية مجهولة كفئة مستمع للحدث 3.2.7 الربط المباشر للعلامات 3.3 بناءً على معالجة حدث رد الاتصال 3.3.1 آلية رد الاتصال وآلية الاستماع 3.3.2 رد الاتصال- نشر الحدث القائم على 3.3.3 إعادة كتابة طريقة onTouchEvent للرد على أحداث شاشة اللمس 3.4 الاستجابة لأحداث مجموعة النظام 3.4.1 مقدمة إلى فئة التكوين 3.4.2 إعادة كتابة استجابة onConfigurationChanged تغييرات إعدادات النظام 3.5 آلية تمرير رسالة المعالج 3.5.1 مقدمة إلى فئة المعالج 3.5.2 حالات استخدام المعالج 3.6 ملخص هذا الفصل الفصل 4 الفهم المتعمق للنشاط 4.1 إنشاء النشاط وتكوينه واستخدامه 4.1.1 إنشاء النشاط 4.1.2 تكوين النشاط 4.1.3 ابدأ وأغلق النشاط 4.1.4 الاستخدام حزمة لتبادل البيانات بين الأنشطة 4.1.5 بدء الأنشطة الأخرى وإرجاع النتائج 4.2 آلية رد الاتصال بالنشاط 4.3 دورة حياة النشاط 4.3.1 عرض دورة حياة النشاط 4.3.2 التشابه بين النشاط واختلافات Servlet 4.4 ملخص هذا الفصل الفصل 5 استخدام Intent وIntentFilter الفصل 5 التواصل 5.1 شرح تفصيلي لكائنات النية 5.1.1 استخدام النية لبدء تشغيل مكونات النظام 5.2 سمات النية وتكوين مرشح النية 5.2.1 سمات المكونات 5.2.2 الإجراء وسمات الفئة وتكوين عامل تصفية النية 5.2.3 تحديد الإجراء والفئة لاستدعاء نشاط النظام 5.2.4 البيانات وسمات النوع وتكوين مرشح النوايا 5.2.5 السمة الإضافية 5.3 استخدام Intent لإنشاء صفحة علامة التبويب 5.4 ملخص هذا الفصل الفصل 6 موارد تطبيقات Android 6.1 أنواع الموارد وطرق التخزين 6.1.1 الأنواع و طرق تخزين الموارد 6.1.2 استخدام الموارد 6.2 استخدام موارد السلسلة واللون والحجم 6.2.1 تعريف قيم الألوان 6.2.2 تحديد ملفات موارد السلسلة واللون والحجم 6.2.3 استخدام موارد السلسلة واللون والحجم 6.3 موارد المصفوفة 6.4 استخدام الموارد (القابلة للرسم) 6.4.1 موارد الصور 6.4.2 موارد StateListDrawable 6.4.3 موارد LayerDrawable 6.4.4 موارد ShapeDrawable 6.4.5 موارد ClipDrawable 6.4.6 موارد الرسوم المتحركة القابلة للرسم 6.5 استخدام موارد XML الأصلية 6.5.1 تعريف XML الأصلي الموارد 6.5.2 استخدام ملفات XML الأصلية 6.6 استخدام موارد التخطيط 6.7 استخدام موارد القائمة 6.7.1 تحديد موارد القائمة 6.7.2 استخدام موارد القائمة 6.8 موارد النمط والموضوع 6.8.1 موارد النمط 6.8.2 موارد السمات 6.9 موارد السمات 6.10 استخدام الموارد الأصلية 6.11 التدويل وتكييف الموارد 6.11.1 أفكار تدويل Java 6.11.2 اللغات والدول التي تدعمها Java 6.11.3 التدويل الكامل للبرنامج 6.11.4 توفير الموارد الدولية لتطبيقات Android 6.11.5 تدويل تطبيقات Android 6.12 ملخص هذا الفصل الفصل 7 الرسومات ومعالجة الصور 7.1 استخدام صور بسيطة 7.1.1 استخدام الكائنات القابلة للرسم 7.1.2 Bitmap وBitmapFactory 7.2 الرسم 7.2.1 أساسيات الرسم في Android: اللوحة القماشية والطلاء وما إلى ذلك. 7.2.2 فئة المسار 7.2.3 رسم الرسوم المتحركة للعبة 7.3 تأثيرات الرسومات الخاصة المعالجة 7.3.1 استخدام المصفوفة للتحكم في التحويل 7.3.2 استخدام drawBitmapMesh لتشويه الصور 7.3.3 استخدام Shader لملء الرسومات 7.4 الرسوم المتحركة إطارًا تلو الآخر 7.4.1 الرسوم المتحركة الرسوم المتحركة القابلة للرسم والإطار تلو الآخر 7.5 الرسوم المتحركة Tween 7.5.1 Tween الرسوم المتحركة و Interpolator 7.5.2 الرسوم المتحركة Tween مع تغييرات في الموضع والحجم والتدوير والشفافية 7.5.3 الرسوم المتحركة الفاصلة الفاصلة المخصصة 7.6 استخدام SurfaceView لتنفيذ الرسوم المتحركة 7.6.1 آلية رسم SurfaceView 7.7 ملخص هذا الفصل الفصل 8 تخزين بيانات Android و IO 8.1 استخدام SharedPreferences 8.1.1 مقدمة إلى SharedPreferences والمحرر 8.1.2 موقع تخزين SharedPreferences وتنسيقه 8.1.3 القراءة وكتابة التطبيقات الأخرى التفضيلات المشتركة 8.2 تخزين الملفات 8.2.1 openFileOutput وفتح FileInput 8.2.2 قراءة وكتابة الملفات على SD البطاقة 8.3 قاعدة بيانات SQLite 8.3.1 مقدمة إلى SQLiteDatabase 8.3.2 إنشاء قواعد البيانات والجداول 8.3.3 استخدام عبارات SQL لتشغيل قاعدة بيانات SQLite 8.3 .4 استخدام أداة sqlite3 8.3.5 استخدام طرق محددة لتشغيل قاعدة بيانات SQLite 8.3.6 المعاملات 8.3 .7 فئة SQLiteOpenHelper 8.4 الإيماءات (الإيماءات) 8.4.1 اكتشاف الإيماءات 8.4.2 إضافة إيماءات 8.4.3 التعرف على إيماءات المستخدم 8.5 القراءة التلقائية (TTS)) 8.6 ملخص هذا الفصل الفصل 9 استخدام ContentProvider للتنفيذ الفصل 9 مشاركة البيانات 9.1 مشاركة البيانات المعيار: مقدمة إلى ContentProvider 9.1.1 مقدمة إلى ContentProvider 9.1.2 مقدمة إلى Uri 9.1.3 استخدام ContentResolver لتشغيل البيانات 9.2 ContentProvider لنظام التشغيل 9.2.1 استخدام إدارة ContentProvider جهة الاتصال 9.2.2 استخدام ContentProvider لإدارة محتوى الوسائط المتعددة 9.3 تنفيذ ContentProvider 9.3.1 خطوات إنشاء ContentProvider 9.4 مراقبة تغييرات البيانات في ContentProvider 9.4.1 مقدمة إلى ContentObserver 9.5 ملخص هذا الفصل الفصل 10 الخدمة والبث الفصل 10 جهاز الاستقبال 10.1 مقدمة إلى الخدمة 10.1.1 إنشاء الخدمة وتكوينها 10.1.2 بدء الخدمة وإيقافها 10.1.3 ربط الخدمة المحلية والتواصل معها 10.1.4 دورة حياة الخدمة 10.2 خدمة الاتصال عبر العمليات (خدمة AIDL) 10.2.1 مقدمة إلى خدمة AIDL 10.2.2 إنشاء ملف AIDL 10.2.3 كشف الواجهة للعميل 10.2. 4 وصول العميل إلى AIDLService 10.3 مدير الهاتف (TelephonyManager) 10.4 مدير الرسائل القصيرة (SmsManager) 10.5 مدير الصوت (AudioManager) 10.5.1 مقدمة إلى AudioManager 10.6 الهزاز (Vibrator) 10.6 1 مقدمة إلى Vibrator 10.6.2 استخدم الهزاز للتحكم في اهتزاز الهاتف المحمول 10.7 خدمة المنبه المحمول (AlarmManager) 10.7.1 مقدمة إلى AlarmManager 10.7.2 ضبط المنبه 10.8 تلقي رسائل البث 10.8.1 مقدمة إلى BroadcastReceiver 10.8.2 إرسال البث 10.8.3 البث المرتب 10.9 تلقي رسالة بث النظام 10.10 ملخص هذا الفصل الفصل 11 تطوير تطبيقات الوسائط المتعددة 11.1 تشغيل الصوت والفيديو 11.1.1 استخدم MediaPlayer لتشغيل الصوت 11.1.2 استخدم SoundPool لتشغيل المؤثرات الصوتية 11.1.3 استخدم VideoView لتشغيل الفيديو 11.1.4 استخدم MediaPlayer وSurfaceView لتشغيل الفيديو 11.2 استخدم MediaRecorder لتسجيل الصوت 11.3 التحكم في الكاميرا لالتقاط الصور 11.3.1 التقاط الصور من خلال الكاميرا 11.3.2 تسجيل مقاطع الفيديو 11.4 ملخص هذا الفصل الفصل 12 OpenGL وتطوير التطبيقات ثلاثية الأبعاد 12.1 المعرفة الأساسية بالصور ثلاثية الأبعاد والتطوير ثلاثي الأبعاد 12.2 مقدمة إلى OpenGL وOpenGL ES 12.3 الرسم ثنائي الأبعاد الرسومات 12.3.1 استخدام OpenGL ES في تطبيقات Android 12.3.2 رسم المضلعات على المستوى 12.3.3 التدوير 12.4 رسم رسومات ثلاثية الأبعاد 12.4.1 إنشاء رسومات ثلاثية الأبعاد 12.4.2 تطبيق خرائط النسيج 12.5 ملخص هذا الفصل الفصل 13 تطبيقات شبكة Android 13.1 استنادًا إلى في اتصالات الشبكة لبروتوكول TCP 13.1.1 أساسيات بروتوكول TCP 13.1.2 استخدام ServerSocket لإنشاء خادم TCP 13.1.3 استخدام المقبس للاتصال 13.1.4 الانضمام إلى مؤشرات الترابط المتعددة 13.2 استخدام URL للوصول إلى موارد الشبكة 13.2.1 استخدام URL لـ قراءة موارد الشبكة 13.2.2 استخدم URLConnection لإرسال طلب 13.3 استخدم HTTP للوصول إلى الشبكة 13.3.1 استخدم HttpURLConnection 13.3.2 استخدم Apache HttpClient 13.4 استخدم WebView لعرض صفحات الويب 13.4.1 استخدم WebView لتصفح صفحات الويب 13.4.2 WebView لتحميل كود HTML 13.5 استخدام خدمة الويب لبرمجة الشبكة 13.5 .1 مقدمة إلى خدمة الويب 13.5.2 نظرة عامة على منصة خدمة الويب 13.5.3 استخدام تطبيقات Android للاتصال بخدمة الويب 13.6 ملخص هذا الفصل الفصل 14 إدارة Android Mobile Desktop 14.1 الإدارة Mobile Desktop 14.1.1 حذف مكونات سطح المكتب 14.1.2 إضافة مكونات سطح المكتب 14.2 تغيير خلفيات الهواتف المحمولة 14.2.1 تطوير الخلفيات الحية 14.3 اختصارات سطح المكتب 14.3.1 إنشاء اختصارات على سطح المكتب 14.3.2 إضافة اختصارات إلى Launcher 14.4 إدارة أدوات سطح المكتب 14.5 المجلدات المباشرة (LiveFolder) 14.5.1 استخدام الملفات الحية يعرض المقطع بيانات ContentProvider 14.6 ملخص هذا الفصل الفصل 15 تطوير تطبيقات المستشعر 15.1 استخدام مستشعرات Android 15.1.1 تطوير تطبيقات المستشعر 15.1.2 تنزيل وتثبيت SensorSimulator 15.1.3 استخدام SensorSimulator لتطوير تطبيقات المستشعر 15.2 أجهزة الاستشعار شائعة الاستخدام في Android 15.2.1 مستشعر التوجيه Orientation 15.2.2 المجال المغناطيسي 15.2.3 مستشعر درجة الحرارة درجة الحرارة 15.2.4 مستشعر الضوء الضوء 15.2.5 مستشعر الضغط الضغط 15.3 حالة تطبيق المستشعر 15.4 ملخص هذا الفصل الفصل 16 تطوير تطبيقات GPS 16.1 الأساسية واجهة برمجة التطبيقات التي تدعم GPS 16.2 الحصول على LocationProvider 16.2. 1 الحصول على جميع موفري المواقع المتاحين 16.2.2 الحصول على LocationProvider المحدد بالاسم 16.2.3 الحصول على LocationProvider وفقًا للمعايير 16.3 الحصول على معلومات تحديد المواقع 16.3.1 إرسال معلومات GPS من خلال جهاز المحاكاة 16.3.2 الحصول على بيانات تحديد المواقع 16.4 تحذير القرب 16.5 ملخص هذا الفصل الفصل 17 استخدام خدمة خرائط Google 17.1 التحضير للاتصال بخريطة Google 17.1.1 الحصول على مفتاح Map API 17.1.2 إنشاء AVD الذي يدعم Google Map API 17.2 الموقع على الخريطة بناءً على معلومات GPS 17.3 التنقل عبر نظام تحديد المواقع العالمي (GPS) 17.4 الموضع بناءً على العنوان 17.4.1 تحليل العنوان وتحليل العنوان العكسي 17.4.2 تحديد الموضع بناءً على العنوان 17.5 ملخص هذا الفصل الفصل 18 Crazy Lianliankan 18.1 مقدمة إلى لعبة Lianliankan 18.2 تطوير واجهة اللعبة 18.2.1 تطوير تخطيط الواجهة 18.2.2 تطوير واجهة اللعبة المكونات 18.2.3 معالجة خطوط الاتصال بين الكتل 18.3 Lianlian نظرة على نموذج بيانات الحالة 18.3.1 تحديد نموذج البيانات 18.3.2 تهيئة بيانات حالة اللعبة 18.4 تحميل صورة الواجهة 18.5 تنفيذ نشاط اللعبة 18.6 تنفيذ منطق اللعبة 18.6.1 تحديد واجهة مكون GameService 18.6.2 تنفيذ مكون GameService 18.6.3 الحصول على كتلة مدببة تعمل باللمس 18.6.4 تحديد ما إذا كان يمكن توصيل كتلتين 18.6.5 تحديد طريقة الأداة للحصول على القناة 18.6.6 اتصال أفقي بدون نقطة التحول 18.6.7 اتصال عمودي بدون نقطة تحول 18.6.8 اتصال بنقطة تحول واحدة 18.6.9 توصيلان عند نقاط تحول 18.6.10 ابحث عن أقصر مسافة 18.7 ملخص هذا الفصل الفصل 19 نظام المزاد الإلكتروني 19.1 مقدمة إلى وظائف النظام وبنيته التصميم 19.1.1 مقدمة لوظائف النظام 19.1.2 تصميم بنية النظام 19.2 مقدمة إلى JSON 19.2.1 إنشاء كائنات باستخدام بناء جملة JSON 19.2 .2 إنشاء مصفوفة باستخدام بناء جملة JSON 19.2.3 دعم Java's JSON 19.3 فئة الأدوات لإرسال الطلبات 19.4 تسجيل دخول المستخدم 19.4.1 Servlet لمعالجة تسجيل الدخول 19.4.2 تسجيل دخول المستخدم 19.5 عرض العناصر غير المباعة 19.5.1 Servlet لعرض العناصر غير المباعة 19.5 .2 عرض العناصر غير المعروضة بالمزاد 19.6 إدارة أنواع العناصر 19.6.1 تصفح أنواع العناصر Servlet 19.6.2 عرض أنواع العناصر 19.6.3 إضافة نوع Servlet 19.6.4 إضافة أنواع العناصر 19.7 إدارة عناصر المزاد 19.7.1 عرض عناصر المزاد الخاصة بك Servlet 19.7.2 عرض عناصر المزاد الخاصة بك 19.7.3 Servlet لإضافة عناصر المزاد 19.7.4 إضافة عناصر المزاد 19.8 المشاركة في المزايدة 19.8. 1 حدد نوع العنصر 19.8.2 Servlet لتصفح العناصر حسب النوع 19.8.3 تصفح العناصر حسب النوع 19.8. 4 Servlet المشاركة في المزايدة 19.8.5 المشاركة في المزايدة 19.9 التحكم في الأذونات 19.10 ملخص هذا الفصل لقطة شاشة للبرنامج 1
يوسع