a.khosroabadi

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

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

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

  • Days Won

    35

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

  1. سلام بهترین راه استفاده از یک شناسه میباشد که داخل header رکوئست قرار بدین و البته با روشی این شناسه رو encript کنید. و سمت سرور هم با گرفتن این شناسه و البته چک کردن صحت اون میتوننید از صحت درخواست اطمینان حاصل کنید. و درخواست های نامعتبر رو رد کنید.
  2. سلام بله تا حدودی البته و توضیحات کاملتر خدمت شما ارائه گردید
  3. سلام روز بخیر امکانش نیست وقتی. وقتی clear data میزنه اطلاعات از رو گوشی حذف میشه.نمیشه جلوشو گرفت. راهش این هستش زمانی که میخواد ثبت نام کنه دوباره اطلاعاتشو روی سرور چک کنید و اگه از قبل ثبت نام کرده بود لاگین کنید و دیتا هارو دوباره ست کنید. و یا اینکه یک دکمه لاگین هم بزارید که اگه برنامه رو پاک کرد یا clear data کرد بتونه لاگین کنه مجددا.
  4. سلام دوست عزیز باید یک فیلد flag داشته باشید که با هربار کلیک روی دکمه چک کنه اونو و بر اساس اون یک فعالیتی انجام بده من یک مثال کوچیک میزنم boolean btnFlage = true; btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(btnFlage){ // do action 1 btnFlage = false; }else{ // do action 2 btnFlage = true; } } });
  5. سلام شما باید یک کوئری ادیتور بنویسید که بر اساس فیلد هایی که مقدار گرفتن قسمت where کوئری رو بسازه. منطقی ترین روش این هستش برای مثال private String getCondition(Map<String , Object> params){ StringBuilder condition = new StringBuilder(); if(params.get("name")) condition.append(" NAME=")+params.get("name").toString()+" And "; if(params.get("family")) condition.append(" FAMILY=")+params.get("family").toString()+" And "; if(condition.contain("AND") condition.substring(0,condition.lasIndexOf("And")); if(condition.length()>0) condition.insert(0 , " where "); return condition; } البته این یه نمونه خیلی کوچک و ساده بود و البته به زبان جاوا. میتونید از همچین روشی استفاده کنید
  6. سلام دوست عزیز باید یک تایمر بزارین وست کنید که هر 5 دقیقه یکبار مکان رو بگیره
  7. گوشیتون زمانی که به کامپیوتر وصل باشه و روش اجرا بگیرید تو logcat خطارو چاپ میکنه
  8. سلام دوست عزیز خوب دلایل زیادی وجود داره و انواع برنامه های مختلف زمانی که یه کاربر اطلاعاتشو وارد میکنه شما کجا میخواین نگه دارین؟مصلما باید از دیتابیس استفاده بشه. و اگه منظورتون برنامه هایی مثل کتاب و غیره هستش خوب اونم دلایل زیادی داره که خوب اولا نگه داری از کدتون خیلی راحتتر میشه (مثالش میشه اینکه اگه قرار باشه 1 متنی مطلبی تغییر بدین باید ببینید کجاها استفاده شده و تغییرش بدین در صورتی که اگه از دیتابیس استفاده کرده باشید به راحتی میتونید این کارو بکنید و برای اضافه کردن مطلب جدید هم به همین صورت)، دوما کدهاتون تمیزتره، و حجم برنامتون میتونه خیلی کمتر بشه (برای مثال شما اگه قرار باشه 10 تا صفحه داشته باشید با روش شما باید 10 تا لایوت و تو هر لایوت هر صفحه رو تعریف کنید. ولی با استفاده از دیتابیس شما 1 صفحه میزارید و هر مطلبی که خواستین از دیتابیس میخونید و نشون میدین).
  9. سلام دوست عزیز لطفا خطایی که میده بزارین تا بشه نظر داد به چه دلیلی متوقف میشه روی ورژن های پایینتر
  10. خوب فقط کافیه مقدار بازگشتی متد showName تغییر بدین و چیزی که میخواین بزارین مثلا اگه قراره Integer برگرده بزارین public interface message { public Integer showName(int name); }
  11. oneSignal بدون محدودیت هستش و تحریمی نیست.
  12. سلام دوست عزیز برای سرویس پوش نوتیفیکیشن میتونید از oneSignal استفاده کنید رایگان هستش و خدمات خیلی خوبی داره
  13. سلام دوست عزیز خوب مشکلتون مشخصه شما تو این قسمت int fragment_number; int a = fragment_number; فقط اومدین دوتا متغییر تعریف کردین ولی هیچ مقداری بهش ست نکردین و خوب مسلما این قسمت همیشه خالی هستش. چون نه از جایی مقدار گرفته نه مربوط به یک کلاس یا اینترفیس دیگه هستش که مقدار داشته باشه.صرفا یک متغییر محلی خالی. ولی قسمت پایین شما اومدین متد showName رو override کردین که میاد مقدار name که بهش میدین میگیره و به fragment_number میده. کد شما به درستی داره کار میکنه از لحاظ منطقی. هدف شما از این که به این صورت نوشتین چی بوده و قرار بوده چه کاری انجام بدین؟
  14. سلام دوست عزیز با چیزی که شما تعریف کردین و من متوجه شدم بهترین گزینه ذخیره اطلاعات سمت سرور هستش به چند دلیل 1- همیشه جدیدترین بوتیک های اضافه شده در دسترس هستش 2- ممکنه شما بخواهید گزینه های دیگه ای هم اضافه کنید بعدا که انلاین بودن بهتون کمک میکنه.ذخیره شدن دیتا ها روی گوشی به نظر کار چندان جالبی نمیاد البته گاهی وقتا مجبورین برای بعضی قسمت ها این کارو بکنید و یکسری دیتا های کوچیکو نگه دارین. ولی همه چی سمت سرور باشه خیلی بهتر هستش.
  15. سلام این یک آموزش فارسی http://kamalan.com/1392/01/طریقه-دانلود-google-api-برای-توسعه-برنامه-های-ا/ این هم آموزش انگلیسی http://www.vogella.com/tutorials/AndroidLocationAPI/article.html http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html
  16. سلام این یک آموزش فارسی http://kamalan.com/1392/01/طریقه-دانلود-google-api-برای-توسعه-برنامه-های-ا/ این هم آموزش انگلیسی http://www.vogella.com/tutorials/AndroidLocationAPI/article.html http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html
  17. سلام دوست عزیز زمانی که گوشی به کامپیوتر وصل هستش لطفا تست کنید و پیغام خطارو بزارین تا بشه راهنمایی کرد
  18. سلام دوست عزیز به این صورت عمل کنید android:maxLines="4" android:singleLine="false" اینارو برای TextView بزارین
  19. به راحتی. زمانی که ثبت موفقیت آمیز بود در ادامه کدهای مربوط به نوتیفیکیشن میاد و در صورتی که ثبت با مشکل مواجه شد برای کاربر یک پیغام (خطا در ثبت اطلاعات) فرستاده میشه.
  20. اندروید استودیو

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

    خیر دوست عزیز ایرادی نداره و درست هستش
  22. سلام دوست عزیز باید از 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/
  23. اندروید استودیو

    سلام دوست عزیز خیر مشکلی نداره خیلی هم خوب هستش. زمانی که اندروید استودیو برای اولین بار اجرا کنید مسیر sdk باید بهش بدین
  24. راستش کتاب نمیدونم ولی شما باید چندتا تا موضوع سرچ کنید و بخونید راجع بهش پرفورمنس در اندروید پرفورمنس در جاوا مالتی تردینگ کالکشن ها در جاوا
  25. خواهش میکنم دوست عزیز مبحث پرفورمنس خیلی گسترده هستش و جا برای صحبت و مطالعه زیاد داره