برنامه نرخ روز برای اندروید

چند روزی قبل از اعزام به خدمت مقدس! سربازی تصمیم گرفتم که وقت آزادم رو برای نوشتن یک برنامه تحت سیستم عامل اندروید بزارم تا هم یک نمونه کار به کارهام اضافه بشه و هم اینکه تجربه بیشتری تو این زمینه پیدا کنم که در نهایت شروع به نوشتن یک برنامه در زمینه نمایش نرخ روز خودرو ، سکه ، طلا و ارز کردم و کم کم رو برنامه کار کردمُ توی آخرین مرخصی  کامل و آماده منتشر شدن شد و به پیشنهاد برادرم امیر اسمش رو نرخ روز گذاشتم.
برای نمایش نرخ ها از سایت های معتبر دولتی و خبری استفاده شده به این صورت که سایت هایی که دارای فید rss بودن از فیدهاشون استفاده کردم و برای یک سری از سایت ها هم که فید نداشتند با استفاده از regex اطلاعات مورد نیاز رو استخراج کردم. به شخصه دوست داشتم روی رابط کاربری برنامه بیشتر کار کنم اما متاسفانه وقت زیادی نداشتم و دیدم اگر بخوام برنامه رو منتشر نکنم با این اوضاع تایمی که دارم چند ماهی عقب میفته و به همین خاطر برنامه رو برای مارکت های مختلف ایرانی فرستادم تا منتشر بشه.
امیدوارم که برنامه ی مفیدی باشه .
برای دریافت برنامه از کافه بازار روی این لینک کلیک کنید.


نرم افزار دفترچه برای اندروید

خیلی وقت بود که در زمینه برنامه نویسی اندروید مطالعه داشتم و برنامه هایی هم برای تست و یادگیری نوشته بودم اما متاسفانه فرصت نکرده بودم که یه برنامه کامل و مناسب که بشه منتشرش کرد رو آماده کنم ، به همین خاطر و برای شروع تصمیم گرفتم یه برنامه ساده و در عین حال کاربردی رو با عنوان “دفترچه”  بنویسم تا هم شروعی باشه برای خودم و هم اینکه کاربران فارسی بتونن ازش استفاده کنند .
با استفاده از این برنامه می تونید یادداشت هاتون رو ذخیره و مدیریت کنید و یا با دیگران به اشتراک بگذارید. همچنین در صورت تمایل می تونید برای برنامه رمزعبور تعیین کنید تا فقط خودتون به یادداشت ها دسترسی داشته باشید.
این برنامه رو می تونید از مارکت ایرانی کندو دانلود کنید و اگر انتقاد یا پیشنهادی دارید تو کامنت ها اعلام کنید .

امیدوارم که مفید واقع بشه …


نصب کیک پی اچ پی روی هاست

روش مناسب برای نصب فریم ورک کیک  پی اچ پی روی هاست قرار دادن هسته کیک و برنامه ای که نوشتیم در پوشه ای خارج از فولدر public_html یا همون پوشه root سایت مون هست .برای این کار محتویات فولدر webroot رو در شاخه اصلی هاستمون باید قرار بدیم و در فایل index.php سه ثابت (define) با نام های ROOT ، APP_DIR و CAKE_CORE_INCLUDE_PATH رو مقداری دهی کنیم .

ثابت ROOT باید حاوی آدرس پوشه ای باشه که در برگیرنده برنامه ما هست .

ثابت APP_DIR تعیین کننده نام پوشه برنامه ما هست که به صورت پیش فرض این پوشه app نام داره و می تونیم تغییرش بدیم.

ثابت CAKE_CORE_INCLUDE_PATH هم باید شامل آدرس پوشه در برگیرنده هسته کیک باشه .

به عنوان مثال فرض کنید نام پوشه برنامه ای که نوشتیم ، webnevis_app هست و ما این پوشه رو در آدرس  home/payam/webnevis.net/adsmarket.ir/private قرار دادیم و همچنین هسته کیک (پوشه lib) رو هم در همین آدرس قرار دادیم بنابراین مقادیر این سه ثابت به شکل زیر خواهد بود :

if (!defined('ROOT')) {
	define('ROOT', '/home/payam/domains/webnevis.net/private');
}

if (!defined('APP_DIR')) {
	define('APP_DIR', 'webnevis_app');
}

define('CAKE_CORE_INCLUDE_PATH', '/home/payam/domains/webnevis.net/private/lib');

این روشی که با هم بررسی کردیم یکی از روش های نصب کیک هست ، برای اطلاعات بیشتر می تونید این لینک رو مطالعه کنید.


متدهای callback در کیک پی اچ پی

اگر می خواهید قبل و یا بعد از فراخوانی یک فرآیند خاص مانند ذخیره کردن اطلاعات و یا نمایش اطلاعات به کاربر و کارهایی از این قبیل ، عمل خاصی را انجام دهید، راه حل پیش رو ، متدهای callback هستند . این متدها به صورت خودکار اجرا می شوند و در بخش های Controller و Model با توجه به نیازمان ، می توانیم آنها را تعریف کنیم .

Controller

- متد beforeFilter :
یکی از مهم ترین متدهای موجود در این بخش  هست ، که قبل از اجرای هر اکشنی در کنترلر مربوطه فراخوانی می شود( حتی هنگامی که اکشن درخواست شده در کنترلر تعریف نشده باشد)  و بهترین مکان برای انجام کارهایی از قبیل اعتبارسنجی جلسه (session) کاربر ، چک کردن سطح دسترسی کاربر و … هست .

- متد beforeRender :
این متد بعد از اجرای اکشن درخواست شده و قبل از نمایش view به کاربر ، اجرا می شود و آنچنان مورد استفاده ندارد ، اما گاهی وقت ها که نمایش خودکار(autoRender) در کنترلر را غیر فعال کرده ایم و با استفاده از متد render به صورت دستی view را به کاربر نمایش می دهیم ممکن است مورد استفاده قرار بگیرد .

- متد  afterFilter :
بعد از فراخوانی تمامی اکشن های درخواست شده از کنترلر و پس از نمایش view به کاربر اجرا می شود .

کامپوننت های تعریف شده در بخش کنترلر نیز دارای متدهای callback خاص خودشان هستند که برای مطالعه بیشتر در این زمینه می توانید به این لینک مراجعه کنید .

ادامه مطلب …


اشکال زدایی برنامه در کیک پی اچ پی

موقع توسعه یک برنامه مسلما بارها پیش آمده که بخواهید برنامه ای که نوشتید را trace کنید و یا مقادیری که به صورت داینامیک داخل یک آرایه ذخیره کردید را مشاهده نمایید و کارهایی از این قبیل انجام دهید .
کیک پی اچ پی توابع و کلاس هایی را برای این کار در نظر گرفته که بسیار مفید و سودمند هستند و قطعا استفاده و به کاربردن انها کمک بسیاری در روند توسعه یک برنامه خواهد کرد.

مهم ترین نکته ای که باید به ان توجه داشت این هست که در تنظیمات کیک،که در آدرس Core/config.php قرار دارد ، مقدار debug برابر با ۲ باشد تا تمام خطاها و اشکالات برنامه ، کوئری هایی که اجرا می شوند و همچنین خروجی های توابع و کلاس های مربوط به debugging به صورت کامل هنگام اجرای برنامه به ما نمایش داده شود و cache های ایجاد شده رفرش گردند.

 Configure::write('debug', 2);

به این ویژگی دو مقدار ۰ و ۱ هم می توانیم اختصاص دهیم که مقدار ۱ مانند همان حالت مقدار ۲ هست اما محدودیتهایی دارد و مقدار ۰ برای زمانیست که برنامه ما به صورت کامل نوشته و تست شده و آماده ارائه به کاربران می باشد.

ادامه مطلب …


تغییر قوانین اعتبارسنجی به صورت پویا در کیک پی اچ پی

یکی از امکانات جدید اضافه شده در نسخه ۲٫۲ از کیک پی اچ پی امکان تغییر قوانین تعریف شده در Model به صورت داینامیک از طریق متد validator که در Model پیاده سازی شده است می باشد. در این پست به بررسی این ویژگی جدید می پردازیم .

در ابتدای کار فرض می کنیم در model قوانین زیر رو تعریف کردیم :

class User extends AppModel{

	public $validate = array(
		'username'=>array(
			'rule-1'=>array(
				'rule'=>'notEmpty',
				'required'=>TRUE,
				'message'=>'لطفا نام کاربری خود را وارد کنید'
			),
			'rule-2'=>array(
				'rule'=>'isUnique',
				'message'=>'نام کاربری وارد شده تکراری است',
				'on'=>'create'
			),
		),
		'password'=>array(
			'rule'=>'notEmpty',
			'required'=>TRUE,
			'message'=>'لطفا رمزعبور خود را وارد کنید'
		),
	);

}

ادامه مطلب …


ابزار ADB در اندروید

چند مدتی هست که در حال یادگیری توسعه برنامه ، تحت پلتفرم اندروید هستم و از اونجا که منابع فارسی در این زمینه خیلی کم ، محدود و اغلب تکراری هست ، تصمیم گرفتم تجربیات و آموخته هام رو با شما دوستان به اشتراک بزارم  . همچنین به دلیل اینکه منابع آموزشی لازم برای شروع کار با اندورید و نصب ابزارهای لازم برای برنامه نویسی تحت این پلتفرم به زبان فارسی وجود داره و هدفم آموزش گام به گام نیست ، از ابتدا شروع به آموزش نکردم و تنها ابزار ها ، تکنیک ها و مواردی که به نظرم می تونه برای یک توسعه دهنده تازه کارِ اندروید مفید باشه رو معرفی میکنم که ADB هم یکی از اون ابزارها هست .

ADB یا Android Debug Bridge  یک ابزار خط فرمان برای ارتباط و کنترل emulator و یا دستگاه اندرویدی متصل به سیستم ما هست و دستورات و فرمان های مفید و کاربردیِ مختلفی مانند نصب برنامه بر روی emulator ، دسترسی به فایل های موجود بر روی emulator و … رو در اختیار ما قرار میده  که تعدادی از اونها رو با هم مرور میکنیم .

اگر کاربر ویندوز هستید ، برای اینکه به راحتی بتونید از adb در داخل cmd استفاده کنید آدرس دایرکتوری adb.exe رو که در شاخه SDK_Directory/platform_tools قرار داره ، در بخش environment variables ویندوز در انتهای متغیر path اضافه کنید و یا اینکه بعد از اجرای cmd به شاخه platform_tools بر روی سیستمتون برید و دستورات adb رو اجرا کنید .

adb devices

لیست emulator ها و دستگاه های اندرویدی در دسترس ، رو نمایش میده  .

 

ادامه مطلب …