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

  1. Farzad Sarseifi

    Farzad Sarseifi

    مدیریت انجمن


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

      135

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

      1,577


  2. a.khosroabadi

    a.khosroabadi

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


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

      42

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

      84


  3. Seven7up

    Seven7up

    مدیر انجمن


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

      13

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

      68


  4. mohammadali_mirhamed

    mohammadali_mirhamed

    مدیر انجمن


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

      12

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

      688



Popular Content

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

  1. 6 likes

    نگارش 1.0.0

    389 دانلود

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

    رایگان

  2. 6 likes

    نگارش 1.0.0

    128 دانلود

    سورس اپلیکیشن 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

    رایگان

  3. 4 likes
    آره والا دست این گوگل درد نکنه که همه جوره راحتمون کرده
  4. 3 likes
    برای این حالت باید به TabLayout خودتون حالت scroll را ست کنید <android.support.design.widget.TabLayout android:id="@+id/sliding_tabs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" app:tabMode="scrollable" />
  5. 3 likes
    سلام حتما از اسم موضوع تعجب کردید ! ولی باید بگم چاقوی کره خوری یه کتاب خونه هست واسه برنامه نویسی اندروید که یه قسمتی رو که حتما تا حالا خستتون کرده رو تفاوت توش ایجاد کرده 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 دوستان لینک کامل آموزش خودشم اینجاس ببخشید یکم سر سری توضیح دادم
  6. 3 likes
    یک کلاس ایجاد کنید برای اینکه بتوانید روی 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));
  7. 2 likes
    کاربران گرامی انجمن برنامه نویسی اندروید پی سی دروید با درود چهار سالگی انجمن برنامه نویسی اندروید پی سی دروید مبارک باد همچنان که در طی سالیان گذشته در کنار ما بودید مبنی بر اینکه در روز 22 اسفند ماه که برابر است با چهار سالگی انجمن برنامه نویسی اندروید ، به پاس این روز نیک قصد داریم هدایایی را تقدیم کاربران انجمن پی سی دروید نماییم ،از این رو خوشحال میشویم شما در این روز با ما همراه باشید. خوشحال خواهیم نظرات خود را در مورد انجمن اندروید ایران با ما در میان بگذارید تا بتوانیم در سال جدید(۱۳۹۶) انجمنی پربارتر را داشته باشیم با احترام مدیر انجمن اندروید ایران (پی سی دروید) فرزاد سرسیفی
  8. 2 likes
    سلام دوست عزیز احتیاجی به متغییر نیست.دلیل این اتفاق این هستش که زمانی که شما بین تب ها جا به جا میشین فرگمنت ها به صورت کامل از بین نمیرن. برای این که شما جلو این تکرار رو بگیرین باید تو متد onCreateView یه شرط بزارین قبل از ساخت adapter تا چک کنید ببینید ازین فرگمنت دیتایی ساخته شده یا نه به این صورت تغییر بدین کدتونو if (savedInstanceState == null){ adapterCardView = new AdapterCardView(getActivity(),arrayList); loadDatabase(); }
  9. 2 likes
    سلام اگه ممکنه کدی که برای ساخت دیتابیس نوشتین بزارین تا رو کدتون توضیح بدیم. اگه از کلاس SqLiteOpenHelper یه کلاس ساخته باشین باید برای دیتابیستون یه ورژن گذاشته باشین.حالا اگه این ورژن تغییر بدین (مثلا 1 بوده الان بزارین 2) و اینو تو متد onUpgrade مشخص کنید. دیتابیستون اپدیت میشه.این یک نمونه از این کلاس هستش. public class MyDataBase extends SQLiteOpenHelper { public AquaPlantDataBase(Context context) { super(context, DBConstantManager.DATABASE_NAME.MY_DATABASE_NAME , null, DBConstantManager.DATABASE_VERSION.DB_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(DBConstantManager.TABLE_SCRIPT.T_FAVORITS); sqLiteDatabase.execSQL(DBConstantManager.TABLE_SCRIPT.T_FILTERCACHE); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) { } } اگه دقت کنید تو constructor یه ورژن دادم (آخرین پارامتر ورودی) وقتی دیتابیس شما ساخته میشه برای اولین بار این ورژن ثبت میشه و بعد از هر اپدیت برنامه این ورژن چک میشه در صورتی که ورژن جدید با قبلی یکی باشه تغییری انجام نمیشه ولی اگه این ورژن از قبلی یکی بیشتر باشه متد onupgrade صدا زده میشه و دیتابیستون اپدیت میشه.
  10. 2 likes

    نگارش 1.0.0

    133 دانلود

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

    رایگان

  11. 2 likes
    سلام، اینارو سمت سرور تعیین میکنه فقط شما باید موقعیت مکانی lat lang رو به سرور بفرستید و سرور براساس اون تبلیغات های مورد نظر رو بفرسته
  12. 2 likes
    این کد برای بسته شدن دراور هستش. برای اینکه از برنامه خارج بشین میتونید از متدهای زیر استفاده کنید finish(); System.exit(0);
  13. 2 likes
    خیلی خیلی ممنونم درست شد... فقط این کد drawerLayout.closeDrawers(); برای چی بود ؟ برای من فورس کلوز میدادو برنامم رو می بست حذفش کردم و یه سوال دیگه اگر بخوام با آیتم خروج برنامم بسته بشه باید چی بنویسم
  14. 2 likes
    این کد کامل این اکتیویتی من هستش. public class BaseActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { protected Toolbar mToolbar; protected DrawerLayout drawerLayout; protected NavigationView navigationView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_base); /* mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayShowTitleEnabled(false); */ drawerLayout = (DrawerLayout) findViewById(R.id.home_activity_drawer_layout); if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) { getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); } navigationView = (NavigationView) findViewById(R.id.navigation_view); navigationView.setNavigationItemSelectedListener(this); } @Override public boolean onNavigationItemSelected(MenuItem item) { drawerLayout.closeDrawers(); switch (item.getItemId()) { case R.id.plants_drawer: { Intent intent = new Intent(BaseActivity.this, PlantActivity.class); startActivity(intent); return true; } case R.id.fishes_drawer: Intent intent = new Intent(BaseActivity.this, FishActivity.class); startActivity(intent); return true; /* case R.id.pest_algae_drawer: Toast.makeText(getApplicationContext(), "pest", Toast.LENGTH_SHORT).show(); return true;*/ case R.id.calculator_drawer: Toast.makeText(getApplicationContext(), "calculator", Toast.LENGTH_SHORT).show(); return true; default: return true; } } private void showDrawer() { drawerLayout.openDrawer(GravityCompat.START); } private void hideDrawer() { drawerLayout.closeDrawer(GravityCompat.START); } @Override public void onBackPressed() { if (drawerLayout.isDrawerOpen(GravityCompat.START)) hideDrawer(); else super.onBackPressed(); } @Override protected void attachBaseContext(Context context){ super.attachBaseContext(CalligraphyContextWrapper.wrap(context)); } } این قسمت رو هم اضافه کنید. من فراموش کردم متاسفانه navigationView.setNavigationItemSelectedListener(this);
  15. 2 likes
    به نظر من یه راه خیلی سادش اینه یه متغیر boolean تعریف کنید وقتی dot وارد کرد true بشه و توی آنکلیک دکمه dot شرط انجام دستورات رو false بودن متغیر ها بذارید. در صورتی که قرار هست اون dot پاک بشه،میتونید تو textChange اون editText یه کد بنویسید چک کنه ببینه الان dot پاک شد؟؟پس متغیر رو false کن
  16. 2 likes
    سلام امروز میخوایم کار با کتابخونه 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) قرار میده. تمام
  17. 2 likes
    ممنون آقای خسروآبادی اینکارایی که گفتید رو انجام میدم صرفا برای یاد گرفتنه وقتی یاد گرفتم و خواستم اپلیکیشن های خوب بسازم یه فکری برای این مشکل بر میدارم. از این که منو در حل این مشکل یاری کردید ممنونم آرزوی بهترین ها رو براتون دارم خدا نگه دار
  18. 2 likes
    نه بابا چرا شکست اخه تا جایی که من میدونم haxm باعث میشه سرعت بره بالا برای امولاتور ها.و نباید این خطارو بده ولی حالا که میده میشه رفت سراغ راه حل های بعدی. چندتا راه دارین اول به نظرم Genymotion نصب کنید خیلی عالیه.البته باید virtualBox 5 هم نصب کنید.من خودم ازین امولاتور استفاده میکنم. راه بعد نصب امولاتور های زامارین هستش من استفاده نکردم. راه اخر اینه که روی گوشیتون تست کنید.
  19. 2 likes
    با سلام 54 مگ گذاشتین برای دانلود ولی هنگام extract کردن faild میده !!!!
  20. 2 likes
    ممنون دوست عزیز
  21. 2 likes
    سلام برای api17+ ساپورت فارسی اضافه شده برای همین این سری موارد پیش میاد برای اینکه فقط برنامه ما درواقع یک جهت داشته باشه دو کار میشه انجام داد . یک ، اینکه توی منیفست Support rtl رو false بزارید که دیگه ساپورت فارسی نداشته باشه و به همون صورت اصلی باقی بمونه . دو ، اگه میخوایید اون ویژگی رو غیر فعال نکنید . برای ویوپیجر layoutDirection رو روی ltr بزارید . البته اگه توضیحات شما رو درست متوجه شده باشم .
  22. 2 likes

    نگارش 1.0.0

    78 دانلود

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

    رایگان

  23. 2 likes
    میتونید چند تا Break point بزارید و با کلید F9 جابجا بشید
  24. 2 likes
    با سلام خدمت اساتید محترم من سابقه برنامه نویسی دارم ولی این اولین اپلیکیشن اندرویدمه و اگه امکانش هست نگاهی بهش بندازید و ایراداتش رو بهم بگید.الیبته اینم بگم اولین اپلیکیشن منه و دست تنهام پس زیاد سخت نگیرید https://cafebazaar.ir/app/iTrip.eTrip/?l=fa
  25. 2 likes
    کاربران گرامی انجمن اندروید ایران همانطور که مطلع هستید در تاریخ 19 آذر ماه 1395 ورژن جدید انجمن اندروید ایران ایجاد شده و دارای بخش های فراوانی همچون : مارکت اندروید چت رابط کاربری جذاب راحتی کار در موبایل آپلود سنتر داخلی برای بارگذاری فایل ها و... خوشحال خواهیم شد نظرات خود را با ما در میان بگذارید تا بتوانیم وب سایت بهتری در شان انجمن اندروید ایران را در اختیار کاربران قرار دهیم. با تشکر فرزاد سرسیفی
  26. 2 likes
    خیلی از قسمت های سایت هنوز مشکل دارن ویرایش پروفایل هم که فقط یه ایمیل مونده نه امضا هست نه خیلی چیزای دیگه و....
  27. 2 likes
    سلام.فایل نمونه قرار داد
  28. 2 likes
    تبریک میگم مهندس سرسیفی عزیز قالب جدید سایت بسیار خوب هستش هم به دلیل اینکه به صورت واکنشگرا می باشد و برای نمایش در هر محیطی مناسب قالبلیت چت هم بسیار خوب است به دلیل اینکه بحث در مورد بعضی از موضوعات بسیار زیاد میشد و تاپیک تبدیل به اسپم بسیار زیادی از جواب ها و نقطعه نظر غیر مرتبط تشکیل میشد . الان با این قابلیت دیگه این انتفاق نخواد افتاد . پاینده باشید
  29. 2 likes
    خیلی ممنون از نظر خوبتون. حتما در روزهای آینده خیلی امکانات جدیدی را به انجمن اضافه میکنیم.
  30. 2 likes
    خوبه خوشم اومد قالب جالبیه و خوشحال شدم وااااقعا که انجمن یکم عوض شد قیافه ش خخخخ فقط این شکلکارو هم عوض کنید از این متحرکا بذارید
  31. 2 likes
    [align=center]به نام خدایی که غم از دست دادنشو ندارم [/align] [align=center]جلسه اول قرار داده شد(زیر همین پست هستش)[/align] [align=center]جلسه دوم ساخته شد(اینجا کلیک-یا تو تاپیک بگردید)[/align] [align=center]جلسه سوم ساخته شد(اینجا کلیک کنید)[/align] [align=right]بالاخره تصمیم گرفتم یه کار مفیدی واسه کاربران این سایت انجام بدم.کاری که مطمئنا به دردتون میخوره.آموزش ساخت کتاب اندرویدی. [/align] [align=right]هر وقت میام سایت،میبینم افرادی زیادی میخوان که برنامه های کتاب مانند بسازن.این کار رو میخوام به آسون ترین شکل بهتون یاد بدم.این رو هم بگم من خودم یه اماتورم زیاد از من انتظار حرفه بودن نداشته باشید [/align] [align=right]خب.بریم سر اصل مطلب [/align] [align=right]اول این که آموزش ها ویدئویی هستن.یعنی به صورت فیلم که این کار هم واسه شما آسونه هم من.(حوصله نوشتن ندارم).واسه شما خوبه چون راحت تر می فهمید. [/align] [align=right]این آموزش شاید 5-6 تا بشه که هر کدوم رو تو یه پست جدا و همچنین هر کدوم رو همراه با سورس کدش تا اون قسمت + برنامه های گفته شده+ کد های خاص تو یه فایل قرار میدم.:D[/align] [align=right].[/align] [align=right].[/align] [align=right]از همین الان بگم که سعی میکنم هر روزحداقل یه آموزش بذارم که تو یه هفته ای تموم شه.[/align] [align=right]دوما اینکه آموزش ما خیلی گرافیکی نیست.یعنی برنامه خیلی خوشگل نمیشه.ما چارچوبو یاد میدیم.شرمنده[/align] [align=right].[/align] [align=right].[/align] [align=right]پیشنیاز ها رو هم میگم:[/align] [align=right]1-نرم افزار اکلیپس آماده + چیز های مورد نیازش.(یعنی بشه باهاش همین الان یه اپ ساخت)[/align] [align=right]2-بلد بودن شما به مفاهیم اولیه برنامه نویسی اندروید(مثلا بتونید به برنامه بسازید از این صفحه به اون صفحه بره و اینجو صحبتا)[/align] [align=right]3-یه چیزایی از دیتابیس بدونید بد نیست.با این که کار ما خیلی مربوطه به دیتابیس هست،اما خودم کامل توضیح نمدم در حد همون کتاب میگم.[/align] [align=right]4-پشتکار و دنبال کردن آموزش ها.[/align] [align=right].[/align] [align=right].[/align] [align=right]سوالم داشتید همین تاپیک بپرسید.[/align] [align=right]از فردا اولین آموزش رو میذارم.(اولیش ساخت دیتابیس خارجی هست.)[/align] [align=center]به نام خدایی که غم از دست دادنشو ندارم[/align] [align=right]با اولین جلسه خدمت شما هستم.در این جلسه می آموزید چگونه دیتابیس نرم افزار خود را طراحی کنید.توسط نرم افزار SQLite expert professional[/align] [align=right].[/align] [align=right].[/align] [align=right]حجم فایل:12 مگ[/align] [align=right]محتویات:فیلم آموزش+دیتابیس 4 رکوردی خودمون[/align] [align=right]لینک دانلود...[/align] [align=right]*****************[/align] [align=right]نرم افزار SQlite expert جهت ساخت فایل دیتابیس[/align] [align=right]حجم:75 مگ[/align] [align=right]لینک دانلود...[/align] [align=right]پسورد فایل: soft98.ir[/align]
  32. 2 likes
    بیشتر افراد دارای سیم کارت های اعتباری هستند و هر چند وقت یکبار میخواهند بدانند که مانده حساب چقدر میباشد. خب در اندروید اینکار به سادگی قابل انجام بوده، در این آموزش قصد داریم امکانات زیر را پیاده سازی کنیم 1-دریافت مانده شارژ 2-شارژ سیم کارت 3-شارژ شگفت انگیز 4-تنظیمات اینترنت GPRS ما فرض را بر سیم کارت های ایرانسل قرار میدهیم، برای سایر اپراتورها فقط کد مربوطه را قرار میدهیم: [align=left] phNumber = "*141*111-333-222-4#";String uri = "tel:" + phNumber ;Intent intent = new Intent(Intent.ACTION_CALL);intent.setData(Uri.parse(uri));startActivity(intent); [/align] سپس در فایل مانیفست این مجوزها را فعال میکنیم: [align=left] [/align] رویداد فوق را میتوانید در کلیک ویجت Button قرار دهید . بهتر است در دیوایس واقعی تست شود تا خروجی دقیقا مشاهده شود.
  33. 1 like
  34. 1 like
    این خطا برای این میباشد شما sdk 22 رو ندارید. دو راه دارید sdk 22 رو دانلود کنید باید تنظیمات sdk پروژه خودتون رو در فایل build.gradle تغییر دهید
  35. 1 like
    سلام دوست عزیز یه جدول تو دیتابیس بساز که یه ستون ایدی داشته باشه و یه ستون ایدی اون ایتم. حالا هر زمانی که یک ایتم رو لایک میکنه یه رکورد تو این جدول بخوره و اگه انلایک کرد بگرده و او اون ایتم رو پاک کنه.برای نشون دادن هم تو اداپتر ریسایکلر ویو تو متد onBind هم هر ایتم که میگیری یک بار تو این جدول سرچ بزن اگه وجود داشت که یعنی لایک شده و اگه نبود یعنی لایک نشده و بر اساس این ایتم های ریسایکلرت رو بچین.
  36. 1 like
    کلاس ها درست هستند روی امولاتور تست کردی یا دستگاه اندرویدی؟
  37. 1 like
    به نظر من یه linearLayout بزار horizontal بعد داخلش دوتا linearLayout بزار که برای هردو width=0dp باشه و weight=0.5 اینجوری صفحه به دو قسمت تقسیم کردی حالا داخل هرکدوم ازین لایوت ها میتونی عکس و متنتو بزاری
  38. 1 like
    از نسخه جدید FlipBoard استفاده کنید https://github.com/emilsjolander/android-FlipView و این کتابخانه جذاب https://github.com/Flipboard/bottomsheet
  39. 1 like
    سلام از این کد استفاده کنید : import android.app.Activity; import android.content.res.Configuration; import android.os.Bundle; public class Main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String languageToLoad = "fa"; // your language Locale locale = new Locale(languageToLoad); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); this.setContentView(R.layout.main); } }
  40. 1 like
    با سلام خدمت همکاران و دوستان توسعه دهنده عزیز لطفاً از اپلیکیشن گروه بنده حمایت کنید و هم چنین از انجمن آندروید ایران لینک جشنواره
  41. 1 like
    خیلی عالی واقعا اسمشو نشنیده بودم تا الان ممنون که بهم یاد دادین و ببخشید بابت اینکه نرسیدم پیگیری کنم و جواب سوال قبلتونو بدم
  42. 1 like
    کاربران گرامی انجمن اندروید ایران با افتخار اعلام میکنیم از روز شنبه 18 دی ماه 1395 مارکت انجمن اندروید ایران فعالیت خود را شروع میکند و تمامی کاربران میتوانند محصولات خود را از طریق دسته بندی های موجود بارگذاری کنند و پس از تایید تو مدیران انجمن در بخش فروش قرار خواهد گرفت قوانین مارکت انجمن اندروید ایران : قبل از ثبت محصول خود قوانین زیر را مطالعه نمایید: قبل از انتشار هر محصولی حتما قوانین مربوط به ثبت و فروش محصولات را مطالعه نمایید تا موجب اخطار و یا اخراج از انجمن نگردد. ثبت هرگونه فایل مخرب و دارای کدهای مخفی ممنوع بوده و بلافاصله حذف و حساب کاربر خاطی علاوه بر اخراج از انجمن بلاک شده و تسویه حساب انجام نخواهد شد. محصولات قابل ارائه باید مرتبط با اندروید ، ios ، گرافیک موبایل و کتابهای آموزشی فارسی pdf و از این دست باشد. تسویه حساب با کاربران فروشنده تا 24 ساعت پس از ثبت درخواست انجام میشود. از هر فروش 10 درصد به عنوان کارمزد سهم انجمن اندروید ایران و 90 درصد نیز سهم فروشنده است. تسویه حساب به صورت کارت به کارت انجام میشود حداقل موجودی برای ثبت درخواست تسویه حساب 30 هزار تومان است. درج تصاویری از محصول الزامی است. درج توضیحات کامل از محصول و لینک دموی محصول الزامی است. درج هرگونه لینک بجز لینک دموی محصول غیر مجاز است و باعث عدم تایید محصول میشود. در صورت نیاز به راهنما حتما راهنمای محصول را نیز قرار دهید. ارائه پشتیبانی به خریداران محصول الزامی است و از طریق صفحه ی محصول قابلیت طرح سوال و جواب فراهم میشود. محصولات ثبت شده مانند پروژه های اندروید و قالب ها گرافیکی حتما فارسی سازی شده توسط ثبت کننده باشند. در صورت کپی محصولات سایر اشخاص و عرضه ی آن در مارکت، کاربر خاطی برای همیشه از انجمن اخراج میشود. محصولات منتشر شده باید آخرین نسخه عرضه شده باشند در غیر اینصورت مورد تایید قرار نخواهند گرفت. با تشکر انجمن اندروید ایران
  43. 1 like
    وقتی توی فرگمنت هستید باید برای context مقدار getActivity() رو قرار بدید
  44. 1 like
    سلام دوستان من تازه میخوام وارد کار برنامه نویسی بشم میخواستم بدونم اصلا ارزششو داره که وقت بذارم و اینکارو دنبال کنم؟ لطفا تجربیاتتون رو بگید و راهنماییم کنید که اصلا از کجا باید شروع کنم من خیلی تحقیق کردم و واقعا تو این مدت گیج شدم.لطفا افرادی که تلاششون رو نکردن و استعداد و علاقه تو این زمینه ندارن نظر ندن ممنون;
  45. 1 like
    سلام ممنونم از وقتی ک گذاشتین ولی هیچ یک از فایل های بالا اجرا نشدن خودم کمی فایل های قبلی را دست کاری کردم و به نتیجه رسیدم. Gallory.java
  46. 1 like
    شما درست میگید هرکاری امکان پذیره و نشد نداریم اما بعضی شرایط رو هم باید در نظر گرفت برای بعضی کارها باید مجوز دسترسی به منابع خاصی را باید داشته باشید که بتوانید یک کار را انجام دهید. بطور مثلا هنوز تو ایران بجز نرم افزارهای بانکی مجوز پرداخت موبایلی را ندارند(بانک مرکزی این مجوز را صادر نکرده است) و تمامی اپ ها مجبورند از مرورگر برای پرداخت های خود استفاده کنند. یعنی اینکه یک راه دوم برای حل مشکل خود انتخاب کرده اند.
  47. 1 like
    عالی شده امکانات جدید خیلی خوبن ممنون از زحماتتون
  48. 1 like
    اول از همه چرا به جای منتظر گذاشتن خودتون یه سرچ ساده نمیکنید؟ اگر هم نمیتونید انگلیسی سرچ کنید باید بگم که مشکل خیلی بزرگی دارید و باید رفعش کنید قبل اینکه زیاد وارد برنامه نویسی بشین چون واقعا به مشکل میخورین --------------------------------- از این متد استفاده کنید [shcode=java] private boolean isPackageInstalled(String packagename, PackageManager packageManager) { try { packageManager.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES); return true; } catch (PackageManager.NameNotFoundException e) { return false; } } [/shcode]
  49. 1 like
    فکر کنم مشکل شما در تعریف مجوز های مانیفست هست اگر گوشی یا شبیه ساز اندروید شما نسخه 6 هست باید مجوز ها به شکل دیگه ای تعریف بشه مثل زیر
  50. 1 like
    [align=center]سلام چند وقت پیش در سایت اصلی تلگرام سورس این پیام رسان قرار گرفت تا کابران بتوانند از این سورس استفاده و تغییراتی در این سورس دهند.[/align] [align=center]این سورس به هیچ وجه کامپیلر نشده و در سایت اصلی قرار دارد.[/align] [align=center]لینک دانلود سورس برای اندروید استودیو : دانلود[/align] [align=center]رمز فایل : www.sourceiran.com[/align] [align=center]لایک یادت نره[/align]