دوره مجازی اندروید (جلسه 8): شروع کار با Xml و View های پایه اندروید



visibility  
mode_comment   ۱۵۷

به نام خدا، سلام. توی این جلسه می خواهیم صفحه پروفایل کاربری رو به همراه هم پیاده سازی کنیم. برای پیاده سازی رابط کاربری در اندروید از xml استفاده می کنیم، بنابراین ابتدا با ساختار xml آشنا می شویم. بعد از آن با view های مختلف کار خواهیم کرد.

مطالب مطرح شده در این جلسه عبارتند از :

  • آشنایی با ساختار Xml و کاربردهای آن
  • معرفی Relative layout
  • معرفی Image Button
  • معرفی TextView
  • معرفی Button
  • معرفی Imageview
  • معرفی Toast
  • ست کردن رویداد کلیک بر روی view های مختلف
  • معرفی استاندارد های مختلف اندازه گیری اندروید

نکته ی مهم: برای حذف نوار بالای اکتیویتی (اکشن بار)، تکه کد زیر را با تگ style با نام AppTheme جایگزین کنید:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

نکته ی مهم: دوستانی که هنگام تغییر اکتیویتی پیش فرض با مشکل زیر رو به رو می شوند:

the activity must be exported or contain an intent-filter

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

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

به عنوان مثال می خواهیم اکتیویتی ProfileActivity را به عنوان اکتیویتی پیش فرض انتخاب کنیم، ابتدا داخل فایل AndroidManifest جستجو می کنیم، هر جا که تکه کد بالا را دیدیم آن را Cut می کنیم، سپس آن را به این شکل به تگ مربوط به ProfileActivity اضافه می کنیم:

<activity
    android:name=".view.activity.ProfileActivity"
    android:label="اطلاعات کاربری"
    android:windowSoftInputMode="stateHidden">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
info توجه
more  بیشتر بخوانید : برنامه نویسی اندروید چیست؟

این مطلب یک جلسه از آموزش برنامه نویسی اندروید می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

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

comment دیدگاه کاربران
Mr abbas replyپاسخ

😆 عالی

milad boos replyپاسخ

بسیار عالی

ح حسین replyپاسخ

سلام
در این دوره در مورد استفاده از معماری چون MVP یا … صحبت میشود ؟
کدنویسی امروزه نیازمند برنامه نویسی به این شکل هست .
تشکر

سعید شاهینی

سلام، در مورد design pattern ها توی این دوره صحبت نمی شه. مربوط به مباحث پیشرفته اندروید هستش. احتمالا طی یک دوره ی دیگه این مفاهیم آموزش داده بشن

ح حسین replyپاسخ

لطفا چند سایت رفرنس که این مورد رو آموزش میدن یا در موردش مطلب دارند معرفی کنید و یا منابعی که خودتون برای یادگیریش استفاده کردید
تشکر

سعید شاهینی

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

ح حسین

منظورم design pattern ها هستند
سایتهایی که شما برای یادگیری این موارد توصیه میکنید و یا سایتهایی که شما از آنها برای یادگیری این موارد design pattern استفاده کرده اید .
لطفا لینک سایتهایی خوب در این مورد را قرار دهید
با تشکر

سعید شاهینی
امین حیدری replyپاسخ

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

سعید شاهینی

سلام، تمامی فایل های مورد نیاز به غیر از genymotion رو قرار دادیم که!

shahriar rad replyپاسخ

با سلام و درود
سوال من اینه که
1. چرا از خود محیط دیزاینش استفاده نمی کنیم و xml کد میزنیم؟
2.آیا مرجعی مانند w3schools نداره که متغییر ها و فانکشنها و یک سری اطلاعات پایه را یاد بگیریم؟
چون یک فانکشن جدید که گفته می شه ذهن من رو می کشه سمت خودش
مانند آقای آوند که در طراحی وب مرجع را گفتند و از روی آن درس می دادن که حداقل چشمون یه بار کدارو دیده باشه
ممنون میشم راهنمایی کنین

سعید شاهینی

سلام
پاسخ سوال 1: به این دلیل که xml انعطاف پذیری بیشتری داره و تمامی افراد حرفه ای از اون به خاطر سرعت بیشتر کد نویسی استفاده می کنند.
پاسخ سوال 2: سایت tutorialspoint مرجعی عالی برای یادگیری هست.
در مورد مطلب آخر: از این جلسه بعد آخر هر جلسه منبع مفیدی رو بهتون معرفی می کنم برای مطالعه بیشتر

farhadjoon replyپاسخ

سلام
نوع دانلود رو میشه مثل جلسه اول قرار بدید اینطوری خیلی راحت تر دانلود می شد!
در مورد جلسات خیلی عالی هستن فقط کمی ساده تر هم باشه بهتره. در کل عالیه…
ممنون

لقمان آوند

منظورتون چه نوع دانلودی هست؟

farhadjoon

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

لقمان آوند

مشکلی نداره
الان هم اگه روی لینک دانلود زیر پلیر کلیک کنید راحت دانلود میشه! منتهی حتما باید کلیک کنید! کپی آدرس جواب نمیده

Mr abbas replyپاسخ

سلام استاد شاهینی
جلسه هشتم رو کار کردم مشکلی بوجود اومد
وقتی کدها رو روی جنی موشن ران میکنیم بدون مشکل ایجاد میشن ولی وقتی من اپ رو روی چندتا گوشی تو خونمون تست کردم مشکلاتی داشت توی یکی از گوشیها دکمه بک افتاده بود روی اطلاعات کاربری در صورتی که توی جنی موشن درست کار میکرد اومدم این خطو به ایمیج باتون (بک) اضافه کردم
android:layout_alignParentLeft=”true”
و درست شد
و مشکل دیگه این بود که بک گراند (اون عکس ماه) توی یه گوشیه دیگه کوچیک دیده میشد و مچ نبود عرضش .
android:adjustViewBounds=”true” انگار اینکه این خط واسه این گوشی کار نمیکرد
اینو ندونستم چرا!
و مشکل دیگه این بود که چیزی که من طراحی کرده بود تو جنی موشن ارتفاعش بیشتر بود و تا نصف گوشی میومد پایین
😯 در صورتی که پروزه نهایی خیلی کمتره ارتفاع این عکسه بک گراند

سعید شاهینی

سلام دلیل مشکل اول که حل کردید این بود که روی گوشی هایی که زبانشون فارسی باشه، کل view ها از راست به چپ به صورت پیش فرض چیده می شوند وشما کار درستی کردید که صفت align parent left رو اضافه کردید.
مشکل دوم: برای حل این مشکل صفت زیر رو imageview اضافه کنید:
android:scaleType=”centerCrop”
مشکل سوم رو متوجه منظورتون نشدم

محمد محمدی نیا replyپاسخ

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

سعید شاهینی

سلام دوست گرامی، توی جلسه نهم آخر جلسه توضیح دادم.

محمد محمدی نیا

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

محمد احمدی replyپاسخ

سلام اموزش هاتون بسیار عالی هستن لطفا اموزش اضافه کردنه کتابخونه های گیت هاب و استفاده از اون رو اموزش بدید 😛

سعید شاهینی

سلام، ممنونم، توی سرفصل ها آموزش اضافه کردن کتابخانه هست و آموزش خواهیم داد

milad boos replyپاسخ

سلام و عرض ادب
ویدیوهای جدید رو چرا ارائه نمی کنید
بنده روزی 1000 بار سایت رو بازبینی میکنم 😀

سعید شاهینی

سلام، ویدیو از قبل آماده بود اما یه مشکلی برای صدا بوجود اومد که مجبور شدم دوباره ضبط کنم و باعث تاخیر شد. عذرخواهی می کنم

فاروق شایسته رودی replyپاسخ

سلام ممنون از آموزش های خوبتان یک سوال داشتم چگونه می توانم مانند شما فایل جاوا مربوط به کلاس ها و ساختار ها مانند toast را باز کنم و تما شا کنم هر کار کردم نشد

سعید شاهینی

سلام، ctrl رو نگه دارید و روی نام کلاس کلیک کنید.

سیروان replyپاسخ

سلام
استاد من رو گوشی تست میکنم اشکال نداره و تو اندروید استودیو هم مشکلی نداره فقط تو Genymotion مشکل داره
به نظرتون این علتش چیه؟؟
http://rozup.ir/view/1784159/87.png
http://rozup.ir/view/1784160/99.png
http://rozup.ir/view/1784167/85.jpeg

سعید شاهینی

سلام، صفت زیر رو به imageview تون اضافه کنید:
android:scaleType=”centerCrop”

سید فاضل سدره نشین replyپاسخ

سلام
چرا تو سایت ایکون جنریشن وقتی عکسی رو انتخاب میکنیم اونو بصورت پیش فرض نمایش نمیده دانلود هم که میکنیم نشون نمیده و render نمیشه ؟؟؟؟ و اندروید استادیو هم کار نمیکنه

سعید شاهینی

نمی دونم! من همچین مشکلی ندارم! فایل رو برای من ایمیل کنید تا بررسی کنم.

soorena replyپاسخ

سلام
چجوری میشه اخر Linear layout اخر گوشی قرار داد؟
برای صفحه نمایش های کوچیک قسمت جنسیت، داخل صفحه نیست.
ممنون

سعید شاهینی

سلام جلسه 9 آموزش دادم. با استفاده از ScrollView

sara salami replyپاسخ

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

سعید شاهینی

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

sara salami replyپاسخ

باسلام.استادبرای من تنظیمات فایل EditConfigurationبرای اجرای Activityپیش فرض اعمال نمیشه وبایدحتما بصورت دستی ازفایل Monifestاینکارو انجام بدم تا حل بشه مشکل…ایراد ازکجاست ؟ممنون ازراهنماییتون.

سعید شاهینی

سلام، احتمالا مشکل از اندروید استودیو هست، ورژن اندروید استودیوی شما چنده؟

sara salami replyپاسخ

نسخه اندوریدمن ۲.۱.۳هست .بایدچند باشه ودرصورت نیازبه آ‍‍پدیت به چه شکل باید اینکارو انجام بدیم.

سعید شاهینی

سلام شما آخرین ورژن رو دارید، برای چک کردن آپدیت از منوی help گزینه check for update رو انتخاب کنید و حتما vpn متصل باشه.
در مورد دیدگاه قبلی تون من احساس می کنم مراحل کار رو درست انجام نمی دید، چون همچین مشکلی بعیده وجود داشته باشه

ح حسین replyپاسخ

برای طراحی ریسپانسیو که در صفحه نمایش های متفاوت چه بصورت افقی یا عمودی درست و مناسب نمایش داده بشه باید چکاری انجام داد ؟

سعید شاهینی

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

esi rahimian replyپاسخ

سلام من قسمت layout رو و کد های xml رو انجام دادم رسید بجای که روی button ها اکشن بزاریم ولی مشگل اینجاست که تو قسمت activity میخام بزنم imagebutton اصلا چیزی نمیاره و کلن قرمزش میکنه مشگل از کجاست لطفا راهنمایی کنید ممنون

سعید شاهینی

سلام، از کدتون عکس بگیرید بفرستید

esi rahimian replyپاسخ

سلام چرا دیدگاهمو تایید نمیکنید

وحید صالحی

دوست عزیز کمی صبور باشید شما تازه دیروز کامنت گذاشتید حجم کامنت ها زیاده و اساتید به ترتیب پاسخ گو هستند.

esi rahimian replyپاسخ

این لینک عکس error هستش https://i.imgsafe.org/9528c9aa54.jpg

سعید شاهینی

سلام، imagebutton رو با حروف کوچک نوشتید، باید بنویسید ImageButton

علي احمدی replyپاسخ

استاد توی ویدیو شما دیدم این جایی که توی عکس علامت زدم را حذف کردید من چجوری حذفش کنم ؟؟
http://s3.img7.ir/6QfX1.jpg

سعید شاهینی

سلام، کدی که براتون ایمیل کردم رو جایگزین کدهای فایل styles.xml بکنید.

مهدی قناد replyپاسخ

سلام آقای شاهینی
اون قسمتی که میخوایم profile activity رو تست کنیم وقتی میرم ک به عنوان اکتیویتی اجرا شونده انتخابش کنم یه ارور به من میده
the activity must be exported or contain an intent filter

سعید شاهینی

سلام، پاسخ رو اینجا ارسال می کنم نمایش نمی ده به دلیل تگ های xml. براتون میل می کنم.

amin ataei

سلام میشه برای من هم میل کنین ؟ منم این مشکل رو دارم
hadi723456@gmail.com

سعید شاهینی

سلام، ایمیل کردم

Ahmad Sowiti

سلام
همین مشکلو منم دارم لطف کنید واسم ایمیل کنید
ahmadsowiti@gmail.com

سعید شاهینی

سلام، داخل توضیحات جلسه، کد مربوطه رو اضافه کردم که می تونید استفاده بکنید.

amir rezaiii replyپاسخ

سلام
تصویری که برای بک گراند قرار داده شد رو من طبق آموزش قرار دادم توی preview در اندروید استدیو درست به اندازه کل عرض برنامه میشه ولی وقتی تو شبیه ساز اجرا میکنم تصویر کل عرض رو نمیگیره و بک گراند کامل نیست لطفا راهنمایی کنید باتشکر

سعید شاهینی

سلام، صفت زیر رو باید به ImageView اضافه کنید:
android:scaleType=”centerCrop”

amir rezaiii

سلام ممنون اضافه کردم الان فقط چندمشکل دیگه داره
کیفیت عکس بشدت کاهش یافت و مورد بعد ارتفاع عکس هم کامل نیست و قسمتی از عکس از سمت بالا نمایش داده نمیشه

سعید شاهینی

جلسه 9 را تماشا کنید، این مشکلات رو برطرف کردیم.

حمید ستوده replyپاسخ

سلام
آقای شاهینی بعد از ایجاد empty Activity نام برنامه که 7Learn هست رو در بالای صفحه مثل همون activity_main نشون میده چطور باید اون نام برنامه رو حذف کنم تا یک Activity کاملا خالی مثل شما ساخته بشه؟

سعید شاهینی

سلام، کدش رو براتون ایمیل کردم.

zahra hoseini replyپاسخ

سلام
اگر من بخوام عکسی به غیر از اون چه شما گذاشتید برای برنامم انتخاب کنم باید چه خصوصیاتی داشته باشه منظورم از نظر کیفیت و حجم و ابعاده؟؟؟
ممنون

سعید شاهینی

سلام، من از عکسی با ابعاد 765×574 استفاده کردم، البته باید در کار نیست و تناسب عکس رو خودتون باید طبق نیازتون در نظر بگیرید. حجم فایل هم بهتره بیشتر از 50kb نباشه که حافظه به مشکل بخوره.

iranianseda replyپاسخ

استاد من یه مشکلی دارم
صفحه ای که طراحی کردم در گوشی های زیر 5 اینچ کامل نمایش داده نمی شه
چجوری برای صفحه های 4 اینچ یک صفجه جداگانه بسازم؟

سعید شاهینی

سلام، جلسه ی 9 آموزش دادم.

Rochezto Delaporana replyپاسخ

سلام
من یه مشکل تو اندروید استودیو دارم. ویژگی auto completion برای قسمت کدهای جاوا کار می کنه ولی برای قسمت layout در فایل xml کار نمی کنه. من مقداری سرچ کردم. یه جایی گفته بود که باید فایل idea و فایل ها با پسوند imi. رو پاک کنم که این باعث شد پروژه اصلا بالا نیاید.
البته بدون auto completion هم می شه از قسمت design mode المان های مختلف رو قرار داد ولی می خواستم بپرسم اینکه شما می دونید چطور می شه این مشکل رو حل کرد.
خیلی ممنون

سعید شاهینی

سلام،
1- پوشه ی .idea رو پاک کنید
2- کل فایل های با پسوند .iml رو پاک کنید
3- از منوی فایل گزینه ی invalidate cache / restart رو انتخاب کنید

bita nevis replyپاسخ

سلام
فایل پروژه هایی که در هر قسمت از سری های آموزشی ایجاد میکنید رو اگه میشه آپلود کنید.
ممنون

سعید شاهینی

سلام، این کار رو از جلسات بعدی(جلسه 12) شروع کردیم، طی چند روز آینده کل پروژه رو در دسترس خواهم گذاشت.

Arvin Rezaei replyپاسخ

سلام استاد . چرا وقتی image view که همون عکس ماه هست رو وقتی تو لینار لایوت داخلی قرار میدم دکمه و تکست میان وسط عکس ؟

سعید شاهینی

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

Amir Mohammad replyپاسخ

سلام . استاد اگر بخواهیم از کتاب خانه ی font awesome استفاده کنیم به چه صورته؟

سعید شاهینی

سلام من تا بحال ازش استفاده نکردم متاسفم

Hamed Hardani replyپاسخ

سلام استاد
در مورد ارور the activity must be exported or contain an intent-filter بهتون ایمیل دادم که از کدهام اسکرین شات گرفتم…
ممنون میشم چک کنید و پاسخ بدید

سعید شاهینی

سلام چرا توضیحات جلسه رو نمی خونید؟ 🙂 داخل توضیحات جلسه در مورد چگونگی رفع این ارور صحبت کردم.

Hamed Hardani

مشکل رفع شد 😀

علی غلامی replyپاسخ

سلام استاد من وقتی از برنامه اندروید استودیو خارج میشم و دوباره میام ادامه برنامه که نوشتم بدم error میده
setContentView(R.layout.activity_main); کلمه R قرمز میکنه
ممنون میشم پاسخ بدید

سعید شاهینی

این اررور چند دلیل می تونه داشته باشه:
1- تغییری داخل Resource ها دادید که دارای خطا بوده، مثلا فایلی به پوشه ی Resource اضافه کردید یا layout ای که ساختید دارای خطایی بوده
2- یا داخل فایل جاوا R رو import نکردید که راه حلش اینه که روی R کلیک کنید و alt+enter رو بزنید.

علی غلامی replyپاسخ

erorr runing app
the activity must exported or contain an intent-filter در پایین صفحه
این error میده موقع اجرا 😥

سعید شاهینی

سلام. توضیحاتی که دادم داخل صفحه جلسه رو مطالعه کنید.

سعید شاهینی

سلام داخل همین صفحه جلسه ی ۸ توضیحات مربوط به جلوگیری از این خطارو نوشتم.

علی سرحدی replyپاسخ

سلام
سال نو مبارک
من آخرین نسخه اندروید استودیو 2.3 را دانلود کردم(مطابق آموزش های پیشین)
در فولدر value اصلا dimen وجود ندارد
از سویی دائما با خطای this view is not constrained,it is only designtime position مواجه می شوم
برای برطرف کردن همیشگی این خطا راهی هست؟
در stack over flow راههایی بود ولی در هر منو و زیر منو این خطا میاد
برای اندازه dimen ها باید یه فولدر خودمون بسازیم؟
کلا در این نسخه بجای RelativeLayout
android.support.constraint.ConstraintLayout وجود دارد

سعید شاهینی

سلام٬ ممنونم. سال نوی شما هم مبارک. من قبلا داخل تلگرام پاسخ نداده بودم؟

Amirhossein Arbab

سلام آقای مهندس خسته نباشید من هم با همین مو ضوع که آقای سرحدی اشاره کردم برخوردم. داخل تلگرام براتون VM فرستادم. اما جواب ندادین هنوز 🙄 . ممنون می شم اگر از طریق تلگرام راهنمایی کنید.
و در مورد توضیحات این جلسه هم طبق مثال بالا کد ها رو جایگزین کردم اما باز هم این ارور می گیرم 😯 :the activity must be exported or contain an intent-filter

سعید شاهینی

سلام، مسیج تلگرامتون رو پیدا نمی کنه. اگه ممکنه تماس بگیرید که بتونم سریع تر راهنماییتون کنم.

علی سرحدی replyپاسخ

سلام
وقت بخیر
توی preview اندروید استودیو یک نمایش هست، توی شبیه ساز یه جور دیگه.
چطور همچین چیزی ممکنه؟
http://uupload.ir/files/kaub_error.jpg

لینک کل کدهای xml بنده:
http://uupload.ir/view/jwam_xml_profileactivity.txt

سعید شاهینی

دلیلش اینه که preview اندروید استودیو تمامی کدهای جاوا رو اجرا نمی کنه و فقط قسمت های تعریف شده ای رو می تونه اجرا کنه. پارامتر های زیادی در چگونگی نمایش View ها تاثیر دارند. مثلا ممکنه شما حتی اپ رو روی شبیه ساز و گوشی واقعی اجرا کنید ولی دو تصویر کاملا متفاوت ببینید. پارامترهای تاثیر گذار زیر می تونن در نحوه نمایش لایوت شما تاثیر بگذارن:
۱- ورژن سیستم عامل
۲- تغییرات کارخانه سازنده گوشی کاربر روی سیستم عامل
۳- سایز صفحه نمایش و رزولوشن

در موردی که شما باهاش برخورد کردید پارامتر ورژن سیستم عامل دخیل بوده. چون در اندروید ۴.۲.۲ صفت adjustViewBounds به درستی کار نمی کنه و ارتفاع imageView به درستی تنظیم نمی شه. راه حل رو داخل توضیحات جلسه گفتم.

علی رقیب زاده replyپاسخ

سلام استاد گرامی. در درئن پروژه من پوشه dimens.xml در مسیر value وجود نداره. باید چیکار کنم؟

سعید شاهینی

سلام٬ داخل ورژن جدید اندروید استودیو این فایل رو حذف کردن به صورت پیش فرض. خودتون باید بسازید

Amirhossein Arbab replyپاسخ

خسته نباشید استاد وقتی کد زیر در قسمت مربوطه وارد می کنم با این پیغام رو به رو می شم:Unresolved package
android:name=”.view.activity.ProfileActivity”

سعید شاهینی

سلام٬ باید پکیج نیم رو کامل وارد کنید.

فرزاد کریمدادزایی replyپاسخ

سلام.من این پوشه dimens.xml رو چه جوری بسازم.میشه راهنمایی کنید.لطفا بعضی قسمتا که احتیاج داره به روز بشن رو بروز کنید.ممنون

سعید شاهینی

سلام، بله اردیبهشت ماه، دوره رو آپدیت می کنم. فایل diemns.xml رو باید داخل پوشه ی values ایجاد کنید.

مهرداد قاسمیان replyپاسخ

با سلام و قت بخیر
بنده به تازگی بسته رو خریدم و کار با آن را شروع کرده ام
در همین ابتدای کار با مشکل مواجه شدم شما در این ویدیو با کار Relative layout کار می کنید اما تو آندروید استدیویی که من باهاش کار میکنم android.support.constraint.ConstraintLayout هستش
در این که من باهاش کار می کنم به عنوان مثال برای راست چین کرده صفحه android : layout_aligin_parentRight وجود نداره برای راست چین کردن متن textview و خطا میگیره
ممنون میشم راهنمایی کنید

سعید شاهینی

سلام، بله ولی شما باید ConstraintLayout رو با RelativeLayout جایگزین کنید مثلاً

مهرداد قاسمیان

چطور به ConstraintLayout رو با RelativeLayout جایگزین کنم؟
به طور دستی این کار رو انجام بدم؟ یادمه تو نسخه های قبلی آندروید استدیو وقتی روی لایه کلیک میکردی گزینه Convert داشت

سعید شاهینی

سلام٬ دستی این کارو بکنید.

مهرداد قاسمیان replyپاسخ

در نسخه جدید آندروید استدیو اجازه نمیده که راحت عکس رو به داخل فوادر drawable انتقال بدیم با کپی کردن
تنها راهی که ظاهرا مد نظر هست این هستش که روی اون پوشه کلیک راست کنیم new Image Asset رو انتخاب کنیم و بعدش Action Bar and Tab Icons رو انتخاب کنیم و بعدش عکس مربوطه درسته؟ یا در نسخه جدید آندروید استدیو راه حل دیگه ای داره

سعید شاهینی

سلام٬ نه محدودیتی وجود نداره! این ویژگی مانند گذشته کار می کنه.

مهدی علیزاده replyپاسخ

سلام خسته نباشید
ببخشید بیشتر این مطالبی که در این درس گفتید در ورژن جدید اندروید استدیو کلا نیستن ممنون میشیم اگه آموزش این درس رو به روز رسانی کنید

سعید شاهینی

سلام٬ بله داخل همین ماه آپدیت می شه.

بهرام آزادی replyپاسخ

سلام
ببخشید من در layout ها شماره خطوط کدنویسی مشخص نیست
چطور میشه ردیف نمایشگر شماره خط کدها رو نمایان کرد؟

سعید شاهینی

سلام٬ روی ستون سمت سمت چپ Editor(جایی که کدنویسی می کنید) راست کلیک کنید و گزینه show line numbers رو انتخاب کنید.

parhams replyپاسخ

با سلام و تشکر از مجموعه ی آموزشی خوبتون.
من به یه مشکلی برخوردم : وقتی اکتیویتی پیشفرض خودم رو از main به اکتیویتی که ساختم (profile activity) تغییر میدم (دقیقا مثل آموزش عمل میکنم)و میام اجراش کنم با این ارور مواجه میشم : the activity must be exported or contain an intent-filter ایراد کار از کجاست و باید چیکار کنم؟

کیوان علی محمدی

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




مهرداد قاسمیان replyپاسخ

نسخه جدید آندروید استدیو فرق کرده
من اصلا در نسخه جدید نمی تونم از RecyclerView استفاده کنم
ویدئو رو چند بار دیدم
ممنون میشم راهنمایی بفرمایید

سعید شاهینی

سلام٬ این دوره در همین ماه آپدیت می شه و تغییرات آموزش داده می شوند.

مهرداد قاسمیان

خیلی ممنون

Mohammad Sheklabadi replyپاسخ

درود
اگر امکانش وجود دارد لطف کنید سورس های این جلسه رو روی سایت قرار بدید .

سعید شاهینی

سلام٬ متاسفانه سورس های این جلسه رو خودمم ندارم.

Desert replyپاسخ

سلام استاد عزیز شما در اموزش هشت تصاویر را فولدرشان را انتخاب کرده و در resource پیست می کنید و در ادامه انها در پوشه drawable کپی می شوند منتها بنده وقتی با اندروید استودیو کار می کنم در res برای تمام سایز ها یک فولدر mipmap دارم و وقتی هم که در res تصاویر ایکون بک را کپی می کنم برای سایز های مختلف یک فولدر ساختی می شود و زیر drawable قرار می گیرد نه داخل ان اگر هم داخل drawable کپی کنم برای هر سایز متفاوت یک فولدر ساخته می شود و مانند ویدیو اموزش فقط فایل ها را در کنار هم در یک فولدر به نام ان فایل ها نشان نمی دهد ممنون می شم راهنمایی بفرمایید.

سعید شاهینی

سلام، باید حالت نمایش پروژه رو از Android به Project تغییر بدید.

Hamed Hardani replyپاسخ

سلام
من از نسخه 2.3.2 اندروید استودیو استفاده میکنم. موقع Build کردن پروژه این ارور رو میده و ظاهرا نمیشه برای Image button از بک گراند null استفاده کرد

وقتی خط کد مربوط به بک گراند رو کلا حذف میکنم برنامه بدون مشکل بیلد میشه و روی امولیتور بالا میاد.
میشه بگید مشکل کجاست؟
============
ویرایش: مشکل حل شد

محمدرضا علیمردانی replyپاسخ

سلام
Error:(313, 36) String types not allowed (at ‘standard_margin’ with value ’16dp>’).
رو برام خطا میده
clean , rebuiltهم کردم ولی نمیدونم اشکالش کجاست؟
لطفا راهنماییم کنید

سعید شاهینی

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

محمدرضا علیمردانی

حل شد
مثل اینکه باگ برنامه بوده
بعد از بستن و بازکردن و نوشتن دوباره این موضوع به کلی حل شد
باتشکر

علیرضا حاجی بابایی replyپاسخ

سلام. من وقتی پروژه رو اجرا می کنم این خطاها رو میده.
چطور میشه اصلاحش کرد؟
C:\Users\ali\AndroidStudioProjects\PracticeApplication2\app\build\intermediates\res\merged\debug\layout\activity_profile.xml
Error:(34, 33) String types not allowed (at ‘background’ with value ‘null’).
Error:(44, 33) No resource found that matches the given name (at ‘layout_alignRight’ with value ‘@id/pic_change’).
Error:(45, 31) No resource found that matches the given name (at ‘layout_alignLeft’ with value ‘@id/pic_change’).
Error:(46, 27) No resource found that matches the given name (at ‘layout_above’ with value ‘@id/pic_change’).

سعید شاهینی

سلام٬ داخل فایل activity_profile چندتا خطا وجود داره. دلیلشم اینه که id تگی به اسم pic_change رو پیدا نمی کنه

Farzin Bidokhti replyپاسخ

با عرض سلام و خسته نباشی
فایل Dimens برای من در مسیر گفته شده وجود ندارد، چجوری میتونم اضافه کنم؟

سعید شاهینی

سلام، خودتون یه فایل به اسم dimens.xml در پوشه ی values ایجاد کنید.

سیدسبحان صانعی replyپاسخ

سلام آقای شاهینی خسته نباشید
در نسخه جدید اندروید استودیو گزینه dimens وجود نداره
دقیقا باید چیکار کنم؟؟؟؟؟؟؟؟؟؟

سعید شاهینی

سلام، جلسه آموزشی اندروید استودیو نسخه آپدیت خرداد ماه رو مشاهده کنید. داخل توضیح دادم. این فایل رو خودتون می تونید ایجاد کنید. اهمیتی نداره

دانیال حجاری replyپاسخ

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

سعید شاهینی

دلیلش این هست که داخل آموزش ریشه ی xml از relative layout استفاده شده ولی الان در اندروید استودیو به صورت پیش فرض constraint layout انتخاب می شه و در constraint laoyut صفتی به اسم align right وجود نداره

xvision

به نظر می رسه جواب کامل نشد !
وقتی طبق فرمایش شما “در constraint laoyut صفتی به اسم align right وجود نداره”
برای جابجا کردن باتن باید چه کاری انجام بدیم ؟!

سعید شاهینی

آموزش مربوط به کار با Constraint Layout رو مشاهده کنید.

Mohammad Amiri replyپاسخ

سلام
استاد منم مشکل دوست بالایی که فرمودند align right براشون نمیاره دارم .اموزش مربوط به Constraint Layout رفتم دیدم ولی مشکلی را حل نکرد.من میخوام طبق اموزش که دادیند مرحله به مرحله جلو برم نه که یهو از relativelayout بپرم به Constraint Layout .برای نصب sdk ها هم مشکل داشتم ایمیل زدم جواب ندادید. ساعت 9 شب تماس گرفتم فرمودید جلسه دارم .دیدم محل نمیذارید خودم رفتم دونبالش خدا شاهده حدود 40 50 گیگ چیز دانلود کردم بعد فهمیدم کلیش اضافی بوده حالا هم sdk درست شده به این مشکل برخوردم . بعد یک ماه که این اموزش خریدم هنوز یک اپ نتونستم درست کنم . واقعا انتظار نداشتم از سون لورن . فقط میتونم بگم متاسفم

سعید شاهینی

سلام، وقت بخیر، بابت تاخیر در پاسخگویی واقعا متاسفم. از این به بعد سوالات تا 2 دو روز جواب داده می شن. دلیل این موضوع این هست که داخل آموزش ریشه لایوت از نوع Relative Layout هست ولی داخل ورژن های جدید اندروید استودیو لایوت ریشه به صورت پیش فرض ConstraintLayout هست.برای اینکه بتونید طبق آموزش پیش برید و صفت هایی که توی ویدیو هست رو داشته باشید، لایوت ریشه رو RelativeLayout تغییر بدید.

Mohammad Amiri replyپاسخ

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

محمد واحدی replyپاسخ

سلام استاد خسته نباشید
چرا برای بالا بردن عکس آواتار از کد زیر استفاده کردیم؟
و از allign استفاده نکردیم؟
و بهش id همون edit avatar رو ندادیم. چون طبق ویدیو معنی اونم میشد بالای دکمه قرار گرفتن
من تست کردم ولی بالاش نیومد.

android:layout_above="@+id/edit_avatar_btn"
سعید شاهینی

اگر از گزینه align استفاده کنید، imageView تراز می شه با بالای view ولی وقتی از above استفاده کنید imageView بالای view مقصد قرار می گیره

سعید ترابی replyپاسخ

سلام استاد من وقتی یک اکتیویتی مسیازم بالای اکتیویتی یک قسمت ابی رنگ الیجاد میشه اسم پنجره اکتیویتی رو مینوسه چیمار باید بکنم؟ مصل شما خالی ساخته بشه؟

سعید شاهینی

سلام، اسم اون نوار action bar هست، برای اینکه این نوار برداشته بشه باید تکه کدی را که در توضیحات همین جلسه ۸ قرار دادم را داخل فایل styles.xml جایگزین کنید.

سعید ترابی replyپاسخ

استاد یه سوال دیگه هم دارم من لینیر لایوت رو تا میزاریم روی مچ پرنت وقتی میرم تو دیزاین نگاه میکنم و بر میگردم مینویسه
368 dp و خراب میشه

سعید شاهینی

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

سید محمد وجدانی زاده replyپاسخ

خسته نباشید
ببخشید یه مشکلی تو شبیه ساز اندروید استدیو دارم نمی دونم چیکارش کنم لطفا راهنمایی کنید
ارور :
android emulator closed unexprctedly
process finished with exit code-1073741819(0xC0000005)

سعید شاهینی

سلام، لپتاپتون از نوع gaming هست؟

سید محمد وجدانی زاده

بله

Reza Ahmadzadeh

سلام
شما میتونید از موبایلتون به عنوان دستگاه مجازی استفاده کنی

سید محمد وجدانی زاده replyپاسخ

استاد ببخشید من در اندروید اسدیو فایل دیمنشن رو ندارم

سعید شاهینی

سلام، وقت بخیر، خودتون می تونید این فایل رو بسازید مشکلی نداره

سید محمد وجدانی زاده replyپاسخ

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

سعید شاهینی

سلام، پیشنهاد من اینه از constraint layout استفاده نکنید چون مشکلات زیاد داره. (حداقل فعلا تا موقعی که مشکلاتش برطرف شه)

Saeed Hoseini replyپاسخ

سلام استاد عزیز.در اندروید استدیوی من به ریلیتیو لیوت از کانستریت لیوت استفاده شده.میخواستم بدونم چطوری به ریلیتیو تبدیل میشه.منظورم اینه به طور کلی چطوری همه قابلیت های ریلیتیو بیاد.مثلا‌کانستریت من alignparentrightرو نداره.چطور به ریلیتیو تبدیل کنم‌مرسی اگر راهنمایی کنید.

سعید شاهینی

سلام وقت بخیر، اون خطی که ConstraintLayout تعریف می شه رو پاک کنید به جاش بنویسید RelativeLayout دقیقا مطابق چیزی که داخل ویدیو مشاهده می کنید

سید محمد وجدانی زاده replyپاسخ

استاد سلام خسته نباشید
کار با این اکتیوینتی تموم شده فقط همه ی ویو ها تو بعضی از پلتفرم ها جا نمیشه مثلا دکمه ثبت میره بیرون راهنمایی کنید ممنون

سعید شاهینی

سلام وقت بخیر. خیلی خوبه که تونستید این صفحه رو به خوبی پیاده سازی کنید. راه حل مشکلی که گفتید رو جلسه 9 آموزش دادم. باید از ScrollView استفاده کنید

Salar Ahmady replyپاسخ

ضمن عرض سلام و خسته نباشید خدمت مدرس محترم این دوره
من یک سوالی داشتم . در پوشه values من پوشه dimens رو ندارم! فقط سه تا فایل xml هستش . الان تنظیماتی که رو به عنوان پیش فرض میخوام اضافه کنم کجا باید بزارم؟!

موسوی replyپاسخ

سلام واسه من این ویدیو دان نمیشه..یه پیج جدید باز میکنه و توی اون پخش میکنه…مشکل چیه ؟

بهرام آزادی replyپاسخ

با سلام
احتراما من تصویر بک گراند پروژه(همون تصویر بزرگ با طرح ماه) رو وقتی به پروژه اضافه میکنم حتی با وجود استفاده از دو خاصیت زیر استفاده میکنم ولی هنگام نمایش بر روی گوشی خودم که صفح نمایشش هم نسبتا بزرگ نیست ولی تصویر کوچک نمایش داده میشه و از سمت چپ و راست کل صفحه نمایش رو در بر نمیگیره
مشکل کجاست؟

ممنونم

 android:scaleType="fitCenter"
 android:adjustViewBounds="true"
سپهر تابعیان replyپاسخ

سلام استاد
هنگام Runبا ارور
‘Error runnig ‘app
The activity must be export or contain an intent-filterمواجه می شوم !
و دیگه حرف آر در فایل جاوا نمی شناسه (setContentView(R.layout.activity_pacticity)
لطفا راهنمایی بفرمایید.

سعید شاهینی

سلام، داخل توضیحات جلسه این موضوع رو آموزش دادم که چطور این مشکل رو حل کنید

سپهر تابعیان

هنوز به حرف R ایراد می گیرد !! و اپ اجرا نمی شود

سعید شاهینی

سلام دلیلش این هست که مشکلی در یکی از xml های پروژه تون وجود داره، باید چک کنید ببینید کدوم یک از لایوت هاتون ارور داره، با خط قرمز ارور نشون می ده

سعید شاهینی replyپاسخ

لازم نیست کانفیگوریشن رو عوض کنید، فقط طبق توضیحاتی که داخل صفحه جلسه دادم IntentFilter رو کات کنید و داخل تگ اکتیویتی که می خواید به صورت پیش فرض اجرا بشه Paste کنید

حسین یوسفی replyپاسخ

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

حسین یوسفی replyپاسخ

یه سوال هم اینکه constraintlayout رو چطور به ریلاتیولایوت تبدیل کنم من عوض میکنم رنگ ریلاتیولایوت مشکی میشه

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.