a.khosroabadi

مدیر انجمن
  • تعداد ارسال ها

    181
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    32

تمامی ارسال های a.khosroabadi

  1. سلام این یک آموزش فارسی http://kamalan.com/1392/01/طریقه-دانلود-google-api-برای-توسعه-برنامه-های-ا/ این هم آموزش انگلیسی http://www.vogella.com/tutorials/AndroidLocationAPI/article.html http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html
  2. سلام این یک آموزش فارسی http://kamalan.com/1392/01/طریقه-دانلود-google-api-برای-توسعه-برنامه-های-ا/ این هم آموزش انگلیسی http://www.vogella.com/tutorials/AndroidLocationAPI/article.html http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html
  3. سلام دوست عزیز زمانی که گوشی به کامپیوتر وصل هستش لطفا تست کنید و پیغام خطارو بزارین تا بشه راهنمایی کرد
  4. سلام دوست عزیز به این صورت عمل کنید android:maxLines="4" android:singleLine="false" اینارو برای TextView بزارین
  5. به راحتی. زمانی که ثبت موفقیت آمیز بود در ادامه کدهای مربوط به نوتیفیکیشن میاد و در صورتی که ثبت با مشکل مواجه شد برای کاربر یک پیغام (خطا در ثبت اطلاعات) فرستاده میشه.
  6. اندروید استودیو

    نه ربطی به این موضوع نداره شما تو تنظیمات اپلیکیشن مشخص مینید که حداقل ورژن اندروید(minSdk) که ساپورت میکنه چند باشه
  7. اندروید استودیو

    خیر دوست عزیز ایرادی نداره و درست هستش
  8. سلام دوست عزیز باید از spans استفاده کنید به این صورت final SpannableStringBuilder sb = new SpannableStringBuilder("your text here"); // Span to set text color to some RGB value final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158)); // Span to make text bold final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Set the text color for first 4 characters sb.setSpan(fcs, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make them also bold sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); yourTextView.setText(sb); این هم یک آموزش دیگه https://blog.stylingandroid.com/introduction-to-spans/
  9. اندروید استودیو

    سلام دوست عزیز خیر مشکلی نداره خیلی هم خوب هستش. زمانی که اندروید استودیو برای اولین بار اجرا کنید مسیر sdk باید بهش بدین
  10. راستش کتاب نمیدونم ولی شما باید چندتا تا موضوع سرچ کنید و بخونید راجع بهش پرفورمنس در اندروید پرفورمنس در جاوا مالتی تردینگ کالکشن ها در جاوا
  11. خواهش میکنم دوست عزیز مبحث پرفورمنس خیلی گسترده هستش و جا برای صحبت و مطالعه زیاد داره
  12. سلام دوست عزیز سوالتون خیلی کلی هستش و جای بحث زیادی داره بزارین به ترتیب بریم جلو. اول از همه اینکه کدهارو زیر هم بنویسید یا از متد ها یا کلاس های جداگونه استفاده کنید تاثیر چندانی روی پرفرمنس نداره ولی در آینده برای دیباگ کردن یا تغییر دادن و گسترش یا کم کردن ویژگی های برنامه تاثیر زیادی داره زمانی که شما تمام کدهارو زیر هم بنویسید بعد یک مدت میبینید یک کد پیچیده زیاد و کثیف دارین که به اصطلاح میگیم اسپاگتی کد و در آینده با مشکلات زیادی رو به رو میشید.ولی جدا کردن کد ها استفاده از design pattern ها و مفاهیم شی گرایی و solid باعث تمیز شدن خوانا شدن و همینطور راحتتر شدن نگهداری کد میشه. حالا بریم سراغ پرفرمنس تو لایه گرافیکی و رندر لایوت ها ببینید 2 تا عامل باعث میشه سرعت شما بره بالا 1- overdraw که مفهومش این هستش که شما وقتی وارد یکی از اکتیویتی ها میشین تو گوشی و دارین یک صفحه رو نگاه میکنید هر پیکسل چند بار رنگ میگیره.که این تعداد دفعات هرچی کمتر باشه تاثیر میزاره تو سریعتر رندر شدن صفحات. 2- hierarchies. منظور اینه اگه شما اکتیویتی یا فرگمنت هاتونو به صورت یک درخت در نظر بگیرین این درخت چند لایه داره و از روت تا برگ ها. هرچی تعداد لایه ها کمتر باشه پرفورمنس بهتری داره. یه راحکار این هستش که هرچی کمتر از linear layout استفاده کنید بهتره. در کل relative layout و constraint layout پرفورمنس بهتری از بقیه دارند. بعد از این ها بریم سراغ کد نویسی جایی که نیاز به تجربه و دانش بیشتری داره. این هم دو قسمت داره cpu و memory اول بریم سراغ memory ساخت ابجکت ها و از بین بردنشون خیلی مهمه اینکه درست ابجکت هارو بسازیم تا فقط در زمانی که نیاز دارین ساخته بشه و بعد از اینکه کارمون باهاش تموم شد از بین بره. از چه نوع متغییر هایی استفاده کنیم تا نیاز مارو برطرف کنه و حافظه کمتری بگیره از چه نوع داده ای استفاده کنید Object ها مثل ( Integer , Long , ... ) یا نوع داده پایه (int , long , ....) حالا بریم سراغ cpu اینجا جایی هستش که هنر کدنویسی و تجربه و دانش وارد میشه کدها باید با دقت نوشته بشه تا پردازش اضافی نداشته باشه و از پردازش ها و محاسبات اضافی خودداری کنید انتخاب مناسب ایتم هایی مثل List , ArrrayList , Map , HashMap , Set , HashSet , .... که اینجا باید کمی مطالعه داشته باشید و با خواص هرکدوم آشنا باشید مثلا بعضی از این ها مرتب هستند بعضی ها نا مرتب تو بعضی سرعت خواندن ازشون بالاتره تو بعضی هاشون سرعت نوشتن. بعضی هاشون سرچ داخلشون سریعتره و .... که باید با هرکدوم از اینها آشنایی داشته باشید و با توجه به کاربردتون ازش استفاده کنید. و خوب در نهایت میرسیم به مبحث multithreading که پیچیدگی های خودشو تو اندروید داره استفاده اشتباه و زیاد ازش باعث میشه که به جای سرعت بالاتر نتیجه معغیر مجاز بگیرید و برنامتون کندتر بشه. باید بدونید کجا از Thread یا Asynctask یا Looder , .... استفاده کنید و مزایا و معایب هرکدومو بدونید. ببخشید یکم طولانی شد البته به شدت سعی کردم خلاصه بگم (خیلی خیلی خیلی خلاصه) و این مبحث هنوووز ادامه دارد و جای بحث زیاد .......
  13. سلام دوست عزیز به این صورت عمل کنید SELECT DISTINCT column_list FROM table;
  14. سلام button که دارین براش onClick مینویسین null هستش
  15. سلام این قسمتو باید تغییر بدین @Override public View getView(int i, View view, ViewGroup viewGroup) { view = LayoutInflater.from(getContext()).inflate(R.layout.item_list_menu,null); title = (TextView)view.findViewById(R.id.title); title.setText(d2.get(i).getTitle()); return view; }
  16. سلام دوست عزیز از کلاس Build باید استفاده کنی یه سر به لینک زیر بزن https://developer.android.com/reference/android/os/Build.html چندتا نمونه android.os.Build.VERSION.SDK android.os.Build.DEVICE android.os.Build.MODEL android.os.Build.PRODUCT
  17. سلام دوست عزیز به جای Picasso از کتابخانه Glide استفاده کنید
  18. سلام دوست عزیز لطفا کد و خطایی که میده بزارین تا بهتر بشه راهنمایی کرد. داخل asynktask از چه کدی استفاده میکنید؟
  19. سلام لطفا خطا رو هم بزارین
  20. سلام روز بخیر دارین از پوش نوتیفیکیشن استفاده میکنید؟ باید سمت وب سرویس رو هم براش encoding بزارین
  21. سلام دوست عزیز کتابخانه gilde اضافه کنید داخل gradle dependencies { // glide compile 'com.github.bumptech.glide:glide:3.7.0' } و با استفاده از کد زیر میتونید لودش کنید String imgUrl = "Image URL"; ImageView imageView = (ImageView) view.findViewById(R.id.thumbnail); Glide.with(mContext).load(imgUrl) .crossFade() .diskCacheStrategy(DiskCacheStrategy.ALL) .into(imageView);
  22. سلام روز بخیر این خطا مربوط به زمانی هستش که تعداد متد های فایل dex از یه حد مجازی بیشتر میشه و اجازه نمیده بیشتر ازین تعداد متد داشته باشید. راه حل این مشکل هم این هست که اجازه استفاده از چند فایل dex به پروژتون بدین و برای این کار باید تو gradle.properties کد زیر اضافه کنید defaultConfig { multiDexEnabled true } و یک نکته دیگه اینکه برای چه کاری احتیاج به کتابخونه play-service دارین؟ بهتره به جای اینکه کل این کتابخونه رو اضافه کنید فقط کتابخونه ای که بهش احتیاج دارین اضافه کنید مثل map یا ..... اینجوری هم حجم اپلیکیشنتون میاد پایین و هم اینکه تعداد متدها خیلی کمتر میشه و احتمالا مشکلتون برطرف خواهد شد.
  23. سلام دوست عزیز بله امکانش هست 1- جنیموشن رو نصب کنید 2- تو تنظیمات جنیموشن مسیر sdk که به اندروید استودیو دادین به جنیموشن هم بدین 3- تو تنظیمات اندروید استودیو برین داخل قسمت پلاگین و پلاگین مربوط به جنیموشن رو نصب کنید. ایکون جنیموشن به اندروید استودیو اضافه میشه و به جای دیوایس های مجازی اندروید استودیو میتونید از جنیموشن استفاده کنید
  24. سلام دوست عزیز یک بار پروژتونو clean کنید
  25. سلام ببخشید با تاخیر خوب بستگی داره که بخواین دفعه بعد که لیست ویو اولیه رو اورد دوباره اون ایتم رو نشون بده یا نه. اگه بخواید نشون بده که کد بالا کافی هستش. ولی اگه بخواین دیگه تو اون لیست نباشه باید از جدولی که لیست اول از روش میسازین هم پاک کنید.