Persian Software Engineers – Telegram
Persian Software Engineers
1.9K subscribers
353 photos
14 videos
84 files
303 links
تجربیات شخصی یک مهندس نرم افزار در آلمان‌.
کانال یوتیوب:
https://www.youtube.com/@Dev_Germany
ادمین کانال :
@mohamad_germany
Download Telegram
سلام مقاری هستم و باهم جلسه 10 آموزش اندروید رو در پیش خواهیم داشت
در این قسمت به ادامه ساخت پروژه خواهیم پرداخت.
در جلسه قبل تا اینجا پیش رفتیم که با ابزارهای editText و TextView و همچنین RadioButton آشنا شدیم.
از صفحه ثبت نامی که برای کاربر درست کردیم دوتا بخشش میمونه. انتخاب عکس که این رو میذارم برای جلسات اینده تر
دومیش هم یه تقویم فارسی برای انتخاب تاریخ تولد که جلسه آینده بهتون یاد خواهم داد.
این جلسه میخوام یکار خیلی جذاب را انجام بدهیم! ارسال پیامک! اگر یادتان باشد میخواستم برای لیست افرادی که ذخیره کردید یک صفحه ای داشته باشیم که بتوانیم لیست دوست هایی که ذخیره کردیم را ببینیم بعد یک نفر را از لیست انتخاب کرده و در یک صفحه دیگری بتوانید مشخصات آن دوستتان را ببینید. مثلا شماره اش را ببینید و بهش پیام بدهید!
خب بیاید اول همان صفحه ای که قرار هست دوستتان را نشان بدهد را بسازیم.
یک layout میسازم به اسم friend_info و یک Activity هم به آن میدم به اسم FriendInfoActivity.
فقط فراموش نکنید همانطور که گفتم activity را داخل manifest تعریف کنیدش.
من layout را از نوع RelativeLayout تعریف میکنم و ابزارهای زیر را گذاشتم داخل صفحم تا الان:
1)یک ImageView میگذارم که برای نشان دادن عکس دوست شما هست:
<ImageView android:layout_width="150dp"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@android:color/holo_blue_bright"
/>
2)یک TextViwe برای نمایش اسم
<TextView android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:text="نام"
android:textSize="30sp"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
فقط جهت یادآوری تگ ها میگم که الان من این TextView را هم به بالای صفحم هم به سمت راستش align کردم.
از طرفی با دادن margin کمی فاصله دادم به آن با گوشه صفحه
خب حالا باید به همین ترتیب زیر جایی که اسم طرف قرار هست باشد مثلا یک دکمه بگذارم که پیامک ارسال کند و یک دکمه هم بگذارم زنگ بزند به فرد.
بیایم یک Button بگذاریم برای ارسال. خب من یک دکمه میگذارم
<Button android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@+id/textView"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:id="@+id/btnSms"

android:background="@android:drawable/sym_action_email"/>
همه تگ ها را میشناسید جز آخری! حتما برای شما سوال شده که این چه چیزی هست.... drawable که عکس نذاشتیم پس چی هست این؟
دوستان اندروید خودش یک سری آیکون آماده دارد که میتوانید استفاده کنید. برای اینکه لیستش را راحت ببینید برید داخل بخش design و سپس background این دکمه را بیارید.
خب اینجا میتوانید کلی آیکونهای آماده را ببینیید و در برنامتان اگر خواستید استفاده کنید. مسلما خودتان میتوانید ایکونهای بهتر اضافه کنید اما برای آموزش لازم دیدم اینهارا هم بدانید
در نهایت چنین چیزی داریم:
حالا بریم در Activity تا ببینیم با زدن این دکمه پیامک بفرستیم
پس متد onClick را میسازم.
Button btnS = (Button) findViewById(R.id.btnSms);
btnS.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

}
});
خب برای ارسال sms از کلاسی به نام smsManager استفاده میکنیم. اول کد زیر را ببینید:
SmsManager smsM = SmsManager.getDefault();
خب SmsManager یک کلاس هست خودش یک نمونه ای به نام smsM ازش آن دارم الان. که برابر قرارش دادم با متدی به نام getDefault که داخل کلاس SmsManager هست و خروجیش هم از نوع کلاس SmsManager هست!
اینهارو تنها با گرفتن دکمه ctrl و بردن موس روی اسم این کلاس و تابع میتوانید متوجه شید.
حالا برای ارسال اس ام اس هم از تابعی از این کلاس استفاده میکنم به نام sendTextMessage
smsM.sendTextMessage("09111111111",null,"salam",null,null);
خب به همین راحتی. ورودی اول شماره تلفن هست میتوانید الان شماره کسی را بگذارید و تست کنید کار میکند اپ یا نه. ورودی سوم متن پیام هست.
بقیه را فعلا null گذاشتم... null یعنی هیچی. دومین ورودی همان service center address است رای پیامک. اگر null بگذارید از همان حالت پیشفرضش استفاده میکند. مورد چهارم و پنجم هم به ترتیب برای الارم دادن موقع ارسال اس ام اس و همچنین موقع deliver شدنش هستن.
فقط یک کاری باقی هست... ما داریم از قابلیت ارسال sms در دستگاه کاربر استفاده میکنیم و باید اجازه اش را بگیریم!
پس برید داخل manifest و بزنید: