a.khosroabadi

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

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

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

  • Days Won

    9

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

  1. خواهش میکنم دوست عزیز
  2. بله منظورم مستقیم نوشتن هستش.برای تست این موضوع میتونید یه فایل نوت پد جدید باز کنید و توش فارسی بنویسید زمانی که بخواهید سیو کنید به شما پیغام میده که فرمت رو تغییر بدین برای یونی کد شما تغییر ندید و به همون صورت ذخیره کنید و ببندید فایل وقتی دوباره باز کنید متن نوشته شده رو به صورت علامت سوال میبینید برای این کار شما داخفل فایل string.xml به این صورت بنویسید <string name="text1"> نمونه برای مثال</string> و داخل کلاس اکتیویتی هم به این صورت categoryList.add(getString(R.string.text1));
  3. سلام دوست عزیز این قسمت رو به صورت هارد کد نوشتین ؟ categories.add("آموزش"); categories.add("خدمات"); categories.add("تجارت"); categories.add("ورزش"); categories.add("هنر"); categories.add("مردم شناس?"); categories.add("پزشک?"); اگه هاردکد هستش String هارو از کد جاوا خارج کنید و داخل string.xml تعریف کنید و با استفاده از متد getString به لیست اضافه کنید. کلاس های جاوا به صورت پیشفرض utf8 یا unicode ثاپورت نمیکنن و زمانی که شما فارسی داخل کلاس بنویسید به مشکل میخوره و درست نشون داده نمیشه.
  4. سلام دوست عزیز میشه کدی که برای تغییر فونت و ست کردن typeFace گذاشتین بدین؟همینطور خطا رو هم اگه بزارین خیلی بیشتر میشه کمک کرد. و غیر از adapter میتونید یه custom textview بسازین که فونت خودتون داشته باشه. پ . ن : اداپتر هم نمیخواد خودتون بسازین، راه برای رسیدن به خدا زیاد هستش.
  5. سلام دوست عزیز یه جدول تو دیتابیس بساز که یه ستون ایدی داشته باشه و یه ستون ایدی اون ایتم. حالا هر زمانی که یک ایتم رو لایک میکنه یه رکورد تو این جدول بخوره و اگه انلایک کرد بگرده و او اون ایتم رو پاک کنه.برای نشون دادن هم تو اداپتر ریسایکلر ویو تو متد onBind هم هر ایتم که میگیری یک بار تو این جدول سرچ بزن اگه وجود داشت که یعنی لایک شده و اگه نبود یعنی لایک نشده و بر اساس این ایتم های ریسایکلرت رو بچین.
  6. سلام روز بخیر اول اینکه احتیاجی نیست POST باشه requesteton بزارینش GET و اینکه نوع خروجی چرا void هستش؟ باید بشه ابجکتی که قرار هستش بگیرین از وب سرویس این یک نمونه از کد retrofit 2 هستش @GET("rest/productImageService/getproductimage/{imageName}") Call<ProductImageBean> getProductImages(@Path("imageName") String imagePath);
  7. پروژه تونو یک بار clean و بعد build کنید
  8. به نظر من یه linearLayout بزار horizontal بعد داخلش دوتا linearLayout بزار که برای هردو width=0dp باشه و weight=0.5 اینجوری صفحه به دو قسمت تقسیم کردی حالا داخل هرکدوم ازین لایوت ها میتونی عکس و متنتو بزاری
  9. بستگی به چینش فصحه شما داره که چجوری بخواین بچینید
  10. سلام با استفاده از خاصیت weight میتونید. زمانی که میخواین ازین خاصیت استفاده کنید بسته به اینکه این خاصیتو برای width یا height استفاده کنید باید اون ایتم رو برابر با 0dp قرار بدین بعد از طریق weight مقدار بدین.به این صورت : widht="0dp" height="match_parent" weight="0.5" یا widht="match_parent" height="0dp" weight="0.2" خاصیت weight یک مقدار میگیره بین صفر و یک. منظور از weight این هستش که مثلا اگه 1 بدین بهش اون ویو کل عرض صفحه یا ارتفاع صفحه رو میگیره بسته به اینکه برای عرض یا ارتفاع ست شده باشه.و اگه مقدار کمتر از 1 بگیره اون مقدار از عرض یا طولو میگیره.برای مثال اگه بهش بدیم 0.9 یعنی 9 قسمت از عرض یا طول صفحه رو بگیره. حالا شما میتویند مثلا اگه قراره view هاتون کنار هم قرار بگیرن به هرکدوم یک weight بدین و width="0dp" قرار بدین
  11. دیتابیس

    سلام دوست عزیز لیستتونو داخل چه متدی لود میکنید؟
  12. این کد برای بسته شدن دراور هستش. برای اینکه از برنامه خارج بشین میتونید از متدهای زیر استفاده کنید finish(); System.exit(0);
  13. این کد کامل این اکتیویتی من هستش. 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);
  14. بله با منو ساخته بودم. id هارو درست میدین چون به نظرم نباید مشکلی داشته باشه.
  15. سلام دوست عزیز شما میتونی به این صورت عمل کنی اکتیویتی به این صورت تعریف کن public class BaseActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{ @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; } } }
  16. سلام دوست عزیز این اطلاعاتو کجا دارین لود میکنید؟ الان تو این فرگمنت که دیتایی لود نمیکنید که بخواد نشون داده بشه.
  17. سلام دوست عزیز اگه ممکنه کدتونو بزارین
  18. سلام دوست عزیز اگه انتهای هر خطی که تو دیتابیس دارین اینتر خرده باشه و به خط بعد رفته باشه برای مشخص شدن خط جدید یه کاراکتر '\n' زده میشه شما میتونید رشته ای که از دیتابیس میگیرین رو این کاراکتر split کنید به این صورت String[] splitedString = YOURSTRING.split("\\r?\\n"); یا از این متد استفاده کنید String[] splitedString = YOURSTRING.split("\\r\\n|\\n|\\r"); اینجوری شما یه ارایه دارین که میتونید ایندکس های فرد چپ چین کنید و ایندکس های زوج راست چین.
  19. سلام روز بخیر اگه ممکنه خطایی که میده هم بزارین
  20. سلام دوست عزیز به نظرم قسمت تنظیمات اکتیویتیو بزارین تو متد onResume چون اگه اکتیویتی pause یا stop بشه دیگه متد onCreate صدا زده نمیشه و با همون تنظیمات قبلی اعمال میشه.
  21. سلام دوست عزیز میتونید از این دو سایت استفاده کنید http://www.vogella.com/tutorials/AndroidSQLite/article.html http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
  22. خواهش میکنم. امیدوارم مشکلتون برطرف شده باشه. اگه هنوز مشکل باقی هستش بگین تا با کمک هم برطرف کنیم مشکلو.
  23. عالی موفق باشید
  24. خیلی عالی واقعا اسمشو نشنیده بودم تا الان ممنون که بهم یاد دادین و ببخشید بابت اینکه نرسیدم پیگیری کنم و جواب سوال قبلتونو بدم
  25. سلام دوست عزیز ببخشید دیر جوابتونو میدم. میتونید به جای select TOP 1 * from Point ORDER BY maxPoint DESC از کوئری زیر استفاده کنید SELECT * FROM Point ORDER BY MaxPoint DESC LIMIT 1 اگه مدل جدول تغییر دادین به صورتی که براتون فرستادم احتمالا باید کد متد saveMaxPointInDatabase(maxPoint); هم اپدیت کنید و متناسب با جدول جدید. در مورد جدول هم بله جدولی با 2 ستون که میشه id و point