آغاز به کار وبسایت جدید
انشالله از این تاریخ به بعد مطالب و برنامه ها روی وب سایت قرار میگیرند
آدرس وبسایت شخصی میلاد حاتمی
انشالله از این تاریخ به بعد مطالب و برنامه ها روی وب سایت قرار میگیرند
آدرس وبسایت شخصی میلاد حاتمی
اینجوری راحت میشم
#include
#include
#include
#include
#include
#include
//**************************************
using namespace std;
void getf();
void get();//in tabe baraye gereftane matris estefade mishavad
void zarb();//in tabe baraye zarbe 2 matris dar ham estefade mishavad
void jame();//tabe baraye jam kardane 2 adad
void tar();;//tabe baraye taranahde kardane matris
void show();//tabey baraye namayeshe lahzeye tabe
int i,j,k,m,n;//moteghayer haye ommomi baraye barname va halghe ha
int a[5][5],b[5][5],c[5][5];//3 adad moteghayer be name a,b,c baraye matrisha
int main ()
{
int c;//baraye gereftane noe entekhabe shoma
cout<<"Welcome To Matris Operation"< while(1) { cout<<"1 . Get Matris 1&2"< cout<<"2 . Mul 2 matris(Zarbe 2 matris)"< cout<<"3 . Sum 2 Matris(Jame2 Matris"< cout<<"4 . Taranahde Kardane 1 Matris"< cout<<"5 . Show 2Matris"< cin>>c;//noe entekhabe shomara migirad switch(c) { //start switch case 1://agar 1 ra entekhab karde bood int c1; cout<<"1 . Get From Keyboard"< cout<<"2 . Get From File"< cin>>c1; switch(c1) {//switch1 case 1: get(); break; case 2: getf(); break; }//end switch 1 break; case 2: zarb();//tabeye zarb ra farkhani mikonad break;//khorooj movaghat case 3: jame();//tabeye jam ra farakhani mikonad break;//khorooj case 4: tar();//tabeye taranahade kardan ra farakhani mikonad break;//khorooj case 5: show();//tabeye show ra farakhani mikonad break;//khorooj }//end switch }//end while getch();//barname ra baraye namayeshe khorooji negah midarad return 0;//choon main az noe int mibashad bayad meghdare bazgashti dashte bash ke 0 midahim }//end main //*********************************** //az inja be bad code nevisi tavabeye bala shoroo mishavad void get() { cout<<"Please Insert Element1 Matris1"< cin>>m;//tedade satr cout<<"Please Insert Element2 Matris1"< cin>>n;//tedade sotoon for (i=1;i<=m;i++) { for(j=1;j<=n;j++) { cin>>a[i][j];//vared kardane maghadite matrise avval satr va sotoon }//end for j }//end for i //***********************voroode maghadire matrise dovom cout<<"Please Insert Element1 Matris2"< cin>>m; cout<<"Please Insert Element2 Matris2"< cin>>n; for (i=1;i<=m;i++) { for(j=1;j<=n;j++) { cin>>b[i][j];//vared kardane maghadite matrise avval satr va sotoon }//end for j }//end for i //********************payane tabeye get }//end void get6 //************************ void zarb() { char y; if (m==0) { cout<<"Be nazar Miresad Meghdari Entekhab Nakardeid"< }//end if else {//else //start void zarb for(i=1;i<=m;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) c[i][j] = c[i][j] + (a[i][k] * b[k][j]); cout<<"zarbe 2 Matrix Hast"< for(i=1;i<=m;i++) { for(j=1;j<=n;j++) cout< } cout<<"Save To File cin>>y; if (y=='y') {//if save ofstream myfile ("zarb.txt"); if (myfile.is_open()) { for(i=1;i<=m;i++) { for(j=1;j<=n;j++) myfile < } myfile.close (); } else cout << "Unable to open file"; }//end if save }//end else }//end void zarb //**************************** void jame() { char y; if (m==0) { cout<<"Be nazar Miresad Meghdari Entekhab Nakardeid"< }//end if else {//else for(i=1;i<=m;i++) for(j=1;j<=n;j++) c[i][j] = a[i][j] + b[i][j]; cout<<"jame 2 Matrix Hast"< for(i=1;i<=m;i++) { for(j=1;j<=n;j++) cout< } cout<<"Save To File cin>>y; if (y=='y') {//if save ofstream myfile ("jam.txt"); if (myfile.is_open()) { for(i=1;i<=m;i++) { for(j=1;j<=n;j++) myfile < } myfile.close (); } else cout << "Unable to open file"; }//end if save }//end else }//end void jame //************************** void tar() { int temp;//moetghayere movaghat baraye jabejaei satr va sotoon for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { temp=a[i][j];//jabejaei a[i][j]=a[j][i];// a[j][i]=temp;// } } for(i=1;i<=n;i++)//namayeshe matrise taranahade shode { for(j=1;j<=m;j++) cout << a[i][j];

دنیای مجازی با تمام ویژگی های خاص خود، می تواند مکان مناسبی برای ارتقاء سطح آموزشی و علمی کلاس های درس به شکل متداول امروزی باشد. عجیب است که با تمام گستردگی دنیای اینترنت در تمام شئون زندگی بشر هنوز این عرصه جایگاه واقعی خود را در مدارس و کلاس های درس آن طور که باید پیدا نکرده است. کافیست سری به دنیای وب بزنید تا بفهمید پیدا کردن ابزارهای آموزش آنلاین و یادگیری به شیوه آنلاین با پیروی از متد نوین آموزشی کار چندان آسانی نیست.
خوشبختانه، این وضعیت به آرامی در حال بهبود است. این روز ها چندین ابزار آموزشی مطلوب در حال ظهور و خودنمایی در وب هستند، و Edmodo یکی از آنها است. اجازه دهید نگاهی به آن بیاندازیم و ببینیم که چه کمکی به ما می تواند کند.
از دیدگاه معلمان
اگر من بخواهم Edmodo را در یک عبارت کوتاه توضیح دهم، این خواهد بود : “شبکه فیس بوک برای آموزش و پرورش!” (و همین کلمه فیس بوک کافیست که بفهمید چرا گفتم عبارت کوتاه.) «ادمودو» خود را به این شکل توصیف می کند: ” شبکه اجتماعی آموزشی امن برای معلمان و دانش آموزان”. این دو گروه یعنی معلم و دانش آموز از همان ابتدای ورود به این شبکه اجتماعی از هم متمایز می شوند چرا که در ابتدا باید یکی از دو گزینه: “من دانش آموز هستم” یا ” من معلم هستم” را انتخاب کنید.
برای بررسی دقیق تر این شبکه، اجازه دهید نگاهی به سرویس های این سایت از هر دو دیدگاه معلم و دانش اموز بیاندازیم. من بررسی را ابتدا از دید یک معلم آغاز می کنم. (یعنی گزینه من معلم هستم را انتخاب می کنم!)
پنجره ثبت نام کاربر جدید ظاهری متداول دارد و تمام فیلد های برای پر کردن به شکلی معمول در آن به چشم می خورد. اما بعدا شما خواهید دید که صفحه ثبت نام ویژه دانش آموز یک تفاوت مهم در خود دارد.
پس از اتمام پروسه ثبت نام، به صفحه اصلی خود در ادمودو هدایت می شوید. صفحه ای که بطور ترسناکی مشابه فیس بوک است- البته به همراه برخی تغییرات جزئی در اینجا و آنجا تا آن را برای اهداف آموزشی مناسب گرداند.
قسمت بروز رسانی به گونه ای”تنظیم” شده که بتوان از آن به عنوان ابزاری برای ارسال یادداشت ها (مطالب درسی) ، هشدار ها و یادآوری ها، تکالیف و تمرین های درسی ، و نظرسنجی ها به دانش آموزان یا معلمان همکار دیگر استفاده نمود.
اگر شما یک معلم باشید، از اینکه این توانایی را دارید که به راحتی برای دانش آموزان خود تکالیف را ارسال کرده و دیگر نیازی به تکثیر معمول و دوره ای تکالیف ندارید خوشحال خواهید شد. فقط کافیست عنوان ، توضیحات و صورت سوالات ، و تاریخ تحویل تکلیف را در کادرهای مربوطه وارد کنید تا کار تمام شود. شما توانید فایل های مورد نیاز اعم از شکل ها و نمودارها، پیوند های وب ، و یا برخی از موارد مانند مراجع و مطالب اضافی برای مطالعه را از کتابخانه اضافه کرده و به تکلیف ضمیمه کنید. سپس دریافت کنندگان تکلیف را قبل از کلیک کردن بر روی “ارسال” انتخاب می کنید. این دریافت کنندگان همچنین می توانند دیگر معلمان در شبکه شما باشند، یا دانش آموزان مربوط به یکی از گروه های کلاسی.
معلمان همچنین این امتیاز را دارند که گروه هایی در شبکه خود ایجاد کنند. گذشته از گروه “کلاسی” (برای مثال : کودکستان ، کلاس اول،…،کلاس دوازدهم، کلاس آموزش عالی و دانشگاهی) و گروه “درسی” (به عنوان مثال : ریاضیات ، خلاقیت هنری ، فن آوری کامپیوتر و …) ، گروه ها همچنین می توانند بر اساس سطح دانش آموزانی باشند که شما بدانها درس می دهید، یا بر اساس سطح علاقه مندی در میان دانش آموزان به یک موضوع، یا سطح درک آنها از یک موضوع (مثلا دانش آموزان زرنگ، متوسط و ضعیف)، و غیره
سپس وضعیت (status) شما در مورد گروه هایی که ایجاد کرده اید به روز رسانی خواهد شد. یک چیز مهم که شما باید بدان توجه داشته باشید کد دسترسی به هر گروه است. شما باید به هر گروه از دانش آموزان خود در مورد کد گروهی که در آن عضو هستند اطلاع رسانی کنید، چرا که آنها بدون آن کد، قادر به عضویت در گروه نخواهند بود.
در قسمت پایین صفحه اصلی، چند چیز اساسی خواهید یافت که باید ان را تکمیل کنید تا حساب شما “کاملا کاربردی” گردد.
از دیدگاه دانش آموزان
اگر شما به عنوان دانش آموز وارد شوید، مراحل ثبت نام کمی متفاوت است. به غیر از اطلاعات اولیه شخصی شما ، بایستی کد گروه آموزشی را که باید بدان بپیوندید تا از مطالب آموزشی معملتان برخوردار گردید را نیز بدانید و آن را در کادر مورد نظر وارد کنید. این همان کدیست که از معلم خود زمانی که او گروهی ایجاد کرده و شما را در آن عضو کند دریافت خواهید کرد.
پس از ورود به حساب کاربری، در سمت راست لیستی از گروه هایی که به عضویت در آن درآمده اید در زیر آواتار یا آدمک حساب کاربری خود پیدا خواهید نمود. اگر می خواهید به گروه های دیگر بپیوندید به شرطی که کد دسترسی آن گروه ها را داشته باشید کافیست روی دکمه “عضویت” یا Join کلیک کنید.
همانطور که ملاحظه می کنید پیوندهایی به “تقویم آموزشی” (Calendar)، “نمرات” (Grades) و “کتابخانه” (Library) در بالای صفحه وجود دارد. در حالی که به راحتی می توانید حدس بزنید در داخل مورد اول و دوم چه خواهید یافت، مورد سوم کمی منحصر به فرد است و با آنچه از ذهن دارید متفاوت است. کتابخانه جاییست که شما می توانید تمام فایل ها و لینک های ارسال شده به شما و یا هر یک از گروه هایی که در آن عضویت دارید را مشاهده و دانلود نمایید.
شما همچنین می تواند فایل هایی را به کتابخانه خود اضافه کنید. این یک جای خوب برای ذخیره کردن آنلاین تمام مواد درسی مربوط به درس های شماست.
یکی دیگر از بخش هایی که ممکن است مایل به بازدید از آن باشید بخش Settings یا “تنظیمات” است. اینجا قسمتی برای تکمیل اطلاعات شخصی شما در نظر گرفته شده، و می توانید عکس پروفایل خود را تغییر دهید. شما می توانید یکی از تصاویر موجود را به عنوان عکس خود انتخاب کرده یا عکس دلخواه خود را آپلود نمایید.
شما همچنین می توانید تعیین کنید چه نوع اطلاع رسانی (notification) را در صفحه خود دریافت کرده و از نوع رویدادها و وقایعی باید مطلع شوید. انتخاب ها عبارتند از ایمیل و پیام متنی. متاسفانه همه کاربران نمی توانند پیام های متنی را به عنوان گزینه قابل انتخاب خود برگزینند چرا که این گزینه تنها برای کاربران اپراتورهای تلفن همراه معدودی در دسترس است.
جنبه اجتماعی ادمودو
در صدر همه ویژگی های ادمودو و قوی ترین جنبه آن باید جنبه اجتماعی این شبکه باشد. درست مانند فیس بوک، ادمودو جستجو ی دوستان و اضافه کردن آنها به لیست دوستان برای کاربران را ساده کرده است – حال این دوستان چه معلم باشند و چه دانش آموز. اگر شما یک معلمید و مدرسه ای را که در آن مشغول به کار هستید مشخص کرده باشید، ممکن است به سادگی با معلمان دیگر مدرسه آشنا شده و آنها را درون دوستان خود در شبکه قرار دهید و به این ترتیب زمینه همکاری بین معلمان به طرز مطلوب تری فراهم گردد.
اما ادمودو همچنین راه های خوبی برای حفظ حریم خصوصی کاربران دارد. مفهوم گروه در ادمودو سبب شده که هر چیزی که در یک گروه اتفاق می افتد محدود به اعضای همان گروه باشد. و از آنجا که پیوستن به هر گروه بدون کد دسترسی غیر ممکن است، معلمان می توانند مانع حضور “افراد ناخواسته” در یک گروه شوند درست همانطور که افراد غیر مرتبط را به کلاس درس راه نمی دهند یا از کلاس بیرون می کنند!
با همان نگاه اول، متوجه شدم ادمودو برای جوابگویی به بسیاری از نیازهای من در زمینه ابزار آموزشی و یادگیری مناسب است. اما شما فقط نباید حرف های مرا خوانده و بپذیرید. سعی کنید خودتان از این سرویس استفاده کنید و نظرات خود را در زیر به اشتراک گذارید.
منبع: makeuseof

مدرسه مجازی آموزش آنلاین برنامه نویسی (www.sva.ir) در نظر دارد نسبت به جذب تعدادی مدرس در زمینه برنامه نویسی اندروید اقدام کند.از واجدین شرایط دعوت می شود رزومه خود را تا حداکثر یک هفته از انتشار آگهی به svalam88@gmail.com ارسال فرمایند.
با تشکر
آدرس وب سایت: www.sva.ir
اندروید یک سیستم عامل متن باز (Open Source) است که از طرف گوگل پشتیبانی میشود. همین Open Source بودن آن هم باعث شده تا به سرعت و در طی چند سال فراگیر شود. به طوری که امروزه بیش از 70 درصد موبایل ها و تبلت های جدید مجهز به سیستم عامل اندروید هستند.
روزانه صدها اپلیکیشن و بازی جدید برای اندروید تولید میشود. در واقع استقبال تولید کنندگان موبایل و همچنین کاربران باعث شده است تا برنامه نویسان زیادی نیز اقدام به تولید نرم افزار و بازی برای اندروید کنند. برای برنامه نویسی به زبان اندروید، برنامه نویسان نیاز به Android SDK و پلاگین های Eclipse و ADT دارند.
اما Google Android Studio که یک پروژه جدید از طرف گوگل است، به صورت یکجا تمام امکانات لازم برای برنامه نویسی اندروید را فراهم کرده است. به این ترتیب برنامه نویسان میتوانند بدون نیاز به هیچ ابزار دیگری و فقط با کمک Google Android Studio اقدام به تولید اپلیکیشن و بازی برای سیستم عامل اندروید کنند.
این نرم افزار مخصوصا برای افرادی که به تازگی قصد شروع برنامه نویسی اندروید را دارند کاملا مناسب است.
Merge sort in c++ with codeblocks
کد برنامه:
#include
#include
#define max 10
using namespace std;
static int merge_arr[max+max],sort_arr[max+max];
class mergesort{
int arr1[max],arr2[max],n1,n2,n3;
public:
void getdata();
void showdata(int);
void mergeLogic();
void sortLogic();
};
void mergesort::getdata(){
int i;
cout <<"\n--Data Muat be Entered in Sorted Order for each Array--\n\n";
cout<<"How many elements you requir 1st-> Array:";
cin>>n1;
for(i=0;i
cout<<"How many elements you require 2nd ->Array:";
cin>>n2;
for(i=0;i
n3=n1+n2;
}
void mergesort::showdata(int select){
int i;
if(select==1){
cout<<"\n\n--Array1--\n";
for(i=0;i
else if(select==2){
cout<<"\n\n--Array2--\n";
for(i=0;i
else if(select==3){
cout<<"\n\n--Sorted Array--\n";
for(i=0;i
}
void mergesort::mergeLogic(){
int i,j,c;
for(i=0;i
for(j=i,c=0;j
}
void mergesort::sortLogic(){
//before sort call mergeLogic
mergeLogic();
int i,j,first=0,second=n1,third=n3;
i=first;
j=second;
static int c=0;
while(i
i++;
}
else{
sort_arr[c]=merge_arr[j];
j++;
}
c++;
}
if(i
i++;
c++;
}
}
if(j
j++;
c++;
}
}
}
int main()
{
//clrscr();
cout <<"\n*****Merge Sort*****\n";
mergesort obj;
obj.getdata();
obj.sortLogic();
obj.showdata(1);
obj.showdata(2);
obj.showdata(3);
getch();
}
۱- برنامه ای که دو عدد صحیح را از ورودی گرفته قادر به انجام چهار عمل اصلی بر روی این دو عدد باشد.
۲-برنامه ای که که یک عدد صحیح را از ورودی گرفته و با هر کلیک بر روی یک دکمه دو واحد به آن اضافه کند.
۳-برنامه ای که نام شما را از وردی گرفته و به شما پیغام خوشامد دهد.
۴-برنامه ای که معدل یک دانشجو را از ورودی گرفته و و بررسی کند قبول است یا مشروط و پیغام مناسب را نمایش دهد.
۵-برنامه ای که یک عدد را از ورودی و بررسی کندکه زوج است یا فرد.
۶-برنامه ای که دو عدد را از ورودی گرفته و عدد بزرگتر را مشخص کند.
۷-برنامه ای که سن کاربر را از ورودی گرفته و بررسی کند :
اگر کمتر از ۳۰ باشد پیغام دهد "جوان"
اگر سن بین ۳۱ تا ۵۰ باشد پیغام دهد "میان سال"
اگر سن بیشتر از ۵۰ سال باشد پیغام دهد "پیر"
۸-برنامه ای که یک عدد صحیح بین ۰ تا ۶ را از ورودی گرفته معادل روز آن را در هفته بنویسد.
۹-برنامه ای که نام کاربری و رمز عبور کاربر را گرفته و بررسی کند
اگر نام کاربری = admin رمز عبور = ۱۲۳۴ باشد پیغام دهد "مدیر خوش آمدید"
اگر نام کاربری= Guest رمز عبور=۱۱۱۱ باشد پیغام دهد "مهمان خوش آمدید"
۱۰-برنامه ای که یک عدد صحیح را از ورودی گرفته و تمام اعداد کوچکتر از آنان را در لیست باکس نمایش دهد.
۱۱-برنامه ای که تمام اعداد زوج کوچکتر از ۲۰ را در یک لیست باکس نمایش دهد.
۱۲-برنامه ای که یک عدد صحیح را از ورودی گرفته و تمام اعداد کوچکتر از این عدد را که بر ۳ بخش پذیرند را چاپ کند.
۱۳-برنامه ای بنویسید که مجموعه اعداد ۱ تا ۱۵ را نمایش دهد.
۱۴-برنامه ای که حروف انگلیسی را به صورت معکوس در یک لیست باکس نمایش دهد.
۱۶-برنامه ای که تمام اعداد اول کمتر از ۱۰۰ را در یک لیست باکس چاپ کند.
۱۷-برنامه ای بنویسید که شعاع یک دایره را از وردی گرفته و محیط و مساحت آن را حساب کند.
18-برنامه ای که طول و عرض یک مستطیل را گرفته و محیط و مساحت آن را نمایش دهد.
19-برنامه ای که یک عدد چند رقمی را از ورودی گرفته و وارون آنها را چاپ کند.
20-برنامه ای که نمره 5 دانشجو را گرفته و معدل آنها را چاپ کند.
21-برنامه ای که دو عدد را از ورودی گرفته و اولی را به توان دومی برساند.
22-برنامه ای که تاریخ جاری را از ورودی گرفته و صحت آن را بررسی کند:
سال بیشتر از 1391 نباشد ، ماه بین 1 تا 12 باشد و روز بین 1 تا 31 باشد
23-برنامه ای که کاراکتری را که نشان دهنده رنگی است را از ورودی گرفته و رنگ زمینه را به آن رنگ تبدیل کند
r=red
b=blue
g=green
24-برنامه ای که یک عدد صحیح را از ورودی خوانده و تمام اعداد کامل کوچکتر از آن را نمایش دهد.
30-برنامه ای که با هر کلیک بر روی یک دکمه رنگ فرم را تغییر دهد.
برای دانلود این برنامه ها و سورس آنها به زبان c#.net بر روی لیک دانلود زیر کلیک کنید.

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

حتما تمامی کاربران اندروید با نرم افزار مسیر یابی گوگل یعنی Google Maps آشنایی دارند. برنامه ای ساده و با امکاناتی بسیار عالی. اما همیشه مشکل اصلی این برنامه ، آنلاین بودن نقشه های آن و نیاز داشتنش به اینترنت بود که موجب می شد بسیاری از کاربران از استفاده کردن از این برنام منصرف شوند. اما گوگل این مشکل را در نسخه های جدید حل کرده و امکان دانلود نقشه محل مورد نظر را افزوده است. برای مشاهده گام به گام آموزش در ادامه مطلب با ما همراه باشید.
- حتما از آخرین نسخه Google Maps استفاده کنید. (دانلود)
- برنامه را اجرا کرده و وارد منوی Settings شوید. سپس به قسمت Labs رفته و تیک گزینه Pre-cache map area را فعال کنید.

حال وارد برنامه شده و در قسمت search ، نام محلی که قصد دریافت نقشه آنجا را دارید وارد کنید. ( برای مثال mashhad )

مطابق شکل ، نام محل را انتخاب کرده و از صفحه باز شده Precache map area را انتخاب کنید.

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

مردم معمولا اینترنت موبایل خود را رو با pc به اشتراک می زارند.ما در این آموزش قصد داریم برعکس این کار یعنی به اشتراک گذاشتن اینترنت pc بر روی موبایل اندرویدی شما رو آموزش بدیم . در ادامه مطلب با ما همراه باشید!
-برای این کار گوشی یا تبلت شما باید روت باشه.
-نصب بودن درایور بر روی گوشی اندرویدی خود مطمئن شوید.
-ابتدا usb debugging رو از مسیر setting/application/development فعال کنید.

1-فایل reverse thetering رو دانلود کنید.
۲-در یک فولدر اکسترکت کنید. androidtool.exe رو مانند تصویر زیر انتخاب کنید.

3-دستگاه خودتون رو با usb وصل کنید.
۴-در ردیف select a device گوشی شما(شماره سریالش) ظاهر می شه اون رو انتخاب کنید و connect رو بزنید.

5-روی گوشی شما پیامی از SU میاد که گزینه allow یا grant رو بزنید.

6- اگر به اخطاری برخورد کردید دوباره امتحان کنید و همچنین از تب tools گزینه kill adb رو بزنید.
-باید در گوشی connected ظاهر شود که در این صورت با موفقیت کانت شدید . اگه نرم افزارا نتونستند کانکت بشند mobile network یا wifi رو روشن کنید در این صورت اندروید فکر می کنه شما دارید از wifi استفاده می کنید در صورتی که دارید از reverse thetering استفاده می کنید.


ایتنا – یک کارشناس امنیتی در آزمایشی یک گوشی هوشمند اندرویدی را در اختیار گرفت و نشان داد که چگونه از طریق آن میتوان مقصد، ارتفاع و سرعت هواپیمای مجازی را با ارسال اطلاعات نادرست تغییر دهد.
سیستمهای خودکار هوانوردی که این روزها در برخی از هواپیماهای تجاری مورد استفاده قرار میگیرند، نقاط آسیبپذیری را شامل میشوند که به سوءاستفادهگران اینترنتی امکان میدهد کنترل سیستمهای هدایتگر هواپیما را در اختیار بگیرند و اطلاعات نادرست و دروغین را در نمایشگر مقابل خلبان منتشر کنند و در نهایت دستور به انجام فعالیتهای غیرضروری از جمله باز شدن ماسکهای اکسیژن برای مسافران بدهند.
به گزارش ایتنا از فارس به نقل از اینفورمیشنویک، این آسیبپذیری را نخستین بار “هوگو تزو”(Hugo Teso) یکی از محققان مرکز مشاوران امنیتی N.Runs در آلمان کشف کرد که البته او خلبان یکی از هواپیماهای تجاری نیز است. او این آسیبپذیری را در کنفرانس Hack In The Box که در آمستردام برگزار شده بود، مطرح کرد.
وی برای این کار ابزاری را مبتنی بر سیستمعامل اندروید ساخته است که PlaneSploit نام دارد. تزو در این آزمایش یکی از گوشیهای Galaxy سامسونگ که روی آن سیستمعامل اندروید نصب شده است را در اختیار گرفت و نشان داد که چگونه از طریق آن میتوان مقصد، ارتفاع و سرعت هواپیمای مجازی را با ارسال اطلاعات نادرست تغییر دهد.
تزو در این باره توضیح داد: «شما میتوانید از این سیستم برای اصلاح تقریبا هرچیزی که با سیستم ناوبری هواپیما در ارتباط است، استفاده کنید. این جریان میتواند فجایع زیادی به دنبال داشته باشد».
با این وجود این کارشناس توضیح داد که اگر یک هواپیما اطلاعات ناوبری نادرست دریافت کند، خلبان بازهم میتواند کنترل سیستمها را در دست بگیرد و هواپیما را در مسیر درست هدایت کند.

APK Downloader افزونه ای برای مرورگر کروم است که به شما اجازه می دهد تا فایل های apk را از مارکت اندروید دانلود کنید
ابتدا apk downloader را دانلود کنید و در مرورگر خود نصب کنید
پیش نیاز :
کروم ۱۷ یا بالاتر
۱- SSL error warnings را غیر فعال کنید
اگر شما این مرحله را انجام ندهید، افزونه کار نخواهد کرد
بر روی مرورگر کلیک راست کرده و سپس Properties را انتخاب کنید
به قسمت Shortcut رفته و در قسمت Target بعد از زدن space متن زیر را اضافه کنید
–ignore-certificate-errors
C:\…\chrome.exe –ignore-certificate-errors
مرورگر خود را بسته و دوباره باز کنید
به صفحه تنظیمات افزونه رفته در صورتی که کادر هشدار مشاهده نشود SSL error warnings با موفقیت غیر فعال شده است
۲- ایمیل و ID دستگاه را در قسمت تنظیمات افزونه وارد کنید
*#*#۸۲۵۵#*#* را در گوشی خود وارد کنید و با وارد شدن به GTalk Service Monitor
ID دستگاه خود را پیدا کنید
برای مثال اگر android-1234567890abcdef مشاهده شد
ID دستگاه شما ۱۲۳۴۵۶۷۸۹۰abcdef است


نکته : در هنگام وارد کردن ایمیل و پسورد ۲-step verification باید غیر فعال باشد
سپس بر روی Login کلیک کرده و از مارکت اندروید استفاده کنید
موفق باشید
به همین راحتی شما میتونید برنامه ها و بازی های که دوست دارید رو از گوگل پلی دانلود کنید.
androidina.net
|
وزن آیفون 5، 112 گرم بوده و این در حالی است که وزن گلکسی اس 4، 130 گرم است. البته نباید تنها وزن زیاد این گوشی هوشمند را ملاک قرار دهیم زیرا گلکسی اس 4 مجهز به یک صفحهی 5 اینچی بوده که این صفحه نمایش در آیفون 5 تنها 4 اینچ را به خود اختصاص میدهد. تراکم پیکسلها یا همان کیفیت صفحه نمایش در گوشی اهمیت بسیار بالایی دارد. تراکم پیکسلی گلکسی اس 4 به میزان 441 پیکسل در هر اینچ بوده و تراکم پیکسلی آیفون 5 میزان 326 پیکسل در هر اینچ است. برای عدهی بسیاری از کاربران حافظه اهمیت بسیار بالایی دارد. هر دوی این گوشیها مجهز به حافظهی داخلی 16 گیگابایت هستند اما نکتهی مثبتی که در گلکسی اس 4 به چشم میخورد، وجود درگاه کارت حافظه است که کاربر میتواند با توجه به احتیاج خود تا 64 گیگابایت به حافظهی این گوشی اضافه کند. هر دوی این گوشیها مجهز به فناوری 3G و4G هستند. علاوه بر این امکانات در قلب گلکسی اس 4 یک پردازندهی چهار هستهای 1.6 گیگاهرتزی و یک پردازندهی چهار هستهای 1.2 تعبیه شده است. در کنار این پردازندهی شرکت سامسونگ، یک رم 2 گیگابایتی قرار گرفته اما آیفون 5 مجهز به یک پردازندهی دو هستهای 1.2 گیگاهرتزی و یک رم 1 گیگابایتی است. کاربر میتواند با گلکسی اس 4 به مدت 14 ساعت مکالمه کند و زمان مکالمه در آیفون 5 هشت ساعت است. در قسمت پشتی گلکسی اس 4 یک دوربین 13 مگاپیکسل تعبیه شده اما هنگامی که کاربر در حال عکس گرفتن با آیفون 5 است تصاویر را با وضوح 8 مگاپیکسل ذخیره میکند. براساس اطلاعات درج شده در سایت تک کرانچ (techcrunch) هر دوی این گوشیها مجهز به دوربین دوم هستند. وضوح دوربین دوم گلکسی اس 4 دو مگاپیکسل و وضوح دوربین آیفون 5 به میزان 1.2 مگاپیکسل است. بدنهی آیفون 5 از آلمینیوم ساخته شده اما گلکسی اس 4 بدنهی پلاستیکی دارد. در پایان باید به سیستم عامل این دو تلفن همراه اشاره کنیم. سیستم عامل گلکسی اس 4 آندروید 4.1 است که در ایران کاربرد بیشتری دارد. آیفون 5 مجهز به سیستم عامل iOS 6 است، سیستم عاملی که قلب عدهی بسیاری را تصاحب کرد. |
در
برنامه نمونه زیر میخواهیم بدون اینکه از دوربین گوشی اندروید استفاده
کنیم، فلاشر آنرا خاموش/روشن نماییم. کاربرد عملی آن زمانی است که فرضاً
برق رفته و میخواهیم مسیرمان را پیدا کنیم. یا فرضاً وارد سینما شده ایم و
ازآنجاکه محیط تاریک است میخواهیم شماره ردیف صندلی را پیدا کنیم.
البته، برنامه ای که خواهید دید به جزییات گرافیکی نپرداخته و هدف آن آشنا کردن شما با موارد زیر است :
۱) استفاده از Handler
2) خاموش/روشن کردن فلاشر دوربین
بعد از ساخت پروژه ابتدا به سراغ مانیفست میرویم تا منابعی را که نیاز داریم معرفی کنیم یا بعبارتی اجازه دسترسی به منابع مورد نیاز را بگیریم. در این برنامه به دو منبع نیاز داریم، دوربین و فلاشر که به طریق زیر به برنامه اضافه شان میکنیم.

همانطور که ملاحظه می فرمایید در خط ۱۲ اجازه دسترسی به دوربین را گرفته ایم و در خط ۱۴ اجازه دسترسی به فلاشر را. سایر خطوط نیاز به توضیح ندارند چراکه مطمئنم با آنها آشنا هستید. اگر با آنها آشنا نیستید لطفاً به آموزشهای ابتدایی همین سایت مراجعه فرمایید.
روند کار به این صورت است که ابتدا می بایست سخت افزار گوشی را چک کنیم تا مطمئن شویم فلاشر وجود دارد. سپس یک ترد میسازیم و ۱۰ بار فلاشر را روشن/خاموش میکنیم. دستور روشن خاموش شدن فلاش در هندلر برنامه داده خواهد شد. ابتدا به کد برنامه نگاه بیاندازید.

خطوط ۴۴-۴۸: در اینجا ابتدا چک میکنیم که آیا فلاشر داریم یا خیر. اگر نداشتیم در همانجا متوقف میشویم و با پیامی کاربر را از عدم وجود فلاشر آگاه میکنیم.
خطوط ۴۹-۵۲: در خط ۴۹ یک آبجکت از دوربین ساخته ایم که در برنامه از آن استفاده خواهیم کرد. سایر خطوط مهم نیستند و فقط برای این نوشته ام تا در Log بتوانید مشخصه های دوربین را ملاحظه فرمایید.
خطوط ۵۴-۵۵: پارامترهای دوربین را در متغیری ذخیره میکنیم. از آنجاکه دوربین به اکتیویتی متصل نشده دستور خط ۵۵ نمیتواند چیزی را بر روی صفحه نمایش نشان دهد ولی وجود آن برای درست کار کردن فلاشر ضروری است.
خطوط ۵۷-۷۱: یک ترد ساخته ایم و گفته ایم که تا ده مرتبه هر ثانیه یک عدد به مقدار کانتر اضافه کند. متغییری با نام flashStatus هم داریم که هر ثانیه مقدارش از true به False یا بالعکس تغییر میکند. سپس با دستور خط ۶۴ هندلر را صدا میزنیم.
خطوط ۲۳-۳۷: هر یک ثانیه یک بار این متد اجرا میشود و بسته به مقدار flashStatus یکی از دو شرط if در خط ۲۷ اجرا میشود.
خطوط ۷۵-۸۱: متد onPause که دیگر احتیاج به توضیح ندارد. در این متد منابع مورد استفاده را آزاد میکنیم.
=============
نکته مهم: این برنامه بصورت بهینه نوشته نشده و دارای نواقص زیادی است. مهمترین چیزهایی که خواستم طریقه استفاده از آنها را شرح دهم، همانطور که در بالا گفته شد، یکی استفاده از هندلر و دیگری تنظیمات فلاشر است.
یکی از سخت ترین قسمت های کار اندروید انجام تنظیمات دوربین است مثلاً در خط ۲۸ بجای استفاده از Parameters.FLASH_MODE_ON از Parameters.FLASH_MODE_TORCH استفاده شده چراکه بر روی گوشی سامسونگ اولی باعث روشن شدن فلاشر نمی شود. این برنامه را من بر روی گوشی SG2 تست کرده ام، حال آنکه ممکن است بر روی HTC یا سونی قابل اجرا نباشد. اگر در برنامه تان نیاز به پشتیبانی انواع مدل های گوشی داشتید حتماً سعی کنید کلاسهای مختلف بر اساس گوشی های مختلف بسازید و با استفاده از پلی مرفیزم کلاس مورد نظرتان را اجرا کنید.
kamalan.com

اگر دقت کرده باشید بر روی کیبورد، درگوشه پایین و چپ اسکرین دکمه ای است که بسته به شرایط میتوانید اکشن آنرا تغییر دهید. همیشه این اکشن با بسته شدن صفحه کلید همراه نیست. برای درک بهتر ماجرا بهتر است کیس فرم را بررسی کنیم.
فرض کنید فرمی داریم که از سه EditText و دو دکمه (Button) تشکیل شده است. یکی از دکمه ها محتوای EditTextها را پاک میکند و دیگری اطلاعات EditTextها را به سرور ارسال میکند. زمانیکه کاربر وارد صفحه میشود و بر روی یکی از EditTextها کلیک میکند، کیبورد نرم افزاری باز میشود. باز شدن کیبورد بسته به سایز موبایل/تبلت ممکن است روی دکمه ها را بگیرد. در این حالت برای ارسال دیتا به سرور، کاربر میبایست ابتدا صفحه کلید را ببندد (مثلاً با فشردن دکمه Back) و سپس بر روی دکمه ازسال دیتا کلیک کند.
حال فرض کنید صفحه کلید باز است و از آنجاکه طول موبایل/تبلت زیاد است امکان کلیک مستقیم بر روی دکمه ها بدون بستن صفحه کلید وجود دارد. فرضاً کاربر اطلاعاتی را در EditText اول وارد میکند و سپس دکمه ارسال دیتا را کلیک میکند. در این حالت اگر در همان اکتیویتی نتیجه ارسال را بخواهید نمایش دهید، می بینید که کیبورد همچنان باز است.
تکه کد زیر دستور بستن صفحه کلید را میدهد. دقت کنید که این تکه کد میبایست در Callback (در سایر زبانهای برنامه نویسی به event معروف است) دکمه ها نوشته شود تا قبل از ارسال دیتا ابتدا صفحه کلید را ببندد و سپس دیتا را ارسال کند. نکته اینکه بدنیست مقدار ()getCurrentFocus را هم چک کنید تا Null نباشد. این زمانی اتفاق می افتد که هیچ Viewی در حالت فوکس قرار نگرفته باشد.

بیشتر افرادی که در زمینه وب کار کرده اند واژه Marquee کاملا براشون آشناس و حتما ازش استفاده کرده اند، در این آموزش قصد داریم نحوه استفاده از آن را در اندروید بررسی کنیم.
یکی از امکاناتی که در اندروید وجود داره برای text ، Maquee هستش که بطور پیشفرض برای زبان فارسی یا عربی طراحی نشده است و متن به صورت RTL حرکت میکند.این روش برای متن های فارسی جالب نیست و برعکس متن ها نمایش داده میشود. برای رفع این مشکل در این آموزش این مورد را بررسی میکنیم.
اما برای شروع Marquee پیشفرض اندروید را تست میکنیم ، که ببینیم خروجی به چه صورتی هستش. ابتدا در پروژه ای که در انتهای مطلب قرار داده شده فایل main.xml را باز میکنیم تا ببینیم برای شروع به چه لی آوتی نیاز داریم.

خب در این لای آوت که مشاهده میکنید از یک Textview و یک Webview استفاده شده است که marquee را بر روی آنها انجام میدهیم.
خط ۱۳- ویجت webview تعریف شده و سایزی برای آن در نظر گرفته شده است
خط ۲۰- آنچنان که مشاهده میکنید Textview معرفی گردیده و خاصیت های مربوط به Marquee در آن تعریف شده است و متنی طولانی هم برای نمایش خروجی در آن قرار داده ایم.
خب فایل جاوای MarqueeActivity رو باز میکنیم .

خط ۲۱ : در این خط ویجت انتخاب میشود و باعث میشود متن به حرکت در آید.اگه این کد نوشته نشود متن هرچقدر هم بزرگ باشد عملیات Marquee انجام نمیشود.
خط ۲۵ : این خط باعث فعال شدن دستورا جاوا اسکریپت در ویجت میشود.این خط تاثیری در این کد ما نداره .فقط برای اشنایی آن را قراره داده ایم.
خط ۲۸ : این خط باعث حذف شد اولین کاراکتر و آخرین کاراکتر رشته میشود.
خط ۲۹ : در این متغیر رشته ای دستورات htmL قرار داده شده اند که دستور Marquee نیز در آن باعث حرکت متن به سمت راست میشود
خط ۳۵ : دستور را در ویجت لود میکند.
در این بخش میتوانید حتی سرعت، نحوه چرخش و حتی css را روی کد خود لحاظ کنید تا UI بهتری داشته باشید.
کلا از Webview در جاهای زیادی میشه استفاده کرد و امکانات فراوانی در اختیار برنامه نویسی قرار میدهد.
===================
دریافت کد برنامه
kamalan.com
پس از دانلود goolge api ، شما برای
استفاده از نقشه های گوگل در برنامه های اندرویدی خود ، نیاز به یک شماره
رمز منحصر بفرد دارید که باید از گوگل دریافت کنید. در واقع این شماره در
هنگام بارگذاری نقشه توسط گوگل کنترل می شود و مشخص می کند که شما یک کاربر
شناخته شده برای گوگل هستید . بدون دریافت این رمز منحصر بفرد شما قادر به
بارگذاری نقشه های گوگل در محیط اکلیپس نخواهید بود.
اولین مرحله برای دریافت رمز Api key ، بدست آوردن کد MD5 مربوط به jdk نصب
شده بر روی کامپیوتر شماست. در واقع شما باید کد MD5 مربوط به جاوا ی خود
را در اختیار گوگل قرار دهید تا بتواند Api key کاملا هماهنگی با نسخه
جاوای شما ارائه دهد. البته برخلاف توضیحات گفته شده اصلا کار پیچیده ای
نیست و فقط باید با دقت انجام شود .
اولین اقدامی که باید انجام دهید ایجاد یک حساب گوگل است، زیرا بدون داشتن
یک جی میل هرگز نمی توانید از گوگل رمز api را دریافت کنید.
پس از ساخت جی میل ، به آدرس اینترنتی https://developers.google.com/maps/documentation/android/v1/maps-api-signup
مراجعه کنید. این صفخه توافق نامه گوگل است که شما باید با تایید موارد توافق نامه وارد مرحله بعد شوید. طبق شکل زیر:
پس از تایید موارد توافق نامه ، کد MD5 را از شما درخواست می کند.

حال برای دریافت کد MD5 مراحل زیر را طی کنید:
۱- ابتدا به مسیری که برنامه جاوا را در ان نصب کردید مراجعه کنید بطور مثال
C:\Program Files (x86)\Java\jdk1.6.0_30\bin
حال برنامه cmd را باز کرده و با نوشتن کد cd بهمراه آدرس گفته شده طبق شکل زیر و زدن enter به آدرس مورد نظر بروید:

۲- بعد از مشخص کردن آدرس شروع، کد زیر را باید وارد کنید:
keytool -list -alias androiddebugkey -keystore C:\Users\Dan\.android\debug.keystore -storepass android -keypass android
قبل از وارد کردن کد بالا ، باید توضیحاتی ارائه شود. نخست اینکه قسمت مشخص شده با رنگ سبز در واقع آدرس debug key store واقع در کامپیوتر شماست که برای هرکس می تواند یک آدرس متفاوت باشد. برای دسترسی به این آدرس برنامه اکلیپس خود را باز کرده و از منوی preferences< windows، بخشAndroid را انتخاب کرده و از قسمت build طبق شکل زیر می توانید به آدرس موردنظر دست یابید.

پس از تصحیح کد در cmd و زدن دکمه enter می توانید کد MD5 را طبق شکل زیر مشاهده کنید.

حال با وارد کردن کد MD5 در صفحه توافق
نامه گوگل، وارد صفحه ای می شوید که ازشما میخواهد به حساب جی میل خود وارد
شوید. پس از ورود به حساب جی میل خود ، google api key به شما ارائه میشود
طبق شکل زیر:

امیدوارم این مطلب مفید واقع شود.
kamalan.com
دریافت نسخه ی pdf این آموزش [1.37 مگابایت]
خوب بعد از تمام مراحل اولیه ای که انجام دادیم، وقتش رسیده که یاد بگیریم چطور یه پروژهی اندروید بسازیم. برای این کار برنامه ایکلیپس رو باز کنید.
۱.برای ساختن یه پروژه قبلا یه راه طولانی بوده، اما الان می خوایم از راه سریعتری استفاده کنیم.فقط کافیه از ابزاری که بعد از نصب ADT تو ایکلیپس اضافه شد استفاده کنید. (راهنمای نصب ADT و ابزار اندروید در ایکلیپس). همون طور که قبلا گفته شد دکمهای برای ساختن پروژه جدید در اندروید وجود داره. (این عکس) روش کلیک کنید. خوب حالا باید مشخصات پروژه تون رو تعیین کنید.
اولین گزینه اسم برنامه است، (همون اسمی که تو play store خواهد بود و همین طور توی لیست برنامه ی گوشی)
فیلد بعدی اسم پروژهایه که میخواید بسازید و فقط تو محیط ایکلیپس ازش استفاده میشه و میتونه همون اسم واقعی برنامهتون باشه.
فیلد بعدی اسم پکیج یا بستهی برنامهتونه و package name معمولا برعکس دومین سازندهی برنامه است. باید حواستون باشه که این اسم خیلی مهمه چون وقتی میخواید برنامهتون رو به روز رسانی کنید تنها راهی که سیستم اندروید متوجه میشه این آپدیت مربوط به کدوم نرمافزاره از همین طریقه. و باید توی این دنیای برنامهها هر برنامهای package name مخصوص خودش رو داشته باشه.
در قسمت بعدی باید نسخهی اس دی کی مورد نظرتون رو انتخاب کنید. برای این کار پیشنهاد میشه کمترین API levelای که برنامتون میتونه باهاش کار کنه رو انتخاب کنید، مثلا اگه از هیچ ویژگی خاص جینجربرد استفاده نمی کنید، معقول تره که نسخه های پایین تری ازش رو انتخاب کنید تا کاربرانی که نسخه های پایین تری دارند هم بتونن از برنامتون استفاده کنن. در فیلد بعدی هم باید کمترین نسخهی API ای که کاربر میتونه داشته باشه رو انتخاب کنید، مثلا می خواید از یه ویژگی خاص آیسکریمسندویچ استفاده کنید ولی با این حال برنامهتون روی گوشی های مدل پایین ترهم اجرا میشه ولی ممکنه باگ داشته باشه، شما Minimum Required SDK رو میذارید رو API8 تا توی play store همه بتونن دانلودش کنن و بعدا وقت باگهاش دراومد درستش کنید.خود گوگل هم پیشنهاد کرده API 8 رو انتخاب کنید تا تقریبا تمام گوشیهای اندروید برنامهتون رو اجرا کنن.
گزینه ی ceate custom launcher icon اگه تیک خورده باشه یعنی اینکه همین الان که میخواید پروژهی برنامهتون رو بسازید، بیاید آیکون برنامهتون رو هم طراحی کنید و بذارید تو برنامه.
گزینهی بعدی برای اینه که بخواید کتابخانهی اندروید بسازید.
گزینهی بعدی هم اگه تیکش رو بردارید میتونید محل ذخیره شدن پروژه رو تغییر بدید.حالا که همه چیز رو مشخص کردید next رو بزنید.
۲. اگر تو مرحلهی قبل گزینهی ساختن آیکون رو تیک زده باشید حالا ازتون می خواد که آیکون برنامهتون رو درست کنید، میتونید یه نوشته رو انتخاب کنید و تزئینش کنید (Text) یا از طرحهای گرافیکی خود اندروید استفاده کنید (Clipart) یا اینکه یه عکسی رو از توی کامپیوترتون انتخاب کنید و به عنوان آیکون برنامه ازش استفاده کنید.
بعد با گزینه هایی که داره محل قرار گرفتن عکس رو تنظیم کنید. گزینهی Trim Surrounding Blank Space فضای خالی اطراف عکس رو میبره. اگه تیکش رو بردارید، می تونید خودتون انتخاب کنید چقدر از فضای اضافهی دور عکس بمونه.
Shape سه تا حالت داره یا هیچی (None) یا مربعی (Square) یا دایرهای (Circle). و میتونید رنگ پس زمینه رو هم انتخاب کنید.
بعد از طراحی آیکون برنامهتون next رو بزنید.
۳.گزینهی بعدی یه فعالیت (activity) میسازه. و مشخصه که هر برنامه ای حداقل باید یه صفحه داشته باشه که همون فعالیته. پس بذارید گزینهی Create Activity فعال بمونه، حالا باید انتخاب کنید که یه فعالیت معمولی میخواید یا یه فعالیت با جزئیات جامع (MasterDetailed). اگر فعالیت با جزئیات کامل رو انتخاب کنید بهتون این امکان رو میده که روی تبلتها دو تا ستون داشته باشید و روی صفحات کوچکتر یه ستون و دوتا فعالیت براتون میسازه و غیره و ازتون میخواد که سطح API برنامهتون رو بالاتر از API 11 انتخاب کنید تا این ویژگی فعال شه. اگر هم یه فعالیت معمولی میخواید که میتونید next رو بزنید.
۴.اگر در قسمت قبل انتخاب کرده باشید که یه فعالیت (activity) بسازید، الان ازتون میخواد که اول اسم فعالیت رو انتخاب کنید بعد اسم صفحه بندیاش رو انتخاب کنید. بعد ازتون میخواد ماهیت فعالیتتون رو انتخاب کنید اگر None رو انتخاب کنید مشکلی نیست ولی اگه هر کدوم از گزینههای دیگه رو انتخاب کنید ازتون میخواد که کمترین سطح API تون رو ۱۴ بذارید (و طبعا باید API 14 رو هم دانلود و نصب کرده باشید)
قسمت بعد از شما میخواد که برای وقتی که توی این فعالیت هستید و کلید بازگشت زده میشه، اگه تابع مشخصی تو نظرتون هست بنویسید اگر هم نه که خالی بذاریدش.
قسمت بعدی هم اسم فعالیته که در زمان اجرا بالاش نوشته میشه. Finish رو بزنید تا پروژه ساخته بشه.
ممکنه ازتون بخواد که کتابخانهی اندروید رو نصب کنید و این پیغام خطا رو نشون بده :
به مسیری که sdk تون ذخیره شده برید، جایی که فولدرهای tools, platform-tools, platforms و.... قرار داره، یه فولدر با اسم extras بسازید، بعد توش یه فولدر دیگه به اسم android بسازید، بعد این فایل رو دانلود کنید و از حالت فشرده خارج کنید و داخل فولدری که همین الان ساختید قرار بدید، ایکلیپس رو اگه باز هست ببندید و دوباره اجراش کنید، حالا شروع به ساختن پروژهی جدید کنید.
۵.خوب بعد از اینکه پروژه ساخته شد. قسمت سمت چپ ایکلیپس توی ستون Package Explorer باید اسم پروژتون رو ببنید. روی دکمهی مثلثی بغلش کلیک کنید تا زیرشاخه هاش رو نشون بده، بعد src رو انتخاب کنید و بعد هم اسم package تون رو. می بینید که یه فایل جاوا ساخته شده که مربوط به همون activity هست که تو مرحله قبل دستور داده بودید بسازه.
ما تو این فایل جاوا می تونیم توابع مختلفی رو override (دوباره نویسی تابعی که از والد -در اینجا کلاس Activity- ارث بری شده) کنیم تا activity کامل تری داشته باشیم. به طور پیش فرض خودش onCrete رو override کرده. همون طور که قبلا اشاره شد، می تونیم توابعی مثه onPause , onStart و... رو override کنیم.
۶.override کردن تابع onCreate ضروریه و می بینید که اول دستور super.onCreate رو فراخوانی می کنه بعد هم با دستور setContentView محتواش رو روی صفحه بندی (layout) این activity تنظیم می کنه. (با ارجاع به فایل xml ای که در شماره بعد توضیح داده شده) تا وقتی که ContentView تنظیم یا ست نشده باشه ما در خروجی چیزی نمی بینیم.
۷.اون R.layout.main به فایل xml ای ارجاع داده میشه به نام main. این فایل xml در زیرشاخه res و بعد هم layout قرار داره. (بقیه زیر شاخه ها رو تو شمارهی ۱۳ آموزش خواهیم داد) که اگه روش کلیک کنید براتون یه صفحه ای رو میاره که توش واسط کاربری (UI) برنامه تون رو میتونید درست کنید.
۸.اگه از قسمت پایینی همین صفحه main.xml رو انتخاب کنید، کد xml نوشته شده برای نمایش این activity رو بهتون نشون میده. همون طور که می بینید این activity روی یک linearlayout سوار شده (خط ۲ کد) و یک TextView هم که به صورت پیش فرض روی صفحه بود اینجا ساخته و مقدار دهی شده. (خط ۷ کد). در پست های بعدی این قسمت بیشتر توضیح داده خواهد شد.
۹. خوب حالا برای اجرای نرم افزار روی دکمهی Run بالای صفحه کلیک کنید (توی تصویر مشخصه). و چون اولین باره که می خواید پروژه های اندرویدی رو اجرا کنید ازتون می پرسه چه مدلی قصد دارید اجراش کنید، همون اولین گزینه یعنی Android Application رو انتخاب کنید و OK رو بزنید.
۱۰.حالا شبیه ساز (emulator) شروع به شبیه سازی این برنامه می کنه یعنی اول برنامه رو روی دستگاه مجازی نصب می کنه و بعد هم اون رو اجرا می کنه، که یه هم چین چیزی می شه :
و اگه تو دستگاه مجازی به قسمتی برید که همه برنامه ها رو نشون میده میبینید که این برنامه هم نصب شده و با باز و بسته کردن شبیه ساز از بین نمی ره و تنها در صورتی از بین می ره که خودتون wipe user data رو که قبلا توضیح دادم (شماره ۱۰ این آموزش) رو انتخاب کرده باشید یا به صورت دستی پاکش کنید (uninstall).
۱۱.خوب تا اینجا فهمیدیم که یه پروژه به صورت پیش فرض یه فایل جاوا داره که کلاس Activity رو ارث بری (extends) می کنه و توش به یه فایل xml اشاره می کنه که همون UI یا واسط کاربریه.
حالا بیاید با فولدرهای دیگهی پروژه آشنا بشیم. در ستون سمت چپ یه فولدری هست به نام gen که توصیهی اکید میشه اصلا دستکاریش نکنید. چون شامل فایل هایی هست که به صورت خودکار generated میشه. ولی حالا یه کم درباره اش توضیح می دیم. روی فایل R.java کلیک کنید تا بازش کنه.
همین طور که در طول برنامه ما منابعی (resources) رو به برنامه اضافه می کنیم (که در فولدر res ذخیره میشن) اندروید به صورت خودکار ورودی هایی رو براشون در این فایل R.java تعبیه می کنه. مثلا برای آیکن برنامه یه ورودی ic_launcher ساخته و بهش یه عدد خاصی رو نسبت داده.
خوب حالا لازم نیست نگران این قسمت باشید فقط می خواستم بدونید هم چین فایلی وجود داره.
۱۲.فولدر بعدی که می خوایم بررسی کنیم android 2.1 هست، این فولدر در واقع همون SDK هست که شامل تمام توابع و ساختار هاییه که به صورت پیش فرض تعریف شده و همشون در یک کتابخانه به نام android.jar گردآوری شده. شاید در طول انجام پروژه اصلا نیازی پیدا نکنید که بهش مراجعه کنید ولی خوب اگه از توابع و اینا خواستید مطلع بشید می تونید یه نگاهی بهش بندازید.
۱۳. بعدش فولدر assets هست (که بعدا بهش می پردازیم) و بعد هم فولدر res که مخفف resources به معنی منابع هست و تمام عکس ها و فایل هایی که می خواید تو برنامه تون ازش استفاده کنید رو باید اینجا نگه داری کنید. مثلا الان آیکن برنامه به صورت پیش فرض توی فولدرهای drawable وجود داره. تمام فایل های xml مربوط به layout ها (صفحه بندی ها) دراینجا نگه داری می شه.
۱۴. فایل بعدی AndroidManifest.xml هست که توی پست بعدی مفصل دربارش توضیح خواهیم داد. در واقع این فایل یک ویرایشگر بصریه (Visual Editor) که قسمت های مختلف نرم افزار رو می تونیم توش تغییر بدیم. در واقع این فایل برنامه شما رو برای سیستم اندروید تعریف و تشریح می کنه.
دو تا فایل بعدی یعنی progaurd.cfg و project.properties هم مهم نیستن.
تماشای برخط (لینک مستقیم) فیلم آماده کردن دستگاه مجازی برای توسعه
دریافت نسخه pdf این آموزش [348 کیلوبایت]
وقتی میخواید که نرم افزارتون رو روی دستگاه واقعی اندروید (گوشی اندرویدی) امتحان کنید، باید یه سری نکات رو رعایت کنید تا برنامتون اجرا بشه.
خوب قبل از اینکه نشونتون بدم باید بگم که سیستم عامل گوشی های اندروید، ممکنه یه تفاوتهای کوچیکی باهم داشته باشن و خیلی کم پیش میاد دقیقا مثه همین شبیه سازی که میبینید باشه، مثلا گوشی های HTC یا Motorola و ... سیستم عاملشون یه تفاوتهایی داره و دقیقا همون نسخهی خام گوگل رو استفاده نمیکنن. ولی در کل محلی که تنظیمات (Setting) قرار میگیره معمولا یکیه.
۱.خوب با توجه به این توضیحات، توی گوشی اندرویدتون منو (Menu) رو بزنید. بعد هم Settings.
۲.بعد هم Applications.
۳. بعد هم Development.
خوب از همه مهمتر اینه که گزینهی USB Debugging فعال باشه تا وقتی با کابل گوشی رو به کامپیوتر وصل میکنید بتونید به راحتی نرم افزارتون رو روش امتحان کنید.
گزینهی سوم یعنی Allow Mock Locations زمانی به درد میخوره که تو برنامتون از امکانات جیپیاس (مکان یاب) استفاده کرده باشید. اگه این گزینه فعال نشده باشه اجازه نمیده برای تست کردن برنامتون از مکانهای جعلی استفاده کنید. مثلا احتیاج دارید ببینید تو یه شهر دیگه اون قسمتی از برنامتون که مربوط به مکان فرد میشه، چطور عمل میکنه. میتونید با فعال کردن این گزینه تو شهرخودتون باشید ولی جیپیاس نشون بده یه شهر دیگه اید تا اینطوری برنامتون رو امتحان کنید.
تماشای برخط (لینک مستقیم) فیلم «نمای کلی از توسعه اندروید»
اول بریم سراغ معماری اندروید :
حالا خیلی سریع به نسخه های مختلف اندروید می پردازیم
حالا نگاهی می اندازیم به بنیاد برنامههای اندروید :
بیاید یه خورده در مورد همین موارد آخر بیشتر یاد بگیریم.
فایل های ظاهری اندروید
مواردی که تا اینجا بررسی کردیم یک چکیده از توسعه اندروید بود و اگه جایی رو خوب متوجه نشدید نگران نباشید، وقتی وارد کار بشیم و تمرین کنیم حتما خوب متوجه خواهید شد.
تماشای برخط (لینک مستقیم) فیلم آموزش مراحل نصب «ابزار توسعه اندروید» ADT در ایکلیپس
دریافت نسخه pdf این آموزش [3.22 مگابایت]
۱.برای نصب ADT باید به این آدرس برید، که البته چون گوگل ایران رو تحریم کرده و به IP ایرانی اجازه ورود به این سایت رو نمیده. اون چیزی که لازمه از اینجا دانلود کنید رو براتون آپلود کردم (حجم ۱۲.۹ مگابایت). اگه میخواید از خود سایت استفاده کنید، تقریبا به انتهای صفحه برید جایی که نوشته Downloading the ADT Plugin، یه URL (آدس اینترنتی) اونجا هست کپیش کنید.
۲. به برنامه ایکلیپس برید و از منوی بالاش Help رو بزنید بعد هم Install New Software.
۳. اگه تو مرحله قبل، ADT رو به صورت zip شده دانلود کردید، روی Add کلیک کنید، گزینه Archive رو بزنید، به آدرسی برید که فایل zip شده رو ذخیره کردید، (همون طوری که zip هست و Extract یا UnArchive اش نکنید) فایل رو انتخاب کنید، open رو بزنید، یه اسم براش بذارید و OK رو بزنید.
اگه هم تو مرحله قبل آدرس اینترنتی رو کپی کردید، روی Add کلیک کنید، یه اسم براش بذارید، لینک رو paste کنید و ok رو بزنید و منتظر بمونید تا لیست رو بارگزاری کنه.
۴.وقتی لیست ابزار توسعه اومد، گزینه Developer Tool رو با تمام زیر شاخه هاش انتخاب کنید (چون همهش رو احتیاج داریم). next بزنید. بعد یه صفحه میاد که اون چیزایی که می خواید دانلود کنید رو مرور میکنه Next رو بزنید.
۵. باید جواز و مدارک اونا رو قبول کنید پس I agree with terms of the license agreement رو انتخاب کنید و Finish رو بزنید.
۶. حالا شروع به نصب میکنه، و با این پیغام روبرو میشید که به شما هشدار میده دارید مواردی رو نصب میکنید که ناشناخته هستن و ممکنه خطرناک باشن، مهم نیست OK رو بزنید.
۷.وقتی نصبش تموم شد، می تونید همون موقع شروع به کار کنید ولی خیلی توصیه میشه که یه بار برنامه رو از اول اجرا کنید، پس گزینه Restart Now رو انتخاب کنید (طولی نمیکشه)
۸.خوب وقتی دوباره ایکلیپس باز شد، سریعترین راه برای اینکه چک کنید همه چیز درست نصب شده اینه که باید قسمتی به نوار بالای برنامه اضافه شده باشه که شامل دستوراتی برای ساختن برنامه اندرویده. (تو تصویر مشخصه)
کاربرد دکمه هایی که اضافه شده (از چپ به راست به ترتیب)
باز کردن برنامه مدیریت اس دی کی (SDK manager)
ساختن یه پروژه اندروید جدید
ساختن یه پروژهی آزمایشی
ساختن یه فایل XML اندروید
۹.جالا بیاید یه کم محیطی که قراره باهاش کار کنیم رو اصلاح کنیم و تغییر بدیم. مثلا قسمت Task list که اول ستون سمت راسته به درد نمیخوره جا زیادی گرفته، ضربدرشو میزنیم. ما در کار با پروژه های اندرویدی خیلی به پنل ویژگیها (Property Panel) احتیاج داریم و باید دم دست باشه، پس روی window بعد هم Show view میریم، اگه توی لیست بود که انتخابش می کنیم وگرنه other رو بزنید تا پیداش کنیم.
۱۰. تو قسمت General انتخابش کنید و OK بزنید.
۱۱.الان پنل ویژگیها اون پایین اومده، برای اینکه باهاش راحتتر کار کنیم، میکشیم (Drag) میبریمش پیش OutLine (که تو ستون سمت راسته)
۱۲.اون پنل پایین رو هم خیلی احتیاج نداریم می تونید کوچیکش کنید (Minimize).
۱۳.خوب اگه دلتون میخواد ستون سمت راستی رو هم کوچیک کنید تا جا برای کد نوشتن وسیعتر بشه.
حالا کار مهمی که باید انجام بدیم اینه که به ایکلیپس بگیم که اندروید اسدیکی کجا هست (تا ایکلیپس بتونه بهش لینک بشه). برای این کار از نوار بالا window بعد هم preferences. (مک : از نوار بالا روی Eclipse کلیک کنید و بعد preferences)
۱۴.از ستون سمت چپ روی Android کلیک کنید، جلوی قسمتی که نوشته SDK Location و محل اسدیکی رو میخواد، روی Browse بزنید. به مکانی برید که اسدیکی رو ذخیره کردید. پوشهی android-sdk رو انتخاب کنید و ok بزنید.
۱۵. روی Apply کلیک کنید. حالا باید نسخه هایی رو که دانلود کردید رو نشون بده، اگه همه چیز مرتبه، OK بزنید.
۱۶. حالا اگه رو دکمهی باز کردن برنامه مدیریت اس دی کی (تو مرحله شماره ۸ گفته شده) کلیک کنید، مدیریت اسدیکی رو اجرا میکنه (اگه قبل از مرحله ۱۳ روش میزدید پیغام خطا میداد که محل اسدیکی رو نمیدونه)
۱۷.بعد از انجام تمام این کارا، شما الان رسما میتونید توسعه اندروید (کد زدن) رو آغاز کنید.
بسم الله الرحمن الرحیم
آموزش برنامه نویسی اندروید – سطح مبتدی (قسمت پنجم)
گردآورنده: میلاد حاتمی
ایمیل: miladhzz@gmail.com
فیس بوک: www.facebook.com/miladhzz
وب سایت: www.program-shop.ir
کلوب: www.cloob.com/name/miladhzz
منبع انگلیسی: Android Application Development For Dummies
فصل سوم: ساخت و به اشتراک گذاری اولین برنامه اندروید
در این فصل خواهیم آموخت:
- ساخت یک پروژه خالی در Eclipse
- فهمیدن خطاها
- ساخت یک emulator
- تنظیم کردن Launch Configuration
- اجرای اولین برنامه تان
- فهمیدن آناتومی یک پروژه
اجرای یک پروژه در Eclipse
مراحل زیر را طی کنید:
1- در Eclipse انتخاب کنید:
File -> new -> project
پنجره زیر باز می شود:

![]()
2- از صفحه ظاهر شده روی پوشه Android کلیک کنید.
3- وقتی فولدر باز شد روی Android Project کلیک کنید، سپس دکمه Next را بزنید.
4- در قسمت Project name تایپ کنید Hello Android . نام پروژه خیلی مهم است. وقتی پروژه ساخته می شود یک فولدر با نام همان اسمی که انتخاب کردید در workspace ساخته می شود.
5- در قسمت content دکمه رادیویی و چک باکس را همان مقدار پیش فرض رها کنید.
6- در قسمت Build Target اندروید 2.2 را انتخاب کنید. اگر شما نسخه ی 1.6 را انتخاب کنید برنامه نمی تواند از ویژگی های موجود در نسخه 2.2 استفاده کند.
7- در قسمت properties و در فیلد Application name تایپ کنید Hello Android. نام برنامه همان نامی است که هنگام نصب برنامه در دستگاه و یا شبیه ساز در هنگام اجرای برنامه نمایش داده می شود.
8- در فیلد Pakage name تایپ کنید
com.dummies.android.helloandroid
این نامی است برای بسته ی جاوا
9- در فیلد create activity تایپ کنید MainActivity که اکتیویتی اصلی برنامه خواهد شد با نام MainActivity.java
10- در فیلد min sdk version تایپ کنید 8 که در نهایت شما پنجره زیر را خواهید دید:

![]()
11- دکمه Finish را بزنید. شکل زیر را خواهید دید:

![]()
ورژن ها در اندروید:
کد ورژن نام ورژن
3 1.5
4 1.6
5 2.0
6 2.0.1
7 2.1
8 2.2
تماشای بر خط (لینک مستقیم) فیلم آموزش مراحل نصب ایکلیپس در ویندوز
نسخه ی pdf این آموزش [2.13 مگابایت]
۰.قبل از نصب ایکلیپس باید اس دی کی رو نصب کرده باشید (راهنمای نصب SDK).
۱.ایکلیپس محیطیه که برای توسعه اندروید ازش استفاده می کنید. (به جای استفاده از notepad برای نوشتن کدها و command line برای کامپایل کردن، خیلی راحتتره که از ایکلیپس استفاده کنید) برای نصب ایکلیپس به سایت اصلیش (اینجا) برید و نسخهی مناسب سیستمتون رو دانلود کنید. برای این کار روی دکمه ی زرد بالا سمت راست صفحه کلیک کنید.
۲.با توجه به اینکه SDK رو نصب کردید، حتما JDK روی سیستمتون نصب هست. حالا برای توسعه اندروید به یه نسخه ی ساده از ایکلیپس احتیاج داریم. پس همون اولین گزینه (Eclipse IDE for Java Developers) رو انتخاب کنید. و با توجه به سیستمتون روی یکی از موارد 32 بیتی یا 64 بیتی کلیک کنید.
۳.روی لینک کمکی که براتون آورده کلیک کنید تا دانلود شروع بشه.
۴.فایل دانلود شده یه فایل zip هست. روش دوبار کلیک کنید تا داخلش بشید.
چون ایکلیپس یه نرم افزار بر پایهی جاواست یه فایل نصب مثلا با فرمت .exe نداره. برای همین پوشهی eclipse که داخل فایل زیپ هست رو cut کنید.
۵.از درایو C (درایوی که ویندوز توش نصب شده) به پوشهی Program files برید و paste کنید. (برای اینکار به اجازهی ادمین احتیاج دارید، اگه کاربر ادمین (administrator user) هستید، continue بزنید) - البته اگه خواستید می تونید این مرحله رو انجام ندید
۶.حالا وقتی روی پوشهای که paste کردید کلیک کنید، فایل اجرایی ایکلیپس رو میبینید. روش کلیک کنید تا برنامه اجرا بشه.
۷.ممکنه این پیغام رو بده که صحت و سقم این برنامه معلوم نیست، گزینهی Always ask before opening this file رو غیر فعال کنید تا هر دفعه ازتون نپرسه. و روی Run کلیک کنید تا برنامه اجرا بشه.
۸.وقتی روی برنامه کلیک میکنید، ازتون میپرسه که چه محلی رو برای ذخیره ی پروژه هاتون در نظر گرفتید؟
اگه نمی خواید هردفعه که ایکلیپس رو باز میکنید این سوال رو ازتون بپرسه، گزینهی use this as the default and don't ask again رو فعال کنید.
۹.برای اولین بار که ایکلیپس رو اجرا میکنید، یه صفحهی خوش آمد میاره، از تو این صفحه روی Workbench کلیک کنید
۱۰.خوب اینم از صفحهی ایکلیپس، نصبش تموم شد.
تماشای برخط (لینک مستقیم) فیلم آموزش ایجاد دستگاه مجازی یا شبیه ساز برای اندروید
دانلود pdf این آموزش [3.22 مگابایت]
زیرنویس انگلیسی [English Subtitle]
1.وقتی در طول توسعه نرم افزاتون، احتیاج به آزمایش (تست) برنامتون دارید، حتما نیاز به یه دستگاه مجازی (virtual device) یا شبیه ساز (emulator) دارید. خوب برای ساختن یه دستگاه مجازی اول برنامه مدیریت اس دی کی رو اجرا کنید و از ستون سمت چپ قسمت virtual device رو انتخاب کنید. (در نسخههای جدید ستون سمت چپ حذف شده، برای ساختن دستگاه مجازی از منوی بالای برنامه مدیریت اسدیکی، Tools و بعد هم ...manage AVDs رو انتخاب کنید - تصویر راهنما - )
۲.از ستون سمت راست گزینه new رو انتخاب کنید. در پنجره باز شده باید اسمی برای این دستگاه مجازیتون انتخاب کنید.
۳.حالا در قسمت هدف (target) باید اون نسخه ای از API رو انتخاب کنید که قبلا دانلود کردید. (توصیه می شه نسخه ۲.۱ رو انتخاب کنید تا نرم افزارتون روی دستگاه های بیشتری اجرا بشه)
۴.این شبیه ساز همه چیز رو شبیه سازی می کنه، باید حجم کارت حافظه (SD card) رو هم بهش بدید (پیشنهاد میشه عدد 10000 رو بنویسید)
۵. گزینه ی snapshot رو enabled کنید. این کار (که خیلی هم واجبه :دی) باعث میشه تا هر موقع شبیه ساز رو بستید یه عکس از آخرین وضعیت می گیره و دفعه بعد که خواستید اجراش کنید خیلی سریعتر بارگزاری میشه.
۶.بعدش باید براش یه وضوح تصویر (resolution) مناسب تعیین کنید. (وقتی که خواستیم کارمون رو تو وضوح تصویرهای مختلفی امتحان کنیم برمیگردیم به این قسمت و چند تا دستگاه مجازی با وضوح تصویرهای مختلف می سازیم، ولی فعلا بذارید همون پیش فرضش باشه)
۷.با توجه به سیستمی که استفاده می کنید یه خورده درست کردنش طول می کشه، پس صبر کنید تا تموم بشه.
۸.حالا برای بررسی اینکه آیا دستگاه مجازی درست کار می کنه یا نه، روی اون
دستگاه مجازی که ساختید کلیک کنید و از ستون سمت راست گزینه start رو
انتخاب کنید
۱۰.حالا ازتون می پرسه که شبیه ساز رو در چه اندازه ای می خواید اجرا کنید (با توجه به وضوح تصویرتون، عدد مناسب وارد کنید) مثلا اینجا اندازه ی ۸۰۰ در ۴۸۰ براش بزرگ بوده گزینه ی scale display to real size رو تیک زده و اندازه دلخواهش رو وارد کرده. در ضمن گزینه ی wipe user data رو میتونید تیک دار کنید تا اگه قبلا از این شبیه ساز استفاده شده باشه (یا حالا مثلا بعدا که دوباره خواستید برای یه پروژه دیگه ازش استفاده کنید) تمام اطلاعات اضافی ذخیره شده رو پاک می کنه و همه چیز رو به تنظیمات اولیه (کارخونه) بر میگردونه.
دو تا گزینه ی بعدی رو هم بذارید تیک دار بمونه (مربوط به توضیحات شماره ۵)
۱۱.حالا وقتی روی Lunch کلیک کنید، شبیه ساز شروع به کار می کنه (البته وقتی برای اولین بار اجراش می کنید خیلی کند پیش می ره از دفعه بعد درست می شه به خاطر ویژگی که تو شماره ۵ تیک دار کردید)
تو آموزش های بعد یاد میگیریم چطور از دستگاه مجازی های متنوع، برای امتحان نرم افزارمون تو نسخه های مختلف اندروید و یا اندازه صفحه های مختلف موبایل ها استفاده کنیم