ورود

View Full Version : چند سوال مبتدی در برنامه نویسی اندروید!



sefroyek68
چهارشنبه 13 مرداد 1395, 10:30 صبح
سلام دوستان من توی زمینه برنامه نویسی اندورید مبتدی هستم و نیاز به راهنمایی شما دارم!

من دارم برنامه ای مینویسم که از فید سایتم اطلاعات و اخبار رو میخونه و در دیتابیسم ذخیره میکنه !
حالا چند تا سوال دارم !
۱. در صفحه دسته بندی یک خبر مثلا اقتصادی چطور میتونم برای لیست ویو خودم صفحه بندی با pagination ایجاد کنم! ابهامی که اینجا برام وجود داره اینه که آیا باید select برای کل دست ها با این دسته بندی باشه ؟ این باعث کندی نمیشه؟ پلاگینی چیزی برای این قضیه وجود داره و اصولا راه متداولش چیه؟

۲.وقتی متن یک خبر رو میخونیم از طریق فید جز تصویری شاخصش یه سری عکس هم داخل متن وجود داره این عکس های داخل متنها رو چطور موقع نمایش در textview نمایش بدم ! آموزش های که توی همین سایت کلیدستان وجود داشت شامل این مشکل من نمیشد!

۳.وقتی یک خبر جدید میاد سیستم یک نوتیفیکشن جدید به کاربر میده و وقتی روی اون نوتیفیشکن کلیک میکنیم باید بریم توی خبر . خوب من همراه با intent که میسازم id پست رو هم میفرستم و اینطوری میره داخل هم پست ! ولی وقتی چند تا نوتیفیکشن با هم میاد مثلا ۵ تا دیگه برنامه درست کار نمیکنه و روی هر کدوم از این نوتیفکشن ها tap کنیم میره داخل خبر آخری که اومده ! دلیل چیه؟

۴.نرم افزار من توسط یک service که خودم نوشتم هر 20 ثانیه یک صفحه rss میخونه و تحلیل میکنه آیا این میزان زمان کم در گوشب های مختلف و اینترنت های مختلف باعث کندی موبایل کاربر نمیشه ؟ زمان متدوالش چقدره؟

ممنون میشم یه هر مقدار که تجریه دارید تو زمینه برنامه نویسی اندروید به این سوالات پاسخ بدید!:قلب:

tux-world
چهارشنبه 13 مرداد 1395, 11:15 صبح
سلام
۱- برای لیست ویو و یا ریسایکلر ویو ما چیزی به اسم صفحه بندی نداریم. بهتره شما از طبقه بندی یا مجموعه بندی برای این کار استفاده کنید. بعد باز شدن اگه به انتهای اسکرول گوش بدید میتونید داده های دیگه ای رو از سایت لود کنید و زیرش نمایش بدید

۲- برای اینکار شما مجبورید که کد html ای که میخونید یا هر نوع داده ای متنی که براتون ارسال میشه رو تحلیل کنید. یه سری design pattern هایی برای این کار هستش که شما میتونید تگ های عکس رو از داخل محتوا بردارید و یا حتی لینکها رو ز دخل متن استخراج کنید. اون وقت اگه آرایه بسازید میتونید داخل textview بزارید که البته باید اون رو هم یه لای اوت فرزند بسازید بهش ادد کنید و اون رو هم به ویو ادد کنید

۳- این مشکل رو نمیشه دقیق جواب داد چون باید دیباگش بکنید ببینید که واقعا آی دی تکراری هستن یا نه. به احتمال زیاد هم اینطوری باشه. داده های یکسانی برای اون اینتنت یا نوتیفیکیش دارید میسازید

۴- چرا اشکال نداره؟؟ شما دارید حجم وسیعی رو اون هم هر ۲۰ ثانیه دانلود میکنید. بعد یک ساعت این حجم شاید به چند صد مگ برسه و حجم اینترنت اون کاربر رو شما تموم کنید بهتره به جای وصل به سرور و تحلیل شاید خیلی وقتها بیهوده اون راه دیگه ای رو انتخاب کنید. مثلا یه آلارم منیجری بزارید وسط راه هر موقع که وصل شد سرور بهش بگه که فید جدید هست یا نه. آپدیتی هست یا نه. اگه اومده آی دی یا هر چیز جدید رو پاس بده شما بگیرید.
راههای زیادی هم هستش نمیدونم کودوم به کار شما میاد

موفق باشید

sefroyek68
چهارشنبه 13 مرداد 1395, 12:11 عصر
سلام
۱- برای لیست ویو و یا ریسایکلر ویو ما چیزی به اسم صفحه بندی نداریم. بهتره شما از طبقه بندی یا مجموعه بندی برای این کار استفاده کنید. بعد باز شدن اگه به انتهای اسکرول گوش بدید میتونید داده های دیگه ای رو از سایت لود کنید و زیرش نمایش بدید

۲- برای اینکار شما مجبورید که کد html ای که میخونید یا هر نوع داده ای متنی که براتون ارسال میشه رو تحلیل کنید. یه سری design pattern هایی برای این کار هستش که شما میتونید تگ های عکس رو از داخل محتوا بردارید و یا حتی لینکها رو ز دخل متن استخراج کنید. اون وقت اگه آرایه بسازید میتونید داخل textview بزارید که البته باید اون رو هم یه لای اوت فرزند بسازید بهش ادد کنید و اون رو هم به ویو ادد کنید

۳- این مشکل رو نمیشه دقیق جواب داد چون باید دیباگش بکنید ببینید که واقعا آی دی تکراری هستن یا نه. به احتمال زیاد هم اینطوری باشه. داده های یکسانی برای اون اینتنت یا نوتیفیکیش دارید میسازید

۴- چرا اشکال نداره؟؟ شما دارید حجم وسیعی رو اون هم هر ۲۰ ثانیه دانلود میکنید. بعد یک ساعت این حجم شاید به چند صد مگ برسه و حجم اینترنت اون کاربر رو شما تموم کنید بهتره به جای وصل به سرور و تحلیل شاید خیلی وقتها بیهوده اون راه دیگه ای رو انتخاب کنید. مثلا یه آلارم منیجری بزارید وسط راه هر موقع که وصل شد سرور بهش بگه که فید جدید هست یا نه. آپدیتی هست یا نه. اگه اومده آی دی یا هر چیز جدید رو پاس بده شما بگیرید.
راههای زیادی هم هستش نمیدونم کودوم به کار شما میاد

موفق باشید
1. این طبقه بندی برام مبهمه ! دقیقا یعنی چی؟ منظورتون اینه که مثلا limit کویری خودم رو بذارم رو ۱۰ بعد که به انتهای اسکرول رسید مثل اسکرولرهای نامتناهی یه کویری جدید و از ۱۰ تای بعدی بزنم؟ راه سریع الوصل تری وجود نداره مثل پلاگینی چیزی؟
مثل این: https://android-arsenal.com/details/1/2797

۲. دیزاین پترنی سراغ دارید برای شروع ازش استفاده کنم؟

۳. خوب بقیه نرم افزار ها دارن از چه روشی استفاده میکنند؟ مثلا آپ آخرین خبر که همزمان چند نوتیفکشن براش میاد و با زدن رو هر نوتیفیکشن روی خبری که زده شده میره از چه روشی استفاده میکنه! نمونه کدی پیدا نکردم تو نت ! چیزی سراغ دارید؟

۴. احتمالا باید یک فید اختصاصی بسازم که حجمش کمتر از فید اصلی سایت بشه ! البته فکر کنم اگر از اول روی json کار میکردم بهتر بود!
۴.۱ اگر بخوام تغییر روش بدم و از json استفاده کنم برای خوندن اطلاعات json بهتره خودم کلاس بنویسم یا از کتابخانه های volly و.. استفاده کنم؟ یاتوجه به اینکه اطلاعات رو هم در دیتابیس دخیره میکنم! و بعد از دیتابیس میخونم!

۵. ممنون از وقتی که گذاشتید!:قلب:

tux-world
چهارشنبه 13 مرداد 1395, 13:15 عصر
سلام. خوب برای مورد اول همونطوری که گفتم. اون کتابخونه اومده پیاده سازی کرده اون چیزی که گفتم رو. ازش استفاده نکردم باید تست کنم خودم.
۲- یه سری آموزشها هست با نمونه کد که میتونید عکس و لینک رو از داخل متن استخراج کنید. الان دسترسی ندارم بیشتر کمک کنم.
۳-اول کدتون رو چک کنید ببینید اشکال کارتون کجاست. به احتمال قوی حل میشه
۴- از retrofit استفاده کن