pfrproject

توسعه دهنده اندروید
  • تعداد ارسال ها

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

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

  • Days Won

    4

pfrproject last won the day on نوامبر 23 2017

pfrproject had the most liked content!

اعتبار در انجمن

5 Neutral

1 دنبال کننده

درباره pfrproject

  • درجه
    Member
  1. سلام وقت بخیر خدمت کاربران محترم سایت p30droid . این آموزش ها توسط سایت خانه اندروید و به صورت رایگان منتشر شده و در اختیار شما کاربران گرامی قرار می گیرد. عنوان و سرفصل های آموزشی : پیاده سازی موزیک پلیر انلاین منو کشویی (Navigation Drawer) در اندروید استودیو و همراه با نحوه ست کردن فونت و توضیحات بیشتر فیلم آموزش نمایش تاریخ فارسی اندروید استودیو فیلم آموزش کاملا کاربردی که 100 درصد اپلیکیشن های خارجی و ایرانی از این قابلیت استفاده می کنند. جدا کردن سه رقم سه رقم اعداد فیلم آموزش فارسی سازی اعداد انگلیسی -98درصد اپلیکیشن های فروشگاهی از این قابلیت استفاده می کنند. خط کشیدن روی قیمت (تخفیف) حل برخی از مشکلات دوستان با اندروید استودیو تشخیص Sdk ورژن همراه با نام دیواس و مدل گوشی کاربر آنالیز دیواس و نحوه ارسال به سمت سرور... Wifi_Manager_widget_Switch مدیریت وای فای شامل روشن و خاموش کردن آشنایی با ویجیت جدید سوئیج کار با Brodcast روشن شدن گوشی و اجرا شدن اپلیکیشن شما انتخاب fontfamily از پوشه font در اندروید استودیو پیاده سازی متن قابل حرکت مشابه تلگرام و دیگر اپلیکیشن ها غیر فعال کردن اسکرین شات از اکتیویتی و مشکی شدن صفحه هنگام اشتراک گذاری اپلیکیشن آموزش ارسال گزارش خطا بعد از Crash روشن کردن فلش گوشی کاربر-چک کردن و.چشمک زن آموزش کار با کتابخانه پخش ویدیو JiaoZivideoplayer کار با متد TransformationMethod آموزش کاربردی swipeRefreshLayout حذف کردن status-bar-fullscreen activity 90 درصد اپلیکشن های قدرتمند از این قابلیت shortcuts استفاده می کنند آموزش فعال سازی ویبره گوشی - Vibrator ۷۰ درصد اپلیکیشن ها برای راحتی کاربر از این روش استفاده کردن. فیلم آموزش انیمیشن و تغییر intent بین اکتیویتی ها و تغییر انیمیشن پیشفرض اندروید ورژن ها و... حجم فیلم ها : 2.20 گیگابات دانلود با لینک مستقیم پسورد فایل : بدون پسورد
  2. سلام و احترام سایت خانه اندروید این اموزش رو خیلی وقته که منتشر کرده در قالب یک دوره آموزشی در این url در دسترس هست. https://homeandroid.ir/آموزش-پیاده-سازی-اپلیکیشن-تلویزیون-ان موفق باشین.
  3. خروج از اپلیکیشن به سبک اپلیکیشن شیپور Android Studio doubleBackToExitPressedOnce Android Studio خروج از اپلیکیشن ، عرض سلام و ادب خدمت دوستان عزیز با آموزش کاربردی دیگری در خدمتون هستیم. قصد دارم به سوال یکی از کاربران پاسخ بدم که برای این موضوع لازم دونستم توضیحات و آموزشی رو براتون تهیه کنم مشابه اپلیکیشن شیپور ، که وقتی شما قصد خروج از اپلیکیشن رو دارین کافی ست دوبار کلیک کنید تا از اپلیکیشن خارج بشین اما یک نکته : واقعا اگر این کارو پیاده سازی نکنیم چه اتفاقی روخ می دهد فرض بفرمایین کاربر در لیست آگهی ها ۵۰ تا اگهی رو دیده و انگشت کاربر اشتباهی روی دکمه Back میره و از اپلیکیشن خارج میشه امیدوارم نکته براتون جا افتاده باشه . خوب بریم سراغ آموزش کاربردی خروج از اپلیکیشن به سبک اپلیکشین شیپور : برای این منظور شما در Mainactivity خودتون متد onBackPressed را فراخوانی کنید.و هم چنین اگر منو دراور هم دارین کافی هست دستور زیر را بنویسین : @Override public void onBackPressed() { DrawerLayout drawer = findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } if (doubleBackToExitPressedOnce) { super.onBackPressed(); return; } this.doubleBackToExitPressedOnce = true; Toast.makeText(this, "برای خروج از برنامه بکبار دیگر کلید برگشت را بفشارید", Toast.LENGTH_SHORT).show(); new Handler().postDelayed(new Runnable() {@Override public void run() { doubleBackToExitPressedOnce = false; } }, ۲۰۰۰); } لطفا متغییر را به عنوان instans variable در بالا متد onCreate تعریف کنید. 1 private boolean doubleBackToExitPressedOnce; موفق و پیروز باشین. منبع آموزش : خانه اندروید
  4. شناسه یکتا ایدی اندروید Unique Identification اندروید استودیو شناسه یکتا برنامه نویسی اندروید Unique Identification ، عرض سلام و ادب خدمت کاربران گرامی سایت خانه اندروید قصد داریم آموزش بدست آوردن ایدی منحصر به فرد سیستم عامل اندروید رو خدمتون ارائه بدهیم. که امیدوارم مورد رضایت شما عزیزان قرار بگیره این ایدی از جمله ایدی های منحصر به فرد و یکتاست که به هر دیوایس اندرویدی توسط سیستم عامل اندروید ، زمانی سیستم عامل نصب می شود به هر کدام از سیستم عامل ها تخصیص داده می شود و ممکن هست با ریست فکتوری ایدی جدید تولید شود. ولی افرادی خیلی کمی هستن که شاید ۲ درصد از افراد بازگشت به تنظیمات کارخانه رو فراخوانی کنند که باعث میشه ایدی جدیدی به سیستم عامل و دیوایس تخصیص داده شود. شاید این سوال توی ذهن شما باشه با این ایدی منحصر به فرد چه کاری میشه انجام داد : خیلی از اپلیکیشن ها بر پایه این موضوع اومدن application رو طراحی کردن که فقط روی یک device اجرا می شود. یعنی بدین ترتیب که فقط اپلیکیشن با دیوایس مورد نظر اجرا می شود و چنانچه ایدی دیوایس تغییر کند کاربر نمی تواند اپلیکیشن را اجرا کند و باید هزینه پرداخت کند تا اپلیکیشن روی دیوایس کاربر اجرا شود.اما آیا روش دیگری هم وجود دارد که بدون اجازه (پرمیژن) بتوانیم شناسه منحصر به فردی رو بدست بیاوریم. جواب خیر خوب توضیحات کافیست : بریم سراغ آموزش : پروژه جدیدی را باز کنید سپس اکتیویتی را ایجاد کنید و در بخش جاوا در متد oncreate دستور زیر را تایپ کنید و از اندروید ایدی لاگ بگیرن : public class DevideIdActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String android_id = Secure.getString(this.getContentResolver(),Secure.ANDROID_ID); Log.d("Android","Android ID : " + android_id); } } 1 موفق و پیروز باشین. منبع آموزش : خانه اندروید
  5. سلام و احترام سایت خانه اندروید برای این مورد قبلا فیلم آموزشی تهیه کرده : https://goo.gl/1gDywY می توانید مشاهده کنید و یاد بگیرن. با احترام موفق باشین.
  6. سلام دوست عزیزم. در اینجا آموزش پیشرفته اش موجود هست : https://homeandroid.ir/viewpager-and-tablayout با احترام.
  7. سلام و احترام دوست عزیزم. کتابخانه زیر : https://github.com/titansgroup/k4l-video-trimmer
  8. سلام وقت بخیر خیر نیازی نیست دوستان راهنمایی کردن باید برای هر بخش یک فرگمنت و همراه با tablayout و bttomnavagtion بسازین. فیلم آموزشی در زیر اشاره شده : https://homeandroid.ir/viewpager-and-tablayout موفق باشین.
  9. سلام وقت بخیر براتون یک فیلم آموزشی ایجاد کرده ایم لطفا ببنید گفتم توی فیلم اموزشی : http://dl.homeandroid.ir/homeandroid/film/video/intent_getintent.mp4
  10. سلام دیجی کلا از یک اسلایدر استفاده کرده که شما می تونید از اینجا فیلم آموزشو ببنید : https://homeandroid.ir/android-slider-image هم چنین از scroll view استفاده کرده و Recyclerview که ایتم های اونو به صورت افقی تنظیم کرده که اینجا بازم می تونید فیلم آموزشیو ببنید : https://homeandroid.ir/jsonarrayrequest-volley موفق باشین.
  11. ? شبکه iRNetads.com مرجع برترین کانال ها ، گروه ها ، استیکر ها و ربات های مفید تلگرام و پیام رسان سروش و پیج های اینستاگرام در گروه بندی موضوعی ? آیا به دنبال گروه هایی جهت تبلیغات در آن ها میگردید ؟ ? آیا میخواهید لیست برترین کانال ها و گروه های ایرانی را مشاهده کنید ؟ ? آیا به دنبال راهی مطمئن و پربازده برای افزایش کاربران رسانه خود میگردید ؟ ? آیا میدونی بهترین کانال های اموزشی تلگرام کدوما هستن؟ مد و بوتیک چی ؟؟ ورزشی کدوما بهترینن ؟ تجارت و ثروت ؟ و ... ? آیا دوس داری لینک کانال ، گروه ، پیج و ... رو یه جا ثبت کنی که برای همه قابل پیدا شدن و عضو گیری باشه؟؟ اگر شبکه های اجتماعی براتون خسته کننده شده و میخواین داخل گروه‌های بیشتری باشین و کانال‌های جدیدی رو پیدا کنید، یا حتی اگه گروه و کانال دارید و میخواین عضو های خودتون رو زیاد کنید، حتما برنامه ما رو نصب کنید و از امکانات اون لذت ببرید ? در این برنامه براحتی با کلیک روی هر گروه میتونید عضو اون گروه بشید، میتونید گروه ها رو طبق دسته بندی موضوعی آنها جستجو و انتخاب کنید. میتونید گروه خودتون رو معرفی و به دیگران نمایش بدید تا عضو بشن. دسته بندی های مختلفی در برنامه قرار داده شده که کاربران و مدیران گروه ها می تونن جهت انتخاب و ثبت نام گروه خودشون ازونا استفاده کنن. ? این برنامه یک بانک اطلاعاتی عظیم از گروه ها ، کانال ها ، ربات ها ، استیکرها و پیج های اینستاگرام است که با امکانات فراوان و جذاب آن ها را در اختیار شما قرار میدهد. ? در هر کجا که باشید میتونید با گوشی هوشمند خود از طریق نصب اپلیکشن ما از تمام کانال و گروه های ایران بصورت طبقه بندی شده و از همه شهرهای ایران با خبر شوید. برنامه ما دو هدف اصلی زیر را دنبال میکند : 1️⃣ کاربران توسط برنامه و سایت ما iRNetads.com میتوانند لینک های مورد علاقه خود را از بین هزاران موضوع ، انتخاب کرده و از آن ها لذت ببرند. 2️⃣ به مدیران رسانه ها این امکان را میدهد تا با ثبت لینک های خود در شبکه تبلیغات ایران ، آن را به کاربران اینترنت معرفی کنند و تحولی در افزایش اعضاء و توسعه کسب و کارشان ایجاد نمایند. بخش دسته بندی ها به شما این امکان را می دهد که لینک مورد نظرتان را سریع تر بیابید. یکی از امکانات فوق العاده این برنامه ، این است که شما میتوانید بر اساس سه فیلتر (جدیدترین ها , پرلایک ترین ها و پربازدیدترین ها) به لینک ها دسترسی پیدا نمایید. توسط برنامه و وب سایت ما میتوانید در مدت زمان کوتاهی اعضای رسانیتان را به تعداد بسیار بالایی برسانید . روش های تبلیغاتی موثر و پربازدهی در برنامه وجود دارد که امکانات بسیار کاربردی به شما می دهد تا بتوانید اعضای رسانه خود را در مدت زمان کوتاه به صورت چشم گیری افزایش دهید. همچنین میتوانید برای ثبت لینک های خود به وب سایت ما نیز مراجعه نمایید : iRNetads.com جهت ثبت رسانه و لینک مورد نظر خود یکی از گزینه های زیر را انتخاب نمایید ? ثبت کانال تلگرام ?ثبت گروه تلگرام ? ثبت ربات تلگرام ? ثبت استیکر تلگرام ? ثبت محتوا تلگرام ? ثبت کانال سروش ? ثبت گروه سروش ? ثبت پیج اینستاگرام دانلود اپلیکیشن از کافه بازار
  12. سلام این سایت همراه با فیلم اموزشی این قسمت رو گفتین توضیح داده : https://goo.gl/3WkkTA
  13. سلام و درود خدمت شما اول اینکه وقتی لایه مربوطه یا اکتیویتی مربوطه رو که ایجاد می کنید باید Directionlayout رو مساوی با RTl بزارید و در صورتی که کاربر حتی زبانش فارس و یا انگلیسی باشه به هیچ وج واکنش نشون نمیده و میشه محدود هم کرد یعنی گفت یک ایکن ثابت باشه حتی اگر زبان گوشی تغییر کرد.
  14. متاسفانه این ها نحوه پیاده سازی هست که بنده با پیاده سازی مشکلی ندارم و کامل هم این مورد پیاده کرده ام. ولی مشکل بنده این هست چطور توی viewPager.setOffscreenPageLimit(3); به صورت دستی محدود نکنم یعنی منظور هر فرگمنت رو که میبینه یک دونه به مقدار اندیس limit اضافه بشه و همون فرگمنتی که دیده شده دیگه مثل اپلیکیشن دیجی استایل باقی بمونه توی مموری و حالا دوباره اگر فرگمنت دیگه ای توی viewpager دید دوباره یک مقدار limit بشه مثلا من شش تا فرگمنت دارم و وقتی برنامه من اجرا میشه میگیم 3 تا فرگمنت رو توی حافظه نگه دار viewPager.setOffscreenPageLimit(3); حالا باید به مقدار 3 باز اضافه بشه اما چطور چون فقط 3 تا فرگمنت رو نگاه می داره و بقیه دوباره با برگشت به عقب refresh میشن. سورس کد بنده : tabLayout = (TabLayout) findViewById(R.id.tablayout); viewPager = (ViewPager) findViewById(R.id.viewpager); fragment_adapter adapter = new fragment_adapter(getSupportFragmentManager()); viewPager.setOffscreenPageLimit(3); viewPager.setDrawingCacheEnabled(true); viewPager.setAdapter(adapter); tabLayout.setupWithViewPager(viewPager); viewPager.setCurrentItem(6); viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {@Override public void onTabSelected(TabLayout.Tab tab) { } @Override public void onTabUnselected(TabLayout.Tab tab) {} @Override public void onTabReselected(TabLayout.Tab tab) {} }); سورس کد فرگمنت یک و بقیه هم به همین صورت هستن public class fragment_channel extends Fragment{ View view; RecyclerView recyclerView; channel_server jsonrequstvolleyserver; private RecyclerView.LayoutManager layoutManager; private RequestQueue requestQueue; WaveSwipeRefreshLayout mWaveSwipeRefreshLayout; SmoothProgressBar smoothProgressBar; ProgressWheel progressWheel; public fragment_channel() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_recyclerview, container, false); recyclerView = (RecyclerView) view.findViewById(R.id.recymain); mWaveSwipeRefreshLayout = (WaveSwipeRefreshLayout) view.findViewById(R.id.main_swipe); smoothProgressBar = (SmoothProgressBar) view.findViewById(R.id.prograss); progressWheel = (ProgressWheel) view.findViewById(R.id.progress_wheel); recyclerView.setHasFixedSize(true); recyclerView.setItemAnimator(new DefaultItemAnimator()); layoutManager = new LinearLayoutManager(getActivity()); recyclerView.setLayoutManager(layoutManager); requestQueue = Volley.newRequestQueue(getActivity()); String category = "post"; int check = 0; jsonrequstvolleyserver = new channel_server(getActivity(), category, recyclerView, requestQueue, smoothProgressBar, progressWheel, mWaveSwipeRefreshLayout, check); jsonrequstvolleyserver.cheeck(); jsonrequstvolleyserver.getData(); mWaveSwipeRefreshLayout.setWaveColor(getResources().getColor(R.color.white)); mWaveSwipeRefreshLayout.setOnRefreshListener(new WaveSwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { String category = "post"; int check = 1; jsonrequstvolleyserver = new channel_server(getActivity(), category, recyclerView, requestQueue, smoothProgressBar, progressWheel, mWaveSwipeRefreshLayout, check); jsonrequstvolleyserver.getData(); jsonrequstvolleyserver.cheeck(); } }); return view; } public static fragment_channel newInstance() { Bundle args = new Bundle(); fragment_channel fragment = new fragment_channel(); fragment.setArguments(args); return fragment; } public class fragment_adapter extends FragmentStatePagerAdapter { public fragment_adapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position) { case 5: return fragment_channel.newInstance(); case 4: return fragment_group_telegram.newInstance(); case 3: return Frgament_robots.newInstance(); case 2: return fragment_sticker.newInstance(); case 1: return fragment_cahnnel_content.newInstance(); case 0: return fragment_tarfand_telegram.newInstance(); } return null; } @Override public int getCount() { return 6; } @Override public CharSequence getPageTitle(int position) { switch (position) { case 5: return "خبری"; case 4: return "ورزشی"; case 3: return "مهندسی"; case 2: return "ریاضی"; case 1: return "شیمی"; case 0: return "تکنولوژی"; default: return ""; } } }
  15. سلام و احترام اول باید توی attr بیوت ها مقدارهای زیر رو به Textivew اضافه کنید. android:imeOptions="actionSearch" android:inputType="text" حالا نوبت میرسه به بخش جاوا : editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_SEARCH) { performSearch(); return true; } return false; } }); void performSearch() { String search = editText.getText().toString(); if (search.isEmpty()) { Typeface font = Typeface.createFromAsset(getAssets(), "fonts/iranian_sans.ttf"); SpannableString efr = new SpannableString("متن جستجو را وارد کنید..."); efr.setSpan(new custom_class_fonts_Toast(font), 0, efr.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Toast.makeText(this, efr, Toast.LENGTH_SHORT).show(); } else { search_requst = new search_requst(Search.this, search, txtresult, imagesearch, relativeLayout,recyserach); search_requst.Requstvolley(new search_requst.onrecivcategory() { @Override public void onrecivd(List<datamodel> data) { recyserach.setLayoutManager(new LinearLayoutManager(Search.this)); adapter = new Adapter(Search.this, data); recyserach.setAdapter(adapter); } }); } }