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

  1. Farzad Sarseifi

    Farzad Sarseifi

    مدیریت انجمن


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

      53

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

      1,336


  2. a.khosroabadi

    a.khosroabadi

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


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

      20

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

      52


  3. Seven7up

    Seven7up

    مدیر انجمن


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

      9

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

      64


  4. Behrad Ravanbod

    Behrad Ravanbod

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


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

      8

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

      6



Popular Content

Showing most liked content since ۱۶/۱۲/۲۱ in all areas

  1. نگارش 1.0.0

    286 دانلود

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

    رایگان

    5 likes
  2. نگارش 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

    رایگان

    4 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. خیلی از قسمت های سایت هنوز مشکل دارن ویرایش پروفایل هم که فقط یه ایمیل مونده نه امضا هست نه خیلی چیزای دیگه و....
    2 likes
  14. با سلام در این آموزش قصد دارم کار با BroadcastReceiver رو به دوستان در یک پروژه دریافت تماس آموش بدم چون کد های پیچیده ای نداشت به صورت فیلم آموزش ندادم. ابتدا شما باید یک کلاس جاوا در پکیج خود ایجاد کنید حالا اسمش هر چی میخواید بزارید ولی حتما باید از نوع BroadcastReceiver باشد. کتاب خانه های که لازم هستش در پروژه فراخوانی شوند . import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import android.widget.Toast; کد های کلاس public class PhoneStateReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { try { String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){ Toast.makeText(context,"دریافت تماس",Toast.LENGTH_SHORT).show(); Toast.makeText(context,"شماره -"+incomingNumber,Toast.LENGTH_SHORT).show(); } if ((state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))){ Toast.makeText(context,"وضعیت تماس",Toast.LENGTH_SHORT).show(); } if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){ Toast.makeText(context,"رد یا قطع تماس",Toast.LENGTH_SHORT).show(); } } catch (Exception e){ e.printStackTrace(); } } } در اینجا وقتی موردی در گوشی رخ دهد تماسی دریافت شود یا پیامی به گوشی ارسال شود به وسیله onReceive این مورد برسی میشود از برود کست میتوان برای کار های هم چون برسیوضعیت باتری نیزاستفاده کرد
    1 like
  15. 1 like
  16. با سلام خدمت همکاران و دوستان توسعه دهنده عزیز لطفاً از اپلیکیشن گروه بنده حمایت کنید و هم چنین از انجمن آندروید ایران لینک جشنواره
    1 like
  17. این خطا برای این میباشد که کتابخانه appcompatV7 ناقص میباشد و وقتی این کتابخونه به پروژه شما اضافه شده است یک علامت تعجب روی پروژه شما قرار گرفته است. بهترین کار اینه به اندروید استودیو مهاجرت کنید چونکه دیگه اکلیپس پشتیبانی نمیشه
    1 like
  18. این آموزش رو ببینید: http://p30droid.com/topic/425-ساخت-صفحه-شفاف-در-اندروید/
    1 like
  19. سلام دوست عزیز میتونید از این دو سایت استفاده کنید http://www.vogella.com/tutorials/AndroidSQLite/article.html http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
    1 like
  20. ممنون استاد عزیز از اینکه وقت گذاشتید و پاسخ دادید ببینید من درست متوجه شدم !!! ابتدا بیام استایل اکشن بار رو بگذارم روی noaction تا فضای بالای اکتیویتی خالی بشه و سپس کدی رو که فرمودید در فایل xml اکتیویتی اصلی قرار بدم درسته ؟؟؟ حالا اون رو میتونم با توجه به سلیقه خودم تغییر بدم ... اگر نیاز به توضیح مجددی داره ممنون میشم راهنمایی بفرمائید متشکرم
    1 like
  21. خواهش میکنم دوست عزیز انجام وظیفه هستش و خوشحال میشم تا جایی که میتونم کمکتون کنم
    1 like
  22. میتونید یه thread بزارید و یه 1 2 ثانیه sleep کنید و بعد برید به سوال بعد به این صورت Thread background = new Thread() { public void run() { try { // Thread will sleep for 5 seconds sleep(5*1000); // After 5 seconds redirect to another intent Intent i=new Intent(getBaseContext(),FirstScreen.class); startActivity(i); //Remove activity finish(); } catch (Exception e) { } } }; // start thread background.start(); البته اینجا میره به یه اکتیویتی دیگه که شما بعد از sleep کد خودتونو بزارین
    1 like
  23. \\maxPoint , currentPoint moteghaier az noe Integer hastand ke to sathe activity tarif mikonid; maxPoint = getMaxpointFromDataBase(); currentPoint = 0; \\ in if bezar to method onCreate(); if(maxPoint == null) maxPoint = 0; \\ zamani ke baraie avalin bar miad bazi kone va hanoz hich emtiazi barash sabt nashode.ino mitoni zamani ke az database mikhoni ham handle koni. \\ in ghesmato ham baiad to method onClick benevisi zamani ke kalamei ke vared karde sahihe currentPoint++; if(currentPoint> maxPoint){ maxPoint++; \\ textView ke gharare behtarin emtiazo neshon bede; maxpointTextView.setText(maxPoint); } \\ zamani ke bazi tamom mishe ham baiad maxPoint zakhire koni saveMaxPointInDatabase(maxPoint);
    1 like
  24. سلام خواهش میکنم مشکلی نیست فقط اگه عجله ندارید چون ممکنه تا بعدازظهر زمان ببره الان محل کارم هستم. فقط دیتابیس رو ساختین و جداول رو؟
    1 like
  25. سلام بله میتونید یه request به سرور بفرستین و نام فایل و و سمت سرور نام فایل تو محل موردنظر سرچ کنه و ادامه کارو انجام بدین این نمونه کد retrofit هستش. public interface RetrofitService { @GET("users/{fileName}") Call<yourResult> checkFile(@Path("fileName") String fileName); } Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://www.google.com/") .build(); RetofitService service = retrofit.create(RetrofitService.class); Call<yourResult> repos = service.checkFile("text"); repos.enqueue(new Callback<yourResult>() { @Override public void onResponse(Call<yourResult> call, Response<yourResult> response) { } @Override public void onFailure(Call<yourResult> call, Throwable t) { } باید سمت سرور چک کنید فایل وجود داره یا نه و بر اساس بودن یا نبودن فایل عملیات موردنظرتونو انجام بدین
    1 like
  26. اینجوری تغییر بده چونکه SqliteDatabase مقدار long بر میگردونه که شماره رکورد هستش public long Update(Model_PersonalZekr model_personalZekr) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(KEY_COUNTER, model_personalZekr.getCounter()); return db.update( Tbl_Personal_Zekr,contentValues,KEY_ID+"="+model_personalZekr.getId(),null); }
    1 like
  27. 1 like
  28. خیلی ممنون حالا فقط میمونه این دستور میده که نمیدونم چرا نمیشناسه؟
    1 like
  29. بدین صورت بنویسید: یک کلاس ایجاد کنید برای implement کردن click : public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnItemClickListener mListener; public interface OnItemClickListener { public void onItemClick(View view, int position); public void onLongItemClick(View view, int position); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { View child = recyclerView.findChildViewUnder(e.getX(), e.getY()); if (child != null && mListener != null) { mListener.onLongItemClick(child, recyclerView.getChildAdapterPosition(child)); } } }); } @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { View childView = view.findChildViewUnder(e.getX(), e.getY()); if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { mListener.onItemClick(childView, view.getChildAdapterPosition(childView)); return true; } return false; } @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } @Override public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept){} } رویداد کلیک روی RecyclerView : recycler_report.addOnItemTouchListener( new RecyclerItemClickListener(IssueReportDetailActivity.this, recycler_report, new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { // do whatever //کد نمایش AlertDialog } @Override public void onLongItemClick(View view, int position) { // do whatever } }) );
    1 like
  30. برای فونت بنظرم کنترل رو سفارشی کن و فونت بهش ست کن
    1 like
  31. سلام من میخوام یک پروژه ای رو که دانلود کردم import کنم داخل اندروید استودیو ولی با این ارور مواجه میشم.میدونید مشکل کجاست؟؟؟؟با تشکر
    1 like
  32. سلام. فکرنکنم ساخت طرح ها با دکمه کار جالبی باشه. بهتون توصیه میکنم طرح های خاص رو در قالب یه تصویر (فتوشاپ) طراحی کنید و به عنوان background اکتیویتی بذارید، بعد با view های دیگه کاملش کنیذ. مثلا جایی که میخواید کلیک بشه یه دکمه یا لایه بذارید. در کل منظورم اینه که طرح اصلی رو جدا طراحی کنید. اگه به نمونه مشابه نیاز داشتید یه سری به برنامه (چیز تو تلگرام) در کافه بازار بزنید. صفحه اول این برنامه دقیقا از همین روش استفاده کرده.
    1 like
  33. این کد رو بررسی کنید 1 down vote KeyguardManager km = (KeyguardManager)getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); if(km.isKeyguardSecure()) Toast.makeText(getApplicationContext(), "locked", Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), "Unlocked", Toast.LENGTH_LONG).show();
    1 like
  34. سلام تو این لینک چند راه حل برای جلوگیری از خاموش شدن صفحه گوشی وقتی تو برنامه هستین اومده: http://stackoverflow.com/questions/4195682/android-disable-screen-timeout-while-app-is-running امیدوارم بتونه کمکتون کنه
    1 like
  35. از این طریق موسیقی را play کنید int resID = myContext.getResources().getIdentifier(playSoundName,"raw",myContext.getPackageName()); MediaPlayer mediaPlayer = MediaPlayer.create(myContext,resID); mediaPlayer.prepare(); mediaPlayer.start();
    1 like
  36. پیدا کردم دوستان چون برای جنی موشن میخواستم باید از این ادرس استفاده کنم http://10.0.3.2/app/api.php?factor Xammp رو هم حذف کردم
    1 like
  37. Query خودتون رو ایجاد بنویسید : ORDER_BY cast(number_no as int) ASC number_no نام فیلد شما میباشد
    1 like
  38. برای اینکه بتونید Viewpager رو کاری کنید که اولین tab سمت راست ابتدا باز شود میبایستی شماره اندیس تب رو عوض کنید pager.setCurrentItem(1); عدد 1 را شماره اندیسی که نیاز دارید قرار دهید
    1 like
  39. وقتی تصاویر تون بصورت کامل local هستش بهتره بصورت اسم در دیتابیس نگهداری کنید.اگر هم Blob بزارید فقط حجم دیتابیستون بالاتر میره با این دستور میتوایند تصویری که در mipmap گذاشتید و اسمش رو هم در دیتابیس قرار دادید را نمایش بدید int resID = context.getResources().getIdentifier("ImageName", "mipmap", context.getPackageName()); img_flags.setImageResource(resID);
    1 like
  40. ممنون از شما کارم با این کد راه افتاد Uri uri = Uri.parse("http://instagram.com/_u/xxx"); Intent likeIng = new Intent(Intent.ACTION_VIEW, uri); likeIng.setPackage("com.instagram.android"); try { startActivity(likeIng); } catch (ActivityNotFoundException e) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://instagram.com/xxx"))); }
    1 like
  41. وقتی resId صفر برمیگردونه یعنی اینکه نتونسته تصویر رو پیدا کنه حتما چک کنید اسم تصویر رو درست تو دیتابیس وارد کرده باشید
    1 like
  42. 1 like
  43. این خط رو درست کنید در پست قبلی براتون تغییر دادم اما همین کد خودتون رو باز نوشتید List<Structure> items = Collections.emptyList();
    1 like
  44. اره دقیقا باید همینکارو کنی.اسم عکسی که تو فولدر assets داری رو بزار تو فیلد دیتابیست. راه حل من بهتون یه روش ساده تر رو توصیه میکنم.عکساتون رو بزارید تو mipmap و بعدش اسمش رو بدون پسوند تو دیتابیس وارد کن. با این کد هم میتونی نمایش بدی : ImageView iw= (ImageView)findViewById(R.id.imageView1); int resID = getResources().getIdentifier(items.get(position).getFlag(), "mipmap", getPackageName()); iw.setImageResource(resID);
    1 like
  45. باید به دستور getAssets قبلش یک context بدی درست میشه
    1 like
  46. سلام.کدتون یه مشکلی که داره اینه.شما نباید که بیاید هر دو تا عکستون رو توی onBindViewHolder قرار بدید. لطفا کل کلاس اداپترتون که از RecyclerView ارث بری شده است رو بزارید براتون درست کنید نمونه تغییرات : public void onBindViewHolder(ViewHolder holder, int position) { Database database=new Database(context); //from database holder.txt_countryname.setText(items.get(position).getCountry_Name()); //holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,items.get(position).getFlag())); holder.img_flags.setImageBitmap(database.getBitmapFromAsset(context,items.get(position).getFlag));
    1 like
  47. نگارش 1.0.0

    37 دانلود

    سورس پروژه اندروید Memory که بطور رایگان برای کاربران شاپ دروید قرار گرفته است.این پروژه بدین صورت عمل میکند که لیستی از تصاویر نمایش داده میشود و کاربر میبایستی ابتدا آنها را بخاطر بسپارد و بعد بازی شروع میشود. بعد اینکه بازی شروع شد باید چیکار کنیم؟ تصاویر در زیر دکمه ها مخفی میشوند و کاربر باید تصاویر را تشخیص داده تا بتوانند بازی را به اتمام برساند.

    رایگان

    1 like
  48. مانند خیلی از اپلیکشن ها و بازی های بازار ، شما می توانید از تبلیغات ویدئویی تپسل نیز استفاده کنید . اگر به صورت نمایش دهنده باشید ، تبلیغ های دیگران نمایش داده میشوند و به ازای هر تبلیغ به طور متوسط 7ال 10 تومان به حساب شما واریز می شود. برای مثال در یک تبلیغ ویدئویی شما به کاربر پس از نمایش ویدئو در برنامه ، جایزه می دهید ، مثلا سکه ! البته باید حواستان باشید که زیاد به کاربر سکه ندهید تا ضرر نکنید ، برای مثال به ازای نمایش یک ویدئو ، به کاربر یک سه بدهید . شما می توانید به صورت تبلیغ دهنده نیز فعالیت داشته باشید که از چگونگی این موضوع اطلاعی ندارم. تپسل راهکارهایی دیگری برای تبلیغات دارد. از سیستم های مشابه تپسل می توان به ادی پلی اشاره کرد که من از آن استفاده نکرده ام. با آرزوی موفیت ------------ https://cafebazaar.ir/app/com.cafebit.kamingah/?l=fa
    1 like
  49. سلام..بله شما درست میگید یکسری ایرادات داریم و درحال رفعشون هستید.انشالا تا چند روز اینده کلیه مشکلات حل میشه و مخصوصا بخش مارکت سایت نیز راه اندازی خواهد شد و میتواند یک راه جدید برای درامد زایی کاربران انجمن ایجاد شود.
    1 like
  50. سلام دوست عزیز فک نمیکنم بتونی کد جاواش رو پیدا کنی باید بنویسی ولی برای نوشتن همچین چیزی شما به API احتیاج داری که بیشترش تو ایران رایگان داده نمیشه مثل سایت زیر http://www.tgju.org/api اما اگه api رو گرفتی حالا میتونی با برنامه نویسی جاوا استفاده از لیست ویو و بقیه امکانات این برنامه رو دروست کنید . به لینک پایین هم یه سر بزن ببین شاید کمکت کرد . http://www.webhostingtalk.ir/showthread.php?t=157630 بعضی سایت ها هم این api ها رو رایگان میدن خدا خیرشون بده مثل سایت زیر که خروجی Json بهت میده http://exchange.nalbandan.com/api.php موفق باشید
    1 like