برترین های انجمن

  1. Farzad Sarseifi

    Farzad Sarseifi

    مدیریت انجمن


    • امتیاز: پسندیدن (Likes)

      91

    • تعداد ارسال ها

      1,336


  2. Seyed-Hossein-Akbari

    Seyed-Hossein-Akbari

    سرپرست انجمن


    • امتیاز: پسندیدن (Likes)

      26

    • تعداد ارسال ها

      1,112


  3. Razieh Shahraki

    Razieh Shahraki

    مدیر انجمن


    • امتیاز: پسندیدن (Likes)

      24

    • تعداد ارسال ها

      973


  4. a.khosroabadi

    a.khosroabadi

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


    • امتیاز: پسندیدن (Likes)

      20

    • تعداد ارسال ها

      52



Popular Content

Showing most liked content since ۱۳/۰۳/۱۲ in all areas

  1. نگارش 1.0.0

    101 دانلود

    سورس اپلیکیشن whatsApp یک اپلیکیشن چت و سورس باز که بصورت رایگان در اختیار کاربران انجمن اندروید ایران قرار گرفته است. دانلود سورس اپلیکیشن واتزاپ Whatschat- Whatsapp clone نسخه 1.0 Real time chat functionality Whatsapp feel Add Friends User Profile and Status User online and offline system Create Group and add friends to group Chat in group Chat with friends Login and Registration System

    رایگان

    6 likes
  2. نگارش 1.0.0

    286 دانلود

    سورس اندروید استودیو فروشگاه اینترنتی + وب سایت + وبسرویس زبان ها جاوا + php

    رایگان

    5 likes
  3. سلام حتما از اسم موضوع تعجب کردید ! ولی باید بگم چاقوی کره خوری یه کتاب خونه هست واسه برنامه نویسی اندروید که یه قسمتی رو که حتما تا حالا خستتون کرده رو تفاوت توش ایجاد کرده FindViewById حتما این قسمت میدونید دیگه واسه تعریف ویجت هاست در کد Java حالا با این کتابخونه ما این قسمتو توش تغییر ایجاد میکنیم دیگه جا نوشتن FindViewById مینویسیم @BindView(R.id.user) EditText username; خوب حالا بریم سراغ آموزش اول این کتابخونه رو اضافه کنید به پروژتون dependencies { compile 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' } حالا سینک کنید پروژه رو و برید یه ویجت بذارید تو فایل XML بیاید تو کد جاوا و مثلا اینو بنویسید در زیر کلاس اصلیتون(توی توابع ننویسید.جایی بذارید همه جا در دسترس باشه) که کد در کل به این حالت در بیاد class ExampleActivity extends Activity { @BindView(R.id.user) EditText username; @BindView(R.id.pass) EditText password; @BindString(R.string.login_error) String loginErrorMessage; @OnClick(R.id.submit) void submit() { // TODO call server... } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.bind(this); // TODO Use fields... } } توجه کنید کد ButterKnife.bind(this); فراموش نشه که بذاریدش تو تابع onCreate دوستان لینک کامل آموزش خودشم اینجاس ببخشید یکم سر سری توضیح دادم
    3 likes
  4. یک کلاس ایجاد کنید برای اینکه بتوانید روی EditTextکاری کنید فقط یبار دات لود شود : public class DecimalTextWatcher implements TextWatcher { private NumberFormat numberFormat = NumberFormat.getNumberInstance(); private EditText editText; private String temp = ""; private int moveCaretTo; private int integerConstraint; private int fractionConstraint; private int maxLength; /** * Add a text watcher to Edit text for decimal formats * * @param editText * EditText to add DecimalTextWatcher * @param before * digits before decimal point * @param after * digits after decimal point */ public DecimalTextWatcher(EditText editText, int before, int after) { this.editText = editText; this.integerConstraint = before; this.fractionConstraint = after; this.maxLength = before + after + 1; numberFormat.setMaximumIntegerDigits(integerConstraint); numberFormat.setMaximumFractionDigits(fractionConstraint); numberFormat.setRoundingMode(RoundingMode.DOWN); numberFormat.setGroupingUsed(false); } private int countOccurrences(String str, char c) { int count = 0; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == c) { count++; } } return count; } @Override public void afterTextChanged(Editable s) { // remove to prevent StackOverFlowException editText.removeTextChangedListener(this); String ss = s.toString(); int len = ss.length(); int dots = countOccurrences(ss, '.'); boolean shouldParse = dots <= 1 && (dots == 0 ? len != (integerConstraint + 1) : len < (maxLength + 1)); boolean x = false; if (dots == 1) { int indexOf = ss.indexOf('.'); try { if (ss.charAt(indexOf + 1) == '0') { shouldParse = false; x = true; if (ss.substring(indexOf).length() > 2) { shouldParse = true; x = false; } } } catch (Exception ex) { } } if (shouldParse) { if (len > 1 && ss.lastIndexOf(".") != len - 1) { try { Double d = Double.parseDouble(ss); if (d != null) { editText.setText(numberFormat.format(d)); } } catch (NumberFormatException e) { } } } else { if (x) { editText.setText(ss); } else { editText.setText(temp); } } editText.addTextChangedListener(this); // reset listener // tried to fix caret positioning after key type: if (editText.getText().toString().length() > 0) { if (dots == 0 && len >= integerConstraint && moveCaretTo > integerConstraint) { moveCaretTo = integerConstraint; } else if (dots > 0 && len >= (maxLength) && moveCaretTo > (maxLength)) { moveCaretTo = maxLength; } try { editText.setSelection(editText.getText().toString().length()); // et.setSelection(moveCaretTo); <- almost had it :)) } catch (Exception e) { } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { moveCaretTo = editText.getSelectionEnd(); temp = s.toString(); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { int length = editText.getText().toString().length(); if (length > 0) { moveCaretTo = start + count - before; } } } فراخوانی : itemCostEditText.addTextChangedListener(new DecimalTextWatcher(itemCostEditText, 6, 2));
    3 likes
  5. سلام امروز میخوایم کار با کتابخونه 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) قرار میده. تمام
    2 likes
  6. ممنون آقای خسروآبادی اینکارایی که گفتید رو انجام میدم صرفا برای یاد گرفتنه وقتی یاد گرفتم و خواستم اپلیکیشن های خوب بسازم یه فکری برای این مشکل بر میدارم. از این که منو در حل این مشکل یاری کردید ممنونم آرزوی بهترین ها رو براتون دارم خدا نگه دار
    2 likes
  7. نه بابا چرا شکست اخه تا جایی که من میدونم haxm باعث میشه سرعت بره بالا برای امولاتور ها.و نباید این خطارو بده ولی حالا که میده میشه رفت سراغ راه حل های بعدی. چندتا راه دارین اول به نظرم Genymotion نصب کنید خیلی عالیه.البته باید virtualBox 5 هم نصب کنید.من خودم ازین امولاتور استفاده میکنم. راه بعد نصب امولاتور های زامارین هستش من استفاده نکردم. راه اخر اینه که روی گوشیتون تست کنید.
    2 likes
  8. 2 likes
  9. سلام برای api17+ ساپورت فارسی اضافه شده برای همین این سری موارد پیش میاد برای اینکه فقط برنامه ما درواقع یک جهت داشته باشه دو کار میشه انجام داد . یک ، اینکه توی منیفست Support rtl رو false بزارید که دیگه ساپورت فارسی نداشته باشه و به همون صورت اصلی باقی بمونه . دو ، اگه میخوایید اون ویژگی رو غیر فعال نکنید . برای ویوپیجر layoutDirection رو روی ltr بزارید . البته اگه توضیحات شما رو درست متوجه شده باشم .
    2 likes
  10. نگارش 1.0.0

    25 دانلود

    سلام سورس کد اندروید موزیک پلیر مانند Spotify و Apple music همراه با سورس سمت سرور موفق باشید

    رایگان

    2 likes
  11. میتونید چند تا Break point بزارید و با کلید F9 جابجا بشید
    2 likes
  12. با سلام خدمت اساتید محترم من سابقه برنامه نویسی دارم ولی این اولین اپلیکیشن اندرویدمه و اگه امکانش هست نگاهی بهش بندازید و ایراداتش رو بهم بگید.الیبته اینم بگم اولین اپلیکیشن منه و دست تنهام پس زیاد سخت نگیرید https://cafebazaar.ir/app/iTrip.eTrip/?l=fa
    2 likes
  13. کاربران گرامی انجمن اندروید ایران همانطور که مطلع هستید در تاریخ 19 آذر ماه 1395 ورژن جدید انجمن اندروید ایران ایجاد شده و دارای بخش های فراوانی همچون : مارکت اندروید چت رابط کاربری جذاب راحتی کار در موبایل آپلود سنتر داخلی برای بارگذاری فایل ها و... خوشحال خواهیم شد نظرات خود را با ما در میان بگذارید تا بتوانیم وب سایت بهتری در شان انجمن اندروید ایران را در اختیار کاربران قرار دهیم. با تشکر فرزاد سرسیفی
    2 likes
  14. خیلی از قسمت های سایت هنوز مشکل دارن ویرایش پروفایل هم که فقط یه ایمیل مونده نه امضا هست نه خیلی چیزای دیگه و....
    2 likes
  15. 2 likes
  16. تبریک میگم مهندس سرسیفی عزیز قالب جدید سایت بسیار خوب هستش هم به دلیل اینکه به صورت واکنشگرا می باشد و برای نمایش در هر محیطی مناسب قالبلیت چت هم بسیار خوب است به دلیل اینکه بحث در مورد بعضی از موضوعات بسیار زیاد میشد و تاپیک تبدیل به اسپم بسیار زیادی از جواب ها و نقطعه نظر غیر مرتبط تشکیل میشد . الان با این قابلیت دیگه این انتفاق نخواد افتاد . پاینده باشید
    2 likes
  17. خیلی ممنون از نظر خوبتون. حتما در روزهای آینده خیلی امکانات جدیدی را به انجمن اضافه میکنیم.
    2 likes
  18. خوبه خوشم اومد قالب جالبیه و خوشحال شدم وااااقعا که انجمن یکم عوض شد قیافه ش خخخخ فقط این شکلکارو هم عوض کنید از این متحرکا بذارید
    2 likes
  19. نگارش 1.0.0

    48 دانلود

    ایا به سورس اپلیکیشن اندرویدی نیاز دارید که بتوانید یک Music Player قوی پخش فایل های صوتی را داشته باشید،با این پروژه اندرویدی میتوانید اینکار را انجام دهید. ویژگی های این پروژه اندرویدی : پخش فایل صوتی از طریق حافظه داخلی استریم فایل ها صوتی از طریق اینترنت پخش فایل های صوتی با فرمت های MP3, AMR, AAC, PCM WAV, OGG, MP4a, 3GP

    رایگان

    2 likes
  20. 1 like
    با سلام این سورس شما بسیار ظاهر ساده و ابتدایی دارد. خودتون حاظر بودید همچین برنامه ایی رو بخرید که ابتدایی ترین چیزهارو رعایت نکرده .!؟
    1 like
  21. مرسی خسته نباشید موفق باشید
    1 like
  22. سلام به انجمن خوش اومدید دیگه اکشن بار منسوخ شده و بهتره باید Toolbar اینکار رو پیاده سازی کنید بدین صورت که ویجت Toolbar رو از کتابخونه Appcompat وارد میکنید و میتوانید براساس نیازتون اون رو custom کنید به صورت زیر : <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_scrollFlags="scroll|enterAlways" app:layout_collapseMode="pin"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- This is a centered logo --> <ImageView android:id="@+id/toolbar_logo" android:src="@drawable/logo" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="?attr/actionBarSize" android:layout_marginTop="4dp" android:layout_marginBottom="4dp" android:layout_gravity="center" /> <!-- This is a centered title --> <!-- <TextView android:id="@+id/toolbar_title" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="?attr/actionBarSize" android:layout_gravity="center" android:gravity="center_vertical" android:visibility="gone" android:text="@string/app_name" android:textColor="@color/white" style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse" /> --> <!-- This is a custom left side button --> <!-- <ImageButton android:id="@+id/btn_settings" android:layout_width="?attr/actionBarSize" android:layout_height="?attr/actionBarSize" android:layout_marginRight="?attr/actionBarSize" android:layout_gravity="start|center_vertical" android:visibility="invisible" android:src="@drawable/ic_settings_white_24dp" style="@style/Widget.AppCompat.ActionButton" /> --> <!-- This is a custom right side button --> <!-- <ImageButton android:id="@+id/btn_search" android:layout_width="?attr/actionBarSize" android:layout_height="?attr/actionBarSize" android:layout_gravity="end" android:src="@drawable/ic_magnify_white_24dp" style="@style/Widget.AppCompat.ActionButton" /> --> </FrameLayout> </android.support.v7.widget.Toolbar>
    1 like
  23. سلام دوستان ، وقتتون به خیر اپی که لینکشو براتون گذاشتم درواقع یه خودآموز زبان انگلیسی هستش، خوشحال میشم نظرات شما رو دربارش بدونم. (البته اپم بیشتر محتوا محور و زیاد مسایل برنامه نویسی داخلش وجود نداره، اگه نظری هم درباره ارتقا برنامه دارین ممنون میشم باهام درمیون بزارین) تشکر فراااااااااوان اینم لینکش : http://cafebazaar.ir/app/ir.sarinapp.phrasemix/
    1 like
  24. نه خوشحال میشم بتونم کمک کنم یکم دیگه زمان بدین شاید بشه راه دیگه ای هم پیدا کرد
    1 like
  25. اگه ممکنه این کد جایگزین قبلی کنید و یکبار تست کنید ببینید باز هم هنگ میکنه private static int SPLASH_TIME_OUT = 1000; new Handler().postDelayed(new Runnable() { @Override public void run() { mediaPlayer.release(); currentQ = quesList.get(qid); setQuestionView(); finish(); } }, SPLASH_TIME_OUT);
    1 like
  26. خواهش میکنم. با استفاده از متد setCountry() شما میتونید به فیلد country که تو structur گذاشتین مقدار بدین. و با استفاده از متد getCountry() میتونید این مقدارو بخونید. در کل ما متد های getter و setter داریم متدهای getter که با get شروع میشن برای خوندن مقدار property های ابجکت ما استفاده میشن و متد های setter که با set شروع میشن برای مقدار دهی به این property ها. الان متد cursour.getString هم داره یک مقدار String برمیگردونه.
    1 like
  27. سلام دوست عزیز زمانی که کاربر شروع میکنه به بازی رکورد قبلیشو از جدول بگیرین و تو یه متغییر بزارین و میتونید اینو تو یه TextView کنار رکورد فعلی نشون بدین. هربار که یه لغت صحیح وارد میکنه با این امتیاز چک کنید اگه کوچیکتر بود که هیچ ولی اگه بزرگتر بود به هردو(هم امتیاز فعلی و هم بیشترین امتیازش که از جدول گرفتین) یه امتیاز بدین اینجوری رکورد قبلیش هم با هر جواب صحیح بیشتر میشه.حتی میتونید تو این حالت رنگشو هم تغییر بدین.و زمانی وقتش تموم شد اینو تو جدولتون ذخیره کنید. اگه مشکلی تو این قسمت داشتین بگین تا کدشو براتون بزارم
    1 like
  28. سلام برای اینکه جواب سوال ثبت بشه و بره به سوال بعدی چه اکشنی یا متدی فراخوانی میکنید؟ تو اون متد باید stop بشه پخش موسیقی.
    1 like
    با سلام 54 مگ گذاشتین برای دانلود ولی هنگام extract کردن faild میده !!!!
    1 like
  29. وقتی توی فرگمنت هستید باید برای context مقدار getActivity() رو قرار بدید
    1 like
  30. اسم اکتیویتی خود رو جاش بزاری یعنی IssueReportDetailActivity رو عوض کن با نام اکتیویتی خودت.چون کدش رو از اپ خودم برداشته بودم
    1 like
  31. پس اینطوری باید انجام بدین : SELECT fieldname FROM employee_tbl ORDER BY RAND() Limit 4; به جای fieldname اسم فیلدی که مثلا گفتین صدا هست رو بنویسید * یعنی همه ی فیلد ها یا میشه یکی یا دوتا فیلد هم گرفت پیشنهاد میکنم دستورات کار با دیتابیس رو یاد بگیرید که خیلی به دردتون میخوره موفق باشی
    1 like
  32. فروش تمام امتیاز بازی جنگجوی قهرمان دارای 36 مرحله جذاب و کاربر پسند دارای 4 محیط کوهستان , زیر زمین , آسمان , زمستانی دارای فروشگاهی جذاب و حرفه ای قسمت فروشگاه : فروشگاه اسلحه فروشگاه مهمات فروشگاه سکه و ........ به دلیل نیاز مالی این بازی زیر قیمت به فروش میرسد قیمت : 14-15 میلیون تومان پلن های اقتصادی بازی : فروشگاه اسلحه که کاربر میتونه توی بازی برای خودش اسلحه بخره فروشگاه مهمات که کاربر برای هر مرحله به مهمات احتیاج پیدا میکند و مجبور به خرید میشود بابت آزاد سازی 3 محیط دیگر هم باید مبلغی پرداخت کند کسب درامد با دیدن فیلم (تپسل) برای بازی سیستم خبرنامه هم پیاده سازی شده که میتوانید به راحتی با کاربران بازی ارتباط برقرار کنید @KingroidDeveloper http://telegram.me/KingroidDeveloper در صورت تمایل به آیدی بالا پیام بدید برای این بازی دیالوگ های جذاب و خنده دار هم تعبیه شده که همانند بازی موتوری توی بازی در مواقع خاص دیالوگ هایی میگه و باعث جذابیت بازی میشه برای شندین نمونه دیالوگ های بازی میتوانید صدا های زیر را گوش کنید http://s8.picofile.com/file/8280839884/5.mp3.html http://s9.picofile.com/file/8280839892/3.mp3.html http://s8.picofile.com/file/8280839918/2.mp3.html http://s9.picofile.com/file/8280839950/1.mp3.html من برای این بازی خیلی هزینه کردم تا ساخته بشه و متاسفانه یه مشکل مالی برام پیش اومده و ناچارم که بازی را بفروشم لطفا خواهشا این تاپیک را حذف نکنید ممنون
    1 like
  33. سلام دوستان من تازه میخوام وارد کار برنامه نویسی بشم میخواستم بدونم اصلا ارزششو داره که وقت بذارم و اینکارو دنبال کنم؟ لطفا تجربیاتتون رو بگید و راهنماییم کنید که اصلا از کجا باید شروع کنم من خیلی تحقیق کردم و واقعا تو این مدت گیج شدم.لطفا افرادی که تلاششون رو نکردن و استعداد و علاقه تو این زمینه ندارن نظر ندن ممنون;
    1 like
  34. سلام ممنونم از وقتی ک گذاشتین ولی هیچ یک از فایل های بالا اجرا نشدن خودم کمی فایل های قبلی را دست کاری کردم و به نتیجه رسیدم. Gallory.java
    1 like
  35. اگر میخواهید که یک لایه روی تصویر بکشید یک لایوت با کد رنگ ARGB بزارید مثلا #66000000
    1 like
  36. اینجوری تغییر بده public class WordActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_word); Intent intent=getIntent(); int id=intent.getIntExtra("id",0); String word=intent.getStringExtra("word"); String imageWord=intent.getStringExtra("image"); int resID = getResources().getIdentifier(imageWord, "mipmap", getPackageName()); ImageView imageBox=(ImageView)findViewById(R.id.image_word_activity); TextView textBox=(TextView)findViewById(R.id.text_word_activity); Picasso.with(this).load(resID).into(imageBox); textBox.setText(word); } }
    1 like
  37. باید بدین صورت عمل کنید : tab_layout.setupWithViewPager(pager); pager.setCurrentItem(1); pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tab_layout)); tab_layout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { pager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } });
    1 like
  38. 1 like
  39. اسم صدا رو تو دیتابیس بزارید و خود موزیک رو در فولدر res->raw و با این دستور Play کنید MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mysoundfile); mPlayer.start();
    1 like
  40. این دستور هیچوقت اجرا نمیشه if((items.get(position).getFlag())=="0") باید اینجوری بنویسی if((items.get(position).getFlag().equals("0"))
    1 like
  41. داداش گلم الان معلوم نیست چی به چیه شما هردوتا فایل جاوا رو بذار من واست درستش میکنم
    1 like
  42. به این صورت ImageView iw= (ImageView)findViewById(R.id.imageView1); int resID = getResources().getIdentifier(items.get(position).getFlag(), "mipmap", context.getPackageName()); iw.setImageResource(resID);
    1 like
  43. ولی شما در اولین بخشی که سوالتون رو پرسیدید توی دیتابیستون و جدولی که اطلاعات رو نشون میده فیلد flagداشتید و اسم تصویر رو نوشته بودید و جواب رو براساس اون دادم بهتره اسم عکساتون رو که در assets قرار دادید توی فیلد flag بزارید.
    1 like
  44. برای اولین پروژه برنامه ی خوبیه . استفاده از نقشه و اینا هم خوبه . ظاهر برنامه هم یه برنامه معمولیه خوبه برای همین برای شروع بسیار خوبه از نظر من و دسته هم که بودی . ایشالله موفق باشی در ادامه دوست عزیز
    1 like
  45. سلام به دوستان عزیز. بعد از 2 ماهی میشه اومدم به p30DROID و خب خداییش کمی متحیر شدم . تبریک میگم که قالب جدید سایت فراهم شده تا کاربران راحت تر کار کنن . واقعا بهتر از قبله اما باز هم جای کار داره . امیدوارم روز به روز پیشرفت کنید .
    1 like
  46. سلام شما باید کدussd رو بدون intent اجرا کنید تا زمانی که شما با intent ها این کد رو اجرا میکیند اون هم به کاربر نمایش داده میشود چون دارید از دیال گوشی استفاده میکنید در غییر این صورت به هیچ وجه شما نمیتوانید اون رو از کاربر مخفی کنید
    1 like
  47. آیا شما برنامه بانکی خاصی انجام داده اید که پرداخت موبایلی را پیاده سازی کرده باشید؟
    1 like
  48. سلام اگر به بازار دیکتاتور باشه فقط adad چون adad برای خوده بازاره و هیچ اجازه ای به این نمیده که کسی سود کنه موفق باشید
    1 like