جستجو در انجمن

در حال نمایش نتایج برای برچسب های 'اندروید'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


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

  • اندروید
    • ابزار های برنامه نویسی اندروید
    • آموزش برنامه نویسی اندروید
    • رفع مشکلات و سوالات
    • امنیت در اندروید
    • پروژه های اندروید
  • پشتیبانی اندروید
    • اندروید Lollipop
    • اندروید marshmallow
    • اندروید nougat
    • اندروید Oreo
  • کاتلین (Kotlin)
    • آموزش های برنامه نویسی Kotlin
    • سوالات و رفع مشکلات Kotlin
  • مباحث مرتبط با اندروید
    • ابزارها و سایتهای مفید
    • گرافیک موبایل
    • آموزش های ویدئویی
    • برنامه نویسی جاوا
  • تکنولوژی های اندروید
    • وب موبایل
    • توسعه اندروید با #C
    • توسعه اندروید با Basic4Android
  • متفرقه
    • اپلیکیش های ایرانی
    • برنامه نویسی
    • درخواست همکاری
    • مباحث متفرقه
    • مهارتهای فروش و بازاریابی
  • پشتیبانی محصولات مارکت
    • پرسش و پاسخ مرتبط با مارکت انجمن اندروید ایران
    • پشتیبانی مارکت پروژه های اندروید
    • پشتیبانی مارکت آموزش اندروید
    • پشتیبانی مارکت گرافیک موبایل
  • انجمن اندروید ایران
    • اخبار و اعلانات
    • صندوق پيشنهادات و انتقادات
    • تازه‌های دنیای کامپیوتر و فناوری
    • قوانین انجمن تخصصی اندروید ایران

دسته ها

  • پروژه اندروید
    • سورس پروژه اندروید
    • کامپوننت های اندروید
    • کتابخانه های اندروید
  • آموزش اندروید
    • فیلم آموزشی کاربردی
    • مقالات آموزشی اندروید
  • گرافیک موبایل
    • قالب طراحی اپلیکیشن
  • اپلیکیشن های اندروید
    • کاربردی
    • کسب و کار
    • آموزش
    • کتاب‌ها و منابع
    • ویدئو و رسانه
    • بازی‌

تقویم ها

  • Community Calendar

237 نتیجه پیدا شد

  1. سلام من تازه واردم و از برنامه نویسی اندروید چیزی نمیدونم بعد از نصب اندروید استدیو و ساختن یک پروژه به این مشکل برخورد کردم میخواستم ببینم چطوری میتونم مشکلو حل کنم Connection refused: no further information ممنون میشم دوستان 1 روزه هرچی میگردم به جواب نمیرسم
  2. سلام دوستان من پس از آپدیت اندروید استودیو دیگه دیوایس های مجازی من نمایش داده نمیشه با اینکه ران هستن. بنظرتون مشکل چیه؟؟
  3. سلام من میخوام یه نرم افزار بنویسم که با سرور کار میکنه و ی سری داده توی دیتابیسی که روی سرورمه ذخیره و بازیابی میکنه برای این کار یه سری فایل php میخوام به عنوان واسط که همون api های من میشن حالا سوال اینجاس که ایجاد و کار کردن با این api ها امن هست؟ و چطور میتونم امنیتشو برقرار کنم چون الان مثلا یه api برای افزودن پست داشته باشیم نرم افزار یه جیسون ارسال میکنه به سرور با اطلاعات مورد نیاز اون api حالا یه نفر که مشکل داره میتونه با sniff کردن اطلاعات ارسالی به اون api دسترسی پیدا کنه و یه پست به نام شخص دیگه ای ایجاد کنه ! چطور این مشکل رو حل کنم ؟ توی نرم افزار هایی مثل دیوار میخواستم چک کنم چون اونا از ssl استفاده میکردن نتونستم به جیسونی که میفرستم دسترسی پیدا کنم که ببینم چی کار کردن
  4. JetPack در اندروید Android Jetpack is a set of components, tools and architectural guidance that make it quick and easy to build great Android apps. Components are individually adoptable but built to work together while taking advantage of Kotlin language features that make you more productive. Jetpack manages tedious activities like background tasks, navigation, and lifecycle management, so you can eliminate boilerplate code and focus on your what makes your app great. Built around modern design practices, Jetpack components enable fewer crashes and less memory leaked with backwards-compatibility baked in. دانلود ویدئوی آموزشی : Introducing Android Jetpack.mp4
  5. ثبت نام و توضیحات دوره دوره برنامه نویسی اندروید یکی از جذاب ترین دوره های آموزشی میباشد که مخاطبان دوره میتوانند در این دوره اصول طراحی اپلیکیشن های تحت اندروید را طراحی و پیاده سازی نموده و شروع به کسب درآمد در حوزه اپلیکیشن های موبایل نمایند.کاربران این دوره میتوانند با کسب مهارت های مطرح شده در سرفصلهای دوره گام بزرگ و سریعی جهت ورود به بازار اپلیکیشن های اندرویدی برداشته و با انتشار برنامه های طراحی شده خود در فضای مجاری کسب درآمد کنند.هم اینک ده ها هزار نرم افزار تحت موبایل در فضای اینترنتی منتشر شده که تعداد بی شماری از این نرم افزارها با دانلود های حیرت آور منبع درآمدهای چندین میلیونی برای طراح خود بوده اند.اگر قصد ورود به بازار نرم افزارهای موبایل دارید هم اینک در دروه آموزشی برنامه نویسی اندروید شرکت کنید. مدرس (مدرسان) : فرزاد سرسیفی پیشنیاز: آشنایی با مفاهیم برنامه نویسی - آشنایی با زبان جاوا مدت زمان دوره: 10 جلسه ( کارگاه کاملا عملی تحت پروژه) به صورت کارگاهی (در مجموع 40 ساعت)(ظرفیت باقی مانده 2 نفر) تاریخ برگزاری: (دوره از ۱۰ تیر ماه 1397 به مدت 10 جلسه - روزهای یک شنبه و سه شنبه ساعت 17 الی 21 ثبت نام و توضیحات دوره سرفصلهای دوره آموزشی برنامه نویسی اندروید به صورت کاملا عملی: فصل اول)فریمورک اندروید و راه اندازی اندروید استودیو آشنایی با اندروید لایه های نرم افزاری اندروید کتابخانه های اندروید ورژن های مختلف اندروید از ابتدا تا Oreo نصب و راه اندای اندروید استودیو نیازمندی مورد نیاز برای اندروید استودیو آشنایی با اندروید استودیو ماشین مجازی اندروید AVD ماشین مجازی genymotion آشنایی با دیباگ پروژه در اندروید استودیو آشنایی با Kotlin در اندروید استودیو فصل دوم) SDK اندروید و اکتیویتی ساختار پروژه های اندروید آشنایی با فایل مانیفست ساختار فایل مانیفست آشنایی با SDK اندروید آشنایی با اکتیوتی و مفهوم اکتویتی در اپلیکیشن های اندروید چرخه حیات اکتیوتی Life Cycle فصل سوم) فرگمنت،View ها و ListView آشنایی با فرگمنت View ها در اندروید آشنایی با ویجت های اندروید سایر استاندارد تصاویر در اندروید فصل چهارم)Intent ها و Intent filters آشنایی با Intent انتقال اطلاعات توسط Intent ارتباط بین اکتیویتی ها با Intent فصل پنجم) Layout های اندروید و View های سفارشی آشنایی با مفاهیم Layout طراحی واسط کاربری برای سایز های مختلف Layout های چند زبانه ساخت View های سفارشی پیاده سازی اپلیکیشن های چند زبانه در اندروید فصل ششم) منابع اندروید،Theme و متریال دیزاین معرفی منابع اندروید Theme های اندروید Style ها بکار گیری Material Design در طراحی اپلیکیشن فصل هفتم)Ui اندروید-دیالوگ ها،منوها و WebView دیالوگ ها AlertDialog اکتیویتی دیالوگ ها منوها OptionMenu فصل هشتم)ذخیره سازی اطلاعات روش های ذخیره سازی اطلاعات در اندروید SharedPrefrences ارتباط با اینترنت فصل نهم)ذخیره سازی اطلاعات با دیتابیس Sqlite معرفی دیتابیس در اندروید پیاده سازی دیتابیس Sqlite در اندروید افزودن اطلاعات به دیتابیس ویرایش اطلاعات در دیتابیس حذف اطلاعات در دیتابیس نمایش اطلاعات در دیتابیس آشنایی با ORM ها فصل دهم)Notification در اندروید پیاده سازی Notification در اندروید Notification های سفارشی طراحی واسط کاربری برای Notification آشنایی با Pending Intent Notification در اندروید 5 فصل یازدهم)Sms،شبکه ها ،بلوتوث ، wifi،ویبره ارسال SMS دریافت پیامک روشن کردن بلوتوث روشن کردن Wifi Detect کردن wifi کنترل کردن ویبره دستگاه فصل دوازدهم)وب سرویس ها- JSON مفهوم وب سرویس انواع وب سرویس ها ارتباط با وب سرویس آشنایی با وب سرویس JSON آشنایی با JSON Array آشنایی با JSON Object آشنایی با Volley دریافت اطلاعات وب سرویس Volley ارسال اطلاعات به سرور Volley Image Loader Picasoo آشنایی با HttpGet و HttpPost آشنایی با HttpResponse فصل سیزدهم)گوگل مپ و موقعیت یابی گوگل مپ گوگل مپ ورژن دو آشنایی با Google Play Service Api گوگل مپ آشنایی با Keytool برای تعریف Sha تعریف api در مانیفست افزودن Permission های مورد استفاده به مانیفست آشنایی با MarkerOptions ایجاد نقاط(point) روی نقشه آشنایی با CameraOption تنظیم کردن Zoom نقشه ایجاد نماهای Normal،Satellite،Terrain،Hybrid بدست آوردن مکان جاری و نمایش آن روی نقشه آشنایی با Lat و Lang آشنایی با LocationListener بدست آوردن موقیت جاری از روی GPS و Internet مسیریابی نقاط: شبیه اسنپ و تپسی فصل چهاردهم)آشنایی با تغییرات اندرویدM و N Material Design Toolbar MenuDrawer CardView and RecycleBinView FloatingActionButton SnackBar فصل پانزدهم) خروجی نهایی ایجاد Key برای Sign ایجاد خروجی نهایی Apk ثبت نام و توضیحات دوره
  6. سلام من میخوام یک برنامه ای بنویسم که به کاربر هر روز بگه چند ساعت با موبایلش کار کرده حالا من یه کرنومتر گذاشتم که این رو حساب کنه ولی یه مشکلی دارم که نمیتونم عملیش کنم, کرنومتر وقتی که صفحه خاموش هست باید استاپ بشه و وقتی که صفحه روشن هست ادامه بده به زمان گرفتن.( به صورت سرویس ) با استفاده از isInterActive میدونم باید انجام بشه که یک مقدار بولین رو برمیگردونه که میگه صفحه روشنه یا نه, اما بلد نیستم که به چه صورت و کجا باید بزارمش!!! ممنون میشم کمک کنید
  7. وقتی با ران ادمین اجراش میخوام بکنم این ارورو میده ولی وقتی با دابل کیلیک میزنم اصلا اینم نشون نمیده چیزی نمایش پیدا نمیکنه یعنی اصلا اجرا نمیشه Could not find main class com/intellij/idea/main اگه کسی بلده چیکاد کنم لطفا بهم بگین❤❤
  8. وقتی با ران ادمین اجراش میخوام بکنم این ارورو میده ولی وقتی با دابل کیلیک میزنم اصلا اینم نشون نمیده چیزی نمایش پیدا نمیکنه یعنی اصلا اجرا نمیشه Could not find main class com/intellij/idea/main اگه کسی بلده چیکاد کنم لطفا بهم بگین❤❤
  9. با عرض ادب و احترام به تمامی دوستان اگر بخوایم بازدن مساوی پشت سر هم آخرین عملگر تکرار بشه و چنانچه بخواهیم با زدن 2+2 بدون این که مساوی رو بزنم4 رو نشون بده یعنی هی تکرار کنم +2 وخودش انگار که مساوی زدی جواب رو نمایش بده چی کار باید بکنم همه چیز کار می کنه به جز این دو مورد اگر میشه راه نمایی کنید New Text Document (3).txt
  10. درود بر دوستان اندروید استدیو رو نصب کردم . ولی به این دلیل ک از ای پی ایران نمیشه sdk رو مستقیم دانلود بکنه مجبور شدم sdk رو جداگانه دانلود کنم و به صورت دستی داخل اندروید استدیو بریزم. ولی امکانش نیست و مسیر دقیقشو بلد نیستم و هرجایی میزارم قبول نمیکنه( سیستم عامل مک هستش) نمیتونم از فیلتر شکن برای دانلود استفاده کنم فیلتر شکنم افت سرعت میده و حجم بالاست کسی میتونه راهنماییم کنه (با کمال احترام و خسته نباشید)
  11. نکات مهم در برنامه نویسی اندروید و جاوا. 1- فراموش نکنید که مقدار صفت android:updatePeriodMillis در تگ <appwidget-provider فایل xml/widget_info.xml بیانگر تایمری هست که کالبک onUpdate کلاس ویدجت صدا زده میشه. 2- در metadata ویدجت، مقدار صفت android:minHeight و android:minWidth تعیین کننده حداقل اندازه ویدجت هستش که باید 72dp (یعنی 1x1) باشه. ولی صفت android:layout_width و android:layout_height در layout ویدجت، تعیین کننده اندازه کنونی ویدجت هستش. 3- از انجایی که List متدی برای اضافه کردن عنصر نداره و سایزش هم ثابت هست، برای تبدیل Array به ArrayList باید به این روش عمل کنید: ArrayList<String> _arrayList = new ArrayList<String>(Arrays.asList(myArray)); 4- برای چک کردن وجود یک مقدار در آرایه کافیست به این صورت عمل کنید: Arrays.asList(myArray).contains(targetValue); 5- نکته جزیی: فراموش نکنید که HashMap در جاوا در واقع همون data structure هستش و نه آرایه! 6- نکته جزیی: زمانی از LinkedList استفاده کنید که قراره تعداد بسیار زیادی عملیات add/remove انجام بشه و نه عملیات random access. 7- نکته جزیی: متد length برای گرفتن طول String و متد length() برای گرفتن طول Array استفاده میشه. 8- همیشه در طراحی لیست/آرایه Boolean از BitSet استفاده کنید. BitSet سی پی یو و مموری cache friendly هستش. 9- آیا می دونید هر Object در جاوا 16 بایت فضا اشغال میکنه؟ 12 بایت برای خود شی و 4 بایت برای هدر شی. بدون متد و فیلد. 10- آیا می دونید String x = new String("abc"); با String y = new String("abc"); برابر(==) نیست؟ 11- هیچ کدام از کالبک های موجود در کلاس ویدجت(AppWidgetProvider) نیاز به صدازدن Superclass ها ندارن، بجز کالبک onReceive. (چون خالی هستن) 12- جدول زیر، لیست مواردی هست که درکجا باید از Context نوع Application یا Activity استفاده کنید: مورد/نوع Application Activity Toast X Dialogs / Views X Intent/Activity X Layout inflation X Service X Send broadcast X X Broadcast Receiver X X Resource values X 13- نکته جزیی: آیا می دونید android.util.Patterns.IP_ADDRESS فقط IPv4 رو شامل میشه؟ 14- نکته جزیی: با uninstall شدن برنامه، cache و تنظیمات برنامه هم حذف خواهند شد. 15- توسط متد ActivityManager.clearApplicationUserData() در اندروید 4.4 به بعد می تونید data تنظیمات برنامه رو حذف کنید. 16- هنگام کار با WebView، برای امنیت بیشتر بهتره تنظیمات setJavaScriptEnabled, setGeolocationEnabled, setAllowFileAccess رو false قرار بدید. 17- برنامه هایی که با یک کلید Sign شده و همگی از shared user Id یکسانی استفاده می کنن(در فایل AndroidManifest.xml) می تونن از فایلهای private یکدیگر استفاده کنن. 18- از اونجایی که جاوا از optional parameter پشتیبانی نمی کنه، به روش زیر می تونید این قابلیت رو شبیه سازی کنید: public void myMethod(final Object object, final boolean... enabled) { // ... if (enabled[0]) { // خخخخخخ } return; } 19- سعی کنید متغیرهای کلاس رو در خارج از متد constructor آماده سازی/Initialize کنید. (اینها مقادیر پیشفرض دارن و حتی قبل از اینکه سازنده کلاس صدا زده بشه مقدار دهی می شوند. پس دوباره به اونها مقدار ندید. بعلاه خوانایی کلاس راحت تر و سریع تر انجام میشه) 20- صفت android:layout_gravity محل قرار گیری (کل) ویدجت رو تعیین می کنه و صفت android:gravity محل قرارگیری محتوای ویدجت رو تعیین می کنه. 21- یادتون باشه که: فایلهای layout فقط برای طراحی قالب و چهارچوب صفحات برنامه هستن، styles.xml برای شکل دهی به عناصر قالب، dimens.xml برای تعیین اندازه و ابعاد عناصر، colors.xml برای رنگ بندی عناصر، strings.xml برای متون موجود در عناصر و... هستند. پس در ترکیب و قرارگیری اینها دقت کنید. 22- تغییر رفتار و امکانات keyboard اندروید در مقابل مقدار صفت inputype عنصر EditText: <EditText android:id="@+id/et_test" android:inputType="?????"/> نوع inputtype نوع Keyboard رفتار دکمه Enter شکلک Case حروف Suggestion کاراکترهای اضافی textLongMessage الفبا / پیشفرض ارسال / بعدی دارد lowercase دارد , و . و همه چیز textFilter الفبا / پیشفرض ارسال / بعدی دارد lowercase ندارد , و . و همه چیز textCapWords الفبا / پیشفرض ارسال / بعدی دارد Camel Case دارد , و . و همه چیز textCapSentences الفبا / پیشفرض ارسال / بعدی دارد Sentence case دارد , و . و همه چیز time اعداد ارسال / بعدی ندارد - ندارد فقط : textMultiLine الفبا / پیشفرض خط بعدی دارد lowercase دارد , و . و همه چیز number اعداد ارسال / بعدی ندارد - ندارد ندارد textEmailAddress الفبا / پیشفرض ارسال / بعدی ندارد lowercase ندارد @ و . و همه چیز بدون نوع الفبا / پیشفرض خط بعدی دارد lowercase دارد , و . و همه چیز textPassword الفبا / پیشفرض ارسال / بعدی ندارد lowercase ندارد , و . و همه چیز text الفبا / پیشفرض ارسال / بعدی دارد lowercase دارد , و . و همه چیز textShortMessage الفبا / پیشفرض شکلک دارد lowercase دارد , و . و همه چیز textUri الفبا / پیشفرض ارسال / بعدی ندارد lowercase ندارد / و . و همه چیز textCapCharacters الفبا / پیشفرض ارسال / بعدی دارد UPPERCASE دارد , و . و همه چیز phone اعداد ارسال / بعدی ندارد - ندارد * # . - / () W P N , + textPersonName الفبا / پیشفرض ارسال / بعدی دارد lowercase دارد , و . و همه چیز نکته: در صورتی که تنظیم Auto-capitalization در تنظیمات Keyboard فعال باشه، Case حروف رفتار پیشفرض خواهد داشت، در غیر اینصورت همه حروف کوچیک خواهند شد. نکته 2: زبان نوع Keyboard اعداد همگی انگلیسی 1234567890 می باشد. نکته 3: در صورتی که تنظیم Correction/Suggestion در تنظیمات Keyboard فعال باشه، Suggestion بدرستی رفتار خواهد کرد، درغیر اینصورت در همه موارد خاموش خواهد ماند. 23- مقدار center با مقدار center_vertical|center_horizontal و مقدار fill با مقدار fill_vertical|fill_horizontal در صفت android:gravity و صفت android:layout_gravity برابر هست. 24- برای حل مشکل موقعیت متن EditText در اندروید 5.0 کافیه مقدار صفت android:spacing رو 0dp قرار بدید. 25- برای نمایش تصاویر بسیار بزرگ(بیشتر از 2000 پیکسل) بهترین گزینه استفاده از WebView هستش. 26- رفتارهای متفاوت مقادیر FIT_CENTER و CENTER_INSIDE در صفت android:scaleType: - اگر تصویر بزرگتر از container باشه، مقدار FIT_CENTER و CENTER_INSIDE رفتار یکسانی خواهند داشت. - اگر تصویر کوچکتر از container باشه، مقدار FIT_CENTER تصویر رو scale خواهد کرد. - اگر تصویر کوچکتر از container باشه، مقدار CENTER_INSIDE تصویر رو بدون تغییر در مرکز قرار خواهد داد. 27- کاربرد تگ include با ویدجت ViewStub متفاوته! تگ include صرفاً محتوای XML فایل دیگر رو در جایی دیگر ضمیمه می کنه. ولی ویدجت ViewStub کلکسیونی از ویدجت ها می تونه باشه که در زمان نیاز نمایش یا مخفی شون کنه. 28- خلاصه اصطلاحاتی درباب سایز و کیفیت صفحه دستگاه اندروید: Screen size: بیانگر سایز فیزیکی صفحه دستگاه هستش که برای layout و ویدجت ها استفاده میشه. گروه بندی: small, normal, large, extra-large Screen density / DPI: بیانگر تراکم پیکسل های موجود در صفحه دستگاه هستش که به DPI یا همون Dot Per Inch معروفه. برای مثال دستگاهی با DPI low فقط تعداد اندکی پیکسل در صفحه فیزیکیش وجود داره پس تصاویر هم از کیفیت پایینی برخوردار هستن... گروه بندی: low-dpi, medium-dpi, high-dpi, xhigh-dpi, xxhigh-dpi, x*xxhigh-dpi (برای دسته بندی تصاویر و گرافیک استفاده میشه) Orientation: بیانگر شیوه نمایش به کاربر هستش. گروه بندی: ایستاده/portrait, خوابیده/landscape Resolution: بیانگر تعداد کل پیکسل های موجود در صفحه دستگاه هستش. گروه بندی: 320x240, 480x320, 800x480 و... Inch: بیانگر قطر فیزیکی صفحه هستش که از رادیکال ((طول*2)+(عرض*2)) بدست میاد. گروه بندی: 4.4", 4.7", 5", 10", 15" و... 29- نکته جزیی: از واحد sp فقط برای اندازه متون/font و از واحد dp برای اندازه ویدجت ها باید استفاده بشه. 30- شیوه صحیح و کوتاه full screen کردن Dialog: _dialog = new Dialog(this, LayoutParams.MATCH_PARENT); یا _dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); یا _dialog = new Dialog(this, WindowManager.LayoutParams.FLAG_FULLSCREEN); 31- در صورتی که پیچیدگی در عناصر صفحه برنامه وجود نداره، بجای RelativeLayout از LinearLayout استفاده کنید... به دلیل اینکه: 1- در LinearLayout عناصر Visibility.GONE و Visibility.VISIBLE شده بدرستی در کنار هم قرار میگیرن، ولی در RelativeLayout خیر. 2- در دستگاه های کوچیک، عناصر موجود در LinearLayout ثابت و منظم می مونن ولی عناصر موجود در RelativeLayout با به هم ریختگی بر روی هم قرار می گیرن. 3- برای تنظیم عناصر در LinearLayout نیازی به تعریف ID برای عناصر نیست، ولی در RelativeLayout نیاز هست تا تک تک عناصر ID گذاری بشن. 4- LinearLayout قابلیت تنظیم weight داره، ولی RelativeLayout نداره. 32- رایجترین resolution های دستگاه های اندروید: 240x320, 320x480, 480x800, 540x960, 640x360, 600x1024, 768x576, 800x400, 960x540, 1024x600, 1280x720, 1280x800, 1366x768, 1440x904, 1600x1200, 1920x1080, 1920x1200, 2048x1536, 2560x1440, 2560x1600 33- از آنجایی که کلاس های Anonymous سازنده ندارن، بهترین راه استفاده از instance initializers هستش. 34 - یادتون باشه که تقدم اجرای initializer ها در یک کلاس همیشه بصورت: Static initializer -> Instance initializer -> Constructor هستش. public class MyClass { // Constructor initializer public MyClass() { // #3 } // Static initializer static { // #1 } // Instance initializer { // #2 } } 35- یک دلیل رخداد خطای Performing stop of activity that is not resumed میتونه متغیرهای اکتیویتی باشن که توسط اندروید آزاد/free شده و اکتیویتی شما دیگر به مقدار اصلی/نهایی متغیر دسترسی نداره... لذا مقدار متغیر به پیشفرض/default تغییر کرده. (البته این مسله زمانی رخ میده که سیستم اندروید نیازمند حافظه بیشتری برای برنامه foreground داشته باشه، بنابراین توسط پاکسازی حافظه برنامه های background تامینش میکنه) 36- فقط زمانی متدهای setter/getter رو پیاده سازی کنید که در متد پردازش یا محاسباتی صورت میگیره... درغیر این صورت باید از field استفاده کنید که سرعتش هم 3 برابر بیشتر از متد هستش. (مگر اینکه نیاز به تصریح در Interface رو داشته باشید) 37- اگر در جاوا 5 به قبل، کلاس Thread رو instantiate کنید و متد start() ش رو صدا نزنید، memory leak انجام دادید! 38- دلیل رخداد خطای error: Error retrieving parent for item: No resource found that matches در برنامه Eclipse، نسخه اندروید و theme ای هست که انتخاب کردید... برای نمونه تم Holo در اندروید 2 موجود نیست و در صورت ایجاد پروژه با این مشخصات با این خطا مواجه میشید. 39- هرگز اطلاعات حساس و مهم رو بر روی SD Card ذخیره نکنید، مگر بکمک encryption و سطح دسترسی MODE_PRIVATE. 40- حتاالمکان سطح دسترسی ContentProvider برنامه رو محدود یا کلاً غیرفعال کنید... برای اینکار کافیه مقدار صفت android:exported در تگ activity رو false قرار بدید: <activity android:name="mypackage.myapp.myactivity" android:exported="false"> ... </activity> این کلاس ContentProvider، امکان دسترسی و اشتراک گذاری اطلاعات و دیتای برنامه شمارو برای دیگر برنامه ها فراهم میکنه. بنابراین لازمه که سطح دسترسیش محدود بشه. توجه: در اندروید نسخه 4.1 به قبل، بطور پیشفرض مقدار این صفت public هستش و در اندروید نسخه 4.2 به بعد مقدار این صفت private یا همون false هستش. ویرایش نرده استیل آکات
  12. سلام من دارم یک اپلیکیشن اندروید درست می کنم که یک بانک فیلم هست و قابلیت لایک و کامنت هم داره به نطر شما چه هاست یا سروری براش خوبه؟
  13. جهت ساخت اپلیکیشنی برای انداوید جهت ارتباط با ماشین آلات از طریق درگاه بلوتوپ و وای فای به یک برنامه نویس اندروید نیاز داریم. سرعت ، دقت و تعهد در انجام کار ضروری می باشد. سورس برنامه نیز باید قابل ارائه باشد. محل پروژه اصفهان 09360107546
  14. سلام امروز میخوایم کار با کتابخونه volley رو با هم یاد بگیریم.با افزودن این کتابخونه میتونید ارتباط با کد php که در سرورتون نوشتید رو سریع تر و آسون تر کنید. به این صورت که اول با این کد به پروژه خودتون اضافش کنید. compile 'com.mcxiaoke.volley:library:1.0.19' اگه مشکلی در اضافه کردن این کتابخونه دارید کلیک کنید. خب بریم سراغ کد نویسی کد های زیرو بذارید اونجایی که قراره ارتباط بر قرار شه RequestQueue queue= Volley.newRequestQueue(this); StringRequest myRequest=new StringRequest(Request.Method.POST, "My link", new Response.Listener<String>() { @Override public void onResponse(String response) { Toast.makeText(LogReg.this, response, Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(LogReg.this, "خطا در ارتباط با سرور", Toast.LENGTH_SHORT).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String , String> params = new HashMap<>(); params.put("username", "My Username"); params.put("password","My Password"); return params; } }; queue.add(myRequest); توضیحات: اولا که اونجایی که نوشتم Request.Method.POST در حقیقت داریم متد ارسال اطلاعات به فایل رابطمون رو تعیین میکنیم.قسمت mylink هم لینک فایل رو قرار میدید.تابع onResponse در صورت موفقیت آمیز بودن اجرا میشه و متن بازگشتی داخل متغیر response هست همچنین در صورتی که مشکل باشه تابع onErrorResponse اجرا میشه که با دستور error.tostring() به متن خطا دسترسی خواهید داشت.دو کد params.put هم مقادیرو ارسال میکنن(پارامتر اول اسم متغیر و دومی هم مقدار) و کد آخر هم در حقیقت درخواست ما که اسمش myRequest هستو تو صف ارسال (queue) قرار میده. تمام
  15. با سلام خدمت همه ی دوستان و اساتید گرامی دوستان ! من مدتی هست شروع به یاد گیری برنامه نویسی اندروید کردم . الان دارم از روی یک کتاب برنامه نویسی اندروید رو یاد می گیرم. اما واقعا یادگیری برنامه نویسی اندروید از روی کتاب خیلی سخته. تصمیم دارم در یک دوره مجازی شرکت کنم. اصلا برام مهم نیست نقدی باشه یا رایگان . برام مهمه که جامع باشه ، مطالبش به روز باشه و بعد از دوره من رو برای بازار کار آماده کنه. خیلی از دوره ها رو دیدم اما واقعا نمی دونم کدوم رو انتخاب کنم. کسی هست من رو راهنمایی کنه که کدوم دوره رو خریداری کنم ؟ با تشکر ...
  16. سلام من میخوام یا برنامه تبدیل واحد بنویسم. چجوری میشه برای edittext تعریف کرد که فقط عدد میشه وارد کرد و علامت منفی هم فقط یکبار قابل استفاده اونم اوله عدد؟ کد زیر رو استفاده کردم اما مشکلش اینه که منفی رو همه جا و به هر تعداد میشه درج کرد و همینطور ممیز هم نامحدود میشه استفاده کرد . کسی راه حلی داره؟ <EditText android:id="@+id/myNumber" android:digits="0123456789." android:inputType="numberDecimal"
  17. سلام وقتی با شماره تلفن یا ایمیل توی یه برنامه لاگین میکنن برای دفعات بعد از کجا باید فهمید که کاربر لاگین کرده یا نه تقریبا بلدم چیکار کنم ولی به نظرم امنیت نداره راه امنش چیه؟
  18. آیا تا به حال شده که بعد از ارائه اپلیکشن پیغامهایی از طرف کاربران دریافت کنید که ناشی از بسته شدن اپ در حین کار باشه؟ در اینگونه مواقع علاوه بر زمانبر بودن پیدا کردن خطا، شاهد ریزش شدید کاربران اپ خواهید بود. پس بهتر است قبل از ارائه اپ در بازار یا Google Play تمهیداتی را برای اطلاع از پیغامهای احتمالی در نظر بگیرید. یکی از ابزارهای بسیار مفید استفاده کردن از کتبخانه هایی هست مه برای انجام این کار در نظر گرفته شده است، به عنوان مثال کتابخانه ACRA این کار را با ارسال ایمیل برای شما به راحتی انجام میدهد. استفاده کردن از این کتابخانه بسیار راحت هست. در قدم اول باید کتابخانه ACRA را به عنوان dependency به build.gradle اضافه کنید: compile 'ch.acra:acra:4.9.2' در قدم بعدی کلاس Application را بسازید و متدهای مربوطه برای ACRA را در آن پیاده سازی کنید: @ReportsCrashes( formUri = "", mailTo = "yourmail@yourdomain.com", customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.BRAND, ReportField.CUSTOM_DATA, ReportField.INITIAL_CONFIGURATION, ReportField.CRASH_CONFIGURATION, ReportField.USER_CRASH_DATE, ReportField.STACK_TRACE, ReportField.LOGCAT}, resToastText = R.string.crash_toast_text, mode = ReportingInteractionMode.TOAST) public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ACRA.init(this); } } در بخش ReportField همانطور که میبینید، اطلاعاتی که قرار است به ایمیلتان ارسال گردد را وارد میکنیم. در قدم آخر فایل Manifest را باز کرده و دسترسی های مربوطه و همچنین کلاس Application را در تگ application وارد کنید: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.acrademo"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> برای تست عملکرد کدها، یک دکمه بسازید و سپس کدهایی را برای آن وارد کنید که باعث کرش شدن اپ گردد... public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onCrash(View view){ throw new RuntimeException("App Crashed"); } } منبع: www.asifmoinulislam.com
  19. با سلام من یه برنامه مسیر یابی و از Google Maps Directions API استفاده میکنم از فیلتر سکن هم استفاده مینکم زمانی که خروجی میگیرم و روی گوشی نصب میکنم بعضی مواقع کار نمیکنه و نیاز به فیلتر سکن هست در صورتی که برنامه هایی هستن که بخوبی کار میکنند چطوری مشکل حل کنم DISABLE
  20. سلام دوستان . خسته نباشید . من به تازگی تصمیم به یادگیری اندروید گرفتم ولی خب متاسفانه همین اول را به مشکلی خوردم که درست بشو نیست به زبان انگلیسی هم سرچ کردم ولی جایی جواب درستی نبود . مشکل من اینه که همون اولی که اندروید استودیو رو باز میکنم این ارور میاد Error:Failed to find Build Tools revision 26.0.2 پیر شدم سر این . حالا روش هایی که امتحان کردم هم زیاد بوده ولی جواب نبوده مثلا تو stackoverflow گفته بود که برو تو project structure بعد تو properties و اونجا ورژن build tools رو عوض کن . در صورتی که اصلا در project structure من اصلا properties نیست . یک جای دیگه گفته بود که این خط رو به build.gradle اضافه کن درست میشه buildToolsVersion "24.0.0" اضافه کردم و هیچ عملی نکرد باز هم همون ارور وقتی دیدم راهی نداره گفتم باید این فایل رو دانلود کنم چندین جا گشتم و نبود ولی یک جا پیدا کردم دانلود کردم و extract کردم تو پوشه build tools ولی جوابی نبود و همون ارور میومد . الان راه چیه ؟ اگی فایلی هست که شما میدونین بگین تا دانلود کنم
  21. سلام وقت بخیر دوستان کسی میدونه این با چه کتابخونه ای ساخته شده؟ 20180305_184518.mp4
  22. سلام دارم برنامه فروشگاهی میسازم انتخاب قیمت محصول جوریه که کاربر خودش باید انتخاب کنه از بین چند تا مورد این فایلی که فرستادم ببینین متوجه منظورم میشین من داخل برنامه دو تا اسپینر گذاشتم که اطلاعاتش رو از سرور میگیرم و داخل اسپینر ست میکنم که با انتخاب هر کدوم ای دی خودشو برمیگردونه تا اینجا درسته مشکلی نیست ولی برنامه ی لیست قیمت داره که براساس ای دی این دوتا اسپینرباید مشخص بشه یعنی مثلا اسپینر اول ای دی 5 برگردونه و اسپینر دوم ای دی مثلا3 اینجا باید ما سرچ بزنیم تو لیست قیمت ها که ای دی 5و3 قیمتش چنده ... به نظرتون اینو چجوری پیاده کنم ایا میشه تو arraylist بریزم و روش حالت سرچ بذارم و اندیس رو برگردونه. اصلا میشه با arraylist همچین کاری کرد؟ یا تو دیتابیس بریزم؟ دوستان اگه راه حل بهتری دارن لطفا راهنمایی کنن ممنون جیسون قیمت ها به این شکله [ { "cat": "1", "type": "0", "size": "33", "price": "4800" }, { "cat": "1", "type": "0", "size": "34", "price": "7200" }, ] 20180305_163147.mp4
  23. سلام خسته نباشید من یه اپ دیکشنری میخواهم بسازم که اطلاعات را از دیتابیس سرور بگیره و یه دکمه آپدیت درون برنامه اندروید بذارو و وقتی که روی دکمه کلیک شد بره و اطلاعات رو از دیتابیس سرور بخونه و بریزه تو دیتابیس اندروید و ذخیره کنه … یعنی با هر بار اعمال تغییر در دیتابیس سرور و با کلیک شدن روی این دکمه اطلاعات دیتابیس برنامه به روز و شود و درون ریسایکلر ویو نشان داده شود … تشکر
  24. سلام وقت همگی بخیر من یک دیتا بیس دارم حدود 10 هزار ردیف و بیست ستون هست میخواهم از طریق چک باکس مشخص کنم در کدام ستون جستجو کند لطفا در صورت امکان کدنویسی مربوط اتصال به دیتابیس و سایر مواردی که مورد نیاز هست بفرمایید\ من یک تازه کارم متشکرم
  25. سلام به همه دوستان عزیز من می خواهم در یک صفحه اول برنامه این نمایش داده بشه مثلا سلام صبح بخیر امروز سه شنبه 24 بهمن 1396 اینهای که رنگی کردم بر اساس ساعت و تاریخ به روز گوشی تغیر کند لطفا راهنمایی کنید مرسی از همگی دوستان