مقالات تخصصی برنامه نویسی اندروید

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

مقالات تخصصی برنامه نویسی اندروید

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

  • ۰
  • ۰

چنانچه بخواهیم که یک فونت (font) دلخواه را برای متن نمایش داده شده در یک TextView انتخاب کنیم، باید ابتدا فایل با پسوند ttf مربوط به آن فونت را در پوشه assets از پروژه اندروید، کپی کنیم. مثلا فرض کنید که من یک فایل مربوط به فونت دست نویس (فونتی که به شکل دست نویس می باشد)، با نام Dast_Nevis.ttf دارم و می خواهم از آن، برای نمایش متن در یک TextView استفاده کنم. ابتدا یک پوشه (folder) با نام fonts در پوشه assets از پروژه اندروید می سازم و فایل Dast_Nevis.ttf را در آن کپی می کنم :

 

حال با فرض اینکه TextView را با id برابر textView1 تعریف کرده باشیم، در میان کدهای Activity ، کدهای زیر را می نویسیم :

  • ۰
  • ۰

 ما در این برنامه دو اکشن برای کلاس ITProListActivity ایجاد خواهیم کرد که به صورت منو در بالای صفحه نمایش داده خواهند شد. این اکشن ها عبارتند از: New که یک موجودیت (entity) جدید به وجود می آورد و دیگری Refresh که کش را بازسازی می کند و محتویات آن را از حافظه محلی می خواند. برای این که یک منو در یک activity بسازیم باید توابع زیر را override نماییم.

OnCreateOptionsMenu این تابع اجازه می دهد که اکشن ها با استفاده از API ها و یا فایل های XML ساخته شوند.

  • ۰
  • ۰

گاهی اوقات در برنامه‌های چندنخی threadها باید به نوعی با هم ارتباط برقرار کنند. فرض کنید یک thread در حال اجرای کدی درون یک متد synchronized است و نیاز به دسترسی به منبعی (مثلا یک فایل) دارد که این منبع فعلا در دسترس نیست. از طرفی اگر thread منتظر باشد تا منبع در دسترس شود باعث می‌شود که بقیه threadها نتوانند به متد synchronized دسترسی پیدا کنند و این مسئله می‌تواند باعث منتظر ماندن چند thread و در نتیجه کندی برنامه شود.

 

راه بهتر برای سناریویی که گفته شد این است که thread ای که منتظر در دسترس شدن منبع است، بصورت موقت کنترل شی را رها کند تا شی unlock شود و دیگر thread ها بتوانند به متد synchronized دسترسی پیدا کنند و وقتی منبع در دسترس قرار گرفت به thread اولی اطلاع داده شود تا بتواند به کار خود ادامه دهد و به منبع دسترسی پیدا کند.

  • ۰
  • ۰

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش نمایش ListView در فرگمنت خواهیم پرداخت همانطور که قبلا هم گفته بودم مبحث فرگمنت (Fragment) بسیار مهم است در ادامه با ما همراه باشید تا این مبحث را نیز فرا گیرید.

 

وارد پوشه layout شده و یک فایل به نام fragmentlayout.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

  • ۰
  • ۰

در این سری از آموزش برنامه نویسی اندروید به آموزش رد تماس (reject) تماس های ورودی در اندروید خواهیم پرداخت در این آموزش بررسی می شود که شماره ای با شما تماس گرفته است در لیست مخاطبان شما هست یا خیر و در صورت نبودن تماس reject می شود

 

ابتدای کار وارد  فایل AndroidManifest.xml شده و دسترسی های زیر را اضافه کنید.

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

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

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

 

 

یک فایل جاوا به نام IncomingCallReceiver.java ایجاد کرده و کدهای زیر را در آن قرار دهید.

IncomingCallReceiver

  • ۰
  • ۰

عیوب اراده

عیوب اراده:

اراده در اشتباه، آگاهانه نیست.

اراده در اکراه، آزادانه نیست.

اضطرار، عیب اراده نیست.

 

انواع اشتباه:

الف- در نوع عقد:

یکی بیع را خواسته و دیگری صلح را، اثرش بطلان است.

 

ب- در موضوع عقد:

1- در خود موضوع «بطلان عقد» یعنی در 1- جنس 2- صورت نوع «عرفی» 3- وصف اساسی «جوهری»

2- در اوصاف موضوع «عقد صحیح است». اگر اوصاف اساسی شرط شده باشد، حق فسخ می دهد به استناد خیار تخلف از شرط صفت.

3- در ارزش موضوع «عقد صحیح است» و در صورتی که غبن فاحش باشد حق فسخ ایجاد می کند به استناد خیار غبن.

 

ج- در طرف عقد:

اگر شخصیت طرف علت عمده عقد باشد، عقد باطل است.

  • ۰
  • ۰

ساده ترین راه برای ساختن دایره پیشرفت استفاده از کلاس و فراخوانی ProgressDialog می باشد. LoadingBar هم می تواند ازطریق همین کلاس ساخته شود.  تنها تفاوت منطقی بین bar و دایره این است که اولی وقتی استفاده می شود که شما زمان کل انتظار برای فعالیت خاص را می دانید، در حالیکه دومی زمانی استفاده می شود که شما زمان این انتظار را نمی دانید.

 

برای این منظور لازم است که یک شئ ازاین کلاس را به عنوان نمونه قرار دهید، که ترکیب آن را مشاهده می کنید.

 

ProgressDialog progress =newProgressDialog(this);

 

حال شما می توانید چند ویژگی مربوط به این دیالوگ را، از جمله استایل، متن و غیره ، تنظیم کنید.

 

  • ۰
  • ۰

در فایل های Apk تمامی فایل ها و مشخصات دارای کد هستند، این کدها با ساختار هگزادسیمال کد بندی شده اند ( ساختار 16 تایی).

 

برای توضیح سئوال بالا یه مثال میزنم:

فرض کنید می خواهید یک فایل گرافیک png را به فایل apk اضافه کنید.

ابتدا باید فایل png مورد نظر را برای رزولوشن صفحه ی موبایل یا وسیله ی مورد نظرتان طراحی کنید.

  • ۰
  • ۰

شما می توانید به راحتی صدا یا تصویر تماس گیرنده را کنترل کنید، به عنوان مثال حالت سکوت، ویبره،صدا و غیره. اندروید کلاس AndroidManager را ارائه می دهد که دسترسی به این کنترل ها را مشخص می کند. برای اینکه از گروه AndroidManager استفاده کنید، ابتدا باید یک شئ از این کلاس را با فراخوانی getSystemService() ، ایجاد کنید.

 

ترکیب آن در زیر داده شده است  .

 

private AudioManager myAudioManager;

myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

  • ۰
  • ۰

 ارسال کردن پارامتر به متُد، کاری بسیار راحت است، اما کمی مفهوم پیچیده‌ای دارد. در حالت کلی به سه شکل می‌توان به متُد‌ها پارامتر‌هایی را ارسال کرد که عبارت هستند از Call By Value، Call By Pointer، Call By Reference.

 

نکته‌ای که وجود دارد این است که بسیاری از برنامه نویسان جاوا معتقدند که جاوا Call By Value است و عده‌ای دیگر نیز معتقد‌ند که جاوا Call By Reference است. اینکه جاوا را چه می‌نامند اصلا اهمیتی ندارد، بلکه مهم این است که شما رفتار جاوا را بدانید که در هر وضعیت چگونه عمل می‌کند.