اپلیکیشن های موبایل : نیتیو یا هیبرید یا وب


این سه کلمه باید توضیح داده بشن

Native App

Web App

Hybrid App

دوس دارم ریز هر کدوم رو توضیح بدم ولی فک کنم یه توضح اجمالی بهتر باشه ...

اپلیکیشن های نیتیو : این اپلیکیشن ها با زبان برنامه نویسی مورد تایید ساخته میشن ... توی اندروید زبان فعلی و مورد تایید جاواست و اپلیکیشن هایی که با این زبان نوشته میشن رو نیتیو میگن ... خوبیش اینه که توسعه اش راحت تره ...سازگاریش بیشتره و مورد تایید هستش و مهمتر از همه اینکه اصولی تره ...شما اگه با جاوا کد بزنید به تموم امکانات گوشیتون دسترسی دارین در حالی که شاید توی بقیه این امکان وجود نداشته باشه که البته شایدم بگید من فقط میخوام یه صفحه لود بشه و نمی خوای وضعیت وای فای چک بشه ... پس شما با این حساب می تونید برید سراغ هیبرید یا وب

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

هیبرید اپلیکیشن : این نوع اپلیکیشن یه چیزی بین دو نوع بالاست ... شما به زبان هایی غیر از جاوا یه اپلیکشن تولید می کنید . مثلا با جاواسکریپت و اچ تی ام ال میاد یه اپ میسازد یا مثلا با زامارین ...یا هرچیزی شبیه این ... خوبیش اینه که می تونیه خروجی واسه چند پلتفورم بگیرد مثلا فک کنم زاماریین واسه اندروید و ویندوز فون و ای او اس  خروجی میده که خب طبیعتا کارفرما رو راضی میکنه ولی در کل حتما یه روزی یه جایی کارتون رو لنگ میزاره...

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

پی نوشت : توی یه مقاله خوندم که گویا زامارین جزو نیتیو حساب میشه و کد جاوا میده بیرون ... با توجه به اینکه زامارین داره از سی شارپ استفاده می کنه و سی شارپ هم کل سیستمش رو از جاوا کپی کرده (البته شخصا سی شارپ رو به عنوان یه زبان برنامه نویسی قبول ندارم ... ابزار برنامه نویسی ...یا یه همچین چیزی) یه همچین چیزی امکان داره ... ولی .. نمیدونم ...چشمم اب نمیخوره

۱۳۴۸/۱۰/۱۱ || in category : اندروید

حلقه ها



حلقه ها به ما کمک می کنند یک کار  را چند بار و یا به صورت نامحدود انجام دهیم . فرض کنید میخواید اعداد 1 تا 1000 را چاپ کنید برای این کار دو حالت در پیش رو خواهید داشت یا هزار با پرینت را بنویسید و یا اینکه انرا یک بار وارد حلقه کنید  تا هزار با انرا را برایتان بنویسید
مشهورترین حلقه است و شما را قادر خواهد کرد که یک حلقه با اعداد صحیح تشکیل دهید for

for(int i=0;int i<100;i++)
{
print “i is”+i;
}


این قطعه کد اعداد 0 تا 99 را برای شما نمایش خواهد داد . دقت کنید که ابتدا باید متغییر با مقدار اولیه را تعریف کنیم ...سپس شرط انرا تعیین کنیم که در اینجام کوچکتر بودن از 100 است و سپس مقادیر شمارش متغییر را تعریف کنیم که در اینجا ++ یعنی یک عدد یک عدد است ...در صورتی که بخواهیم که مقادیر به صورت دیگری شمارش شوند به این صورت عمل می کنیم

for(int i=0;i<50;i+=2) {
print "i is "+i;
}


while do
در این نوع شما یک حلقه ایجاد میکنید که اعداد 10 تا 19 را برای شما چاپ کنید . دقت کنید که شرط حلقه در وایل نوشته میشود و کدهایی که باید انجام شود در دو … همچنین این حلقه حتی در صورت اشتباه بودن شرط یک بار اجرا خواهد شد برخلاف حلقه ی زیر

    int x = 10;

      do{
         x++;
         print x ;
      }while( x < 20 );

  شرط  این نوع حلقه  مانند حلقه  بالایی است با این تفاوت که با اشتباه بودن مقدار شرط while
هیچوقت اجرا نخواهد شد

  int x = 10;

      while( x < 20 ) {
x++;
 print x;
      }


foreach این نوع حلقه بیشتر برای بیرون کشیدن اطلاعات از ارایه ها استفاده خواهد شد 

String[] c=new String[]{“test”,”new”,”view”};
for (String e : c) {
         print e;
     }



   

۱۳۴۸/۱۰/۱۱ || in category : اندروید

عملیات های ریاضی در اندروید


برای اولین پروژه قراره یک ماشین حساب بسازیم پس لازمه که قبلش با عمگرهای ریاضی اشنا بشیم
+ : جمع
- : تفریق
*  :  ضرب
 / : تقسیم
تولید یک عدد تصادفی

Random r=new Random();
int value=r.nextInt();


بدست اوردن قدر مطلق یک عدد

Math.abs(-5) ;
//out : 5  

 بدست اوردن مقدار عدد نپر به توان یک عدد
 e به توان یک عدد 

Math.exp(-1); //  0.36787944117144233
Math.exp(0); // 1
Math.exp(1); // 2.718281828459045

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

int a=2,b=3;
Math.pow(2,3);
//out : 8

بدست اوردن جذر یک مقدار

Math.sqrt(9);    // 3


بدست اوردن لوگاریتم در مبنای 10

Math.log10(10);
//out 10

توابع مثلثاتی :
سینوس

Math.sin(1);           // 0.8414709848078965


کسینوس

Math.cos(1);           // 0.5403023058681398


تانژانت
 

Math.tanh(1);  // 0.7615941559557649   

گرد کردن یک مقدار
round
این تابع مقدار در صورتی که از نصف بیشتر باشد به طرف بالا و در وصورتی که از نصف کمتر باشد به طرف پایین گرد می کند . مثلا عدد 20.4 با به 20 و عدد 20.6 را به عدد 21 گرد می کند

Math.round(20.49);   // 20
Math.round(20.5);   // 21
Math.round(-20.5);   // -20
Math.round(-20.51);   // -21


ceil
این تابع مقدار اعشاری را حذف و یک مقدار به عدد اضافه می کند(گرد کردن به سمت بالا) یعنی عدد 20.1 را به 21 و همچنین عدد 20.9 را نیز به 21 تبدیل می کند

Math.ceil(.95);   // 1
Math.ceil(4);   // 4
Math.ceil(7.004);   // 8


floor
این تابع عدد را به سمت پایین گرد می کند ...یعنی عدد 20.1 را به 20 و همچنین عدد 20.9 را نیز به 20 تبدیل می کند

Math.floor( 45.95);   //  45
Math.floor(-45.95);   // -46


 

۱۳۴۸/۱۰/۱۱ || in category : اندروید

دستور های شرطی


با استفاده از شرط ها شما قادیر خواید به برنامه خود منطق بدهید و برنامه را قادر به تحلیل و تصمیم گیری کنید . در صورتی که منطق پیاده سازی شده شرط ها درست باشد برنامه شما میتواند مانند یک انسان فکر کند . به این نوع  فکر هوش مصنوعی گفته میشود.
فرض کنید میخواهید وارد دانشگاه شوید و بین انتخاب دو رشته مردد مانده اید . کدام را انتخاب میکنید ؟ اینجاست که شرط ها به کمک شما می ایند مثلا اگر وارد فلان رشته شوم اینده ی کاری بهتری خواهد داشت و یا اگر فلان رشته را انتخاب کنم در اینده موقعیت اجتماعی بهتری خواهم داشت … خروجی افکار شما در نهایت نتیجه ی تعامل تمام شرط هایی است که در ذهن شماست … پس با همین شرط های ساده شما هم میتوانید به برنامه خود منطق و فکر کردن یاد بدهید
if

int a=11;
if(a>10)
{
print “a >10”;
}
else{
print “a<10”;
}

این ساده ترین نوع شرط است که در ان به بررسی مقدار متغییر می پردازد. ساختار کلی شرط به این صورت است
اگر(شرایط)
{کدهایی که در صورت درست بودن شرط باید انجام شوند}
درغیر این صورت
{کدهایی که باید در صورت غلط بودن شرط اجرا شوند}
برای نوشتن هر شرط قسمت اولیه شرط لازم ولی قسمت بعدی ان دلخواه است و میتوانید انرا ننویسید

شرطهای چندگانه
  else if : در شرط های چندگانه شما امکان بررسی چند شرط را با هم همزمان خواهید داشت

int a =5;
 if(a=5)
{
print “a is 5”;
}
else if(a=6)
{
print “a is 6”;
}
else
{
print a;
}

 and = && و  or=|| : همچنین شرط ها امکان بررسی چند شرط را همزمان برای شما فراهم خواهند کرد

int a =5;
int b=10;
if(a>5 && b<6)
{
}
if(a<5 || b>10)
{
}

switch این نوع شرط به شما کمک میکند که از بین چند نوع انتخاب یکی را انتخاب کنید   

String land=”iran”;
switch(land)
{
case “irna”:
print “iran is my land”;
break;
case “trukye”:
print “tyrkey is my near land”;
break;
default :
print “my land not found”;
break;
}


دقت کنید که بریک برای خروج از شرط لازمه … همچنین حالت دیفالت  نیز وقتی که هیچ کدوم از شرط ها درست نباشند اتفاق خواهد افتاد

پی نوشت : دستور print که استفاده شده به معنای چاپ یک خروجی است . چنین دستوری در جاوا وجود ندارد . شما میتوانید از دستور Log  برای نمایش خروجی در لاگ کت استفاده کنید . به این صورت :

Log.i("log","value");

 

۱۳۴۸/۱۰/۱۱ || in category : اندروید

متغییر ها در جاوا (اندروید)


با عرض معذرت بخاطر وقفه ای که پیش اومد ...یه اتفاق ناگورار و مرگ یک عزیز ... برای شادی روحش یک لبخند بزنید

 

متغییر ها در جاوا (اندروید)
ما در جاوا چندین نوع متغییر داریم که به بررسی مهمترین های اونها می پردازیم
   int   داری مقادیر عددی از صفر تا بی نهایت … این اعداد باید اعداد صحیح باشن مثل 1و2و3و4و...999
  String این نوع مقادیر رشته ای را قبول می کند
boolean این نوع مقدار درست و غلط را قبول می کند 
doubleاین نوع مقادیر اعشاری را قبول می کند مانند 2.1
float این نوع مقادیر اعشاری طولانی را قبول می کند 

نحوه  تعریف یک متغییر
نوع متغییر + نام متغییر = مقدار اولیه

int a =5;
String b=”hello”;
boolean c = true;
double d =2.1;
float f= 5.52154333f;


دقت کنید که در پایان متغییر های فلوت یک (f) اضافه خواهد شد

 

۱۳۴۸/۱۰/۱۱ || in category : اندروید

نصب و اجرای محیط برنامه نویسی


سلام
1-جلسه صفر :
اموزش نصب و راه اندازی محیط برنامه نویسی اندروید
برای ایجاد یک محیط برنامه نویسی به سه نرم افزار نیاز دارید
1-SDK (Software Development Kit)
2-JDK (Java development kit)
3-IDE (Integrated development environment)
1-اس دی کی چیست ؟ اس دی کی به پلتفرمهای مختلف اندروید گفته میشود ...مثلا اندروید 3.1 یا 3.6 یا 4.2 و ... کار SDK اینه که یک بستر از کدها رو به وجود بیاره که کدهای ما تحت اون اون اجرا بشن ...  ورژن های مختلف شباهت زیادی به هم دارن ولی چون هر روز در حال توسعه است پس بعضی از قابلیت های جدید بهش اضافه میشه ...در کل هر SDK یک مجموعه از کدهایی است برای توسعه دهندگان نرم افزاری
2-1 پلتفرم چیست ؟ پلتفرم در واقع بستری است که برنامه های نرم افزاری نوشته شده برای یک وسیله در آن قابل اجرا و استفاده است، مثلا پلتفرم اندروید که نرم افزارهای اندروید روی اون اجرا میشه یا پلتفرم دات نت که برنامه های ویندوز روی اون اجرا میشن

2-جی دی کی چیست؟ JDK هم مثل اس دی کی هستش و پلتفرم جاوا رو فراهم می کنه ... مثل اس دی کی که ورژن های مختلف داره JDK هم ورژن های مختلفی داره ... JDK مورد نیاز برای شروع ما 1.7 هستش
سوال ؟ ما برای اندروید برنامه نویسی می کنیم پس چ نیازی به JDK داریم ؟ زبان اندروید از جاوا مشتق شده و بیشتر توابع جاوا رو توی خودش داره واسه همین برای اجرا شدن نیاز به پلتفرم جاوا داره ...

3-محیط برنامه نویسی یا همون ide ... ide به نرم افزاری اطلاق میشه که توی اون کدنویسی رو انجام میدیم ... برای نوشتن های کد اندروید ide های مختلفی وجود داره و شما حتی با خود نوت پد هم تونید کدنویسی کنید ولی محیط های کدنویسی بهتری هم برای این کار وجود دارن که کار کد نویسی رو راحتر و لذت بخش تر می کنه ...دوتا محیط خیلی خوب وجود داره یکی ایکلیپس و دیگری اندروید استدیو هستش ... در این سری امورش ما با اندروید استدیو کار می کنیم که خود گوگل اون رو ساخته و توسعه میده ...

نرم افزارهای بالا رو می تونید با سرچ کردن توی گوگل پیدا و دانلود کنید .

نحوه ی نصب : توی لینک زیر توضیحات کامل نصب داده شده ...میخواستم خودم این مقاله رو اماده کنم ولی دیدم دوباره کاری میشه ...من فقط لینک میدم و البته فایل ورد این اموزش رو هم واسه دانلود میزارم ولی توصیه ی اکید میکنم حتما از لینک استفاده کنید

نصب اندروید استدیو

لینک دانلود فایل ورد اموزش

پی نوشت : فقط زمانی ورد رو دانلود کنید که سایت بالا کار نکنه و یا امکان دسترسی بهش رو نداشته باشین ...تا حق مطلب ادا بشه و کپی رایت نره زیر سوال :)

۱۳۴۸/۱۰/۱۱ || in category : اندروید

سر اغاز اموزش اندروید


سلام

بدون مقدمه ... اولا که هیچ علاقه ای به اموزش ندارم و زیاد هم دلخوشی از اموزش ندارم ولی بنا بر یه سری مشکلات مالی مجبور شدم یک دوره اموزش مقدماتی اندروید بزارم و خب چ بهتر که یک نسخه از اموزش ها رو اینجا هم بزارم ...بی تعارف بگم میخوام قبل برگزاری کلاس اینجا نوشته هامو بنویسم تا توی کلاس راحت تر اونا رو شرح بدم ..

اولا که سیک کاری من واسه یادگیری با بقیه فرق می کنه ...یه پروژه طرح می کنم وسپس میام بر اساس اون پروژه مسایل رو یاد میگیرم ...

پروژه اول طراحی یک ماشین حساب تقریبا مجهزه

 

سعی می کنم توی 15 جلسه یا کمتر کل دوره رو تموم کنم

۱۳۴۸/۱۰/۱۱ || in category : اندروید