دریافت اطلاعات از rss
#1
سلام 
من میخوام وقتی فرد بر روی آبجکت کلیک کرد
اطلاعات یک سایت از طریق rss دریافت بشه و نمایش داده بشه
چگونه این کار را انجام بدم؟
مثل اپلیکیشن "مدرسه تعطیل"
با تشکر
از دانش خود ، همیشه بهینه استفاده کنید !
  پاسخ


 سپاس شده توسط:
#2
سلام 
اموزشش هست که سازنده برنامه گذاشتن . ببینید . اتفاقا در قسمت اولش درین مورد توضیح داده . 
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط: ARKEYA
#3
(1399/5/27، 11:01 عصر)ARKEYA.__.JAFARI نوشته است: سلام 
من میخوام وقتی فرد بر روی آبجکت کلیک کرد
اطلاعات یک سایت از طریق rss دریافت بشه و نمایش داده بشه
چگونه این کار را انجام بدم؟
مثل اپلیکیشن "مدرسه تعطیل"
با تشکر
سلام؛
همونطور که چند روز پیش به یکی از دوستان دیگه توضیح دادم شما دو راه دارین.
راه اول اینه که از یک زبان سمت سرور مثل PHP استفاده کنین و RSS سایت های خبری منتخب داخلی رو انتخاب کنین و بعد به کمک برنامه سمت سرور اونا رو طبقه بندی و تفسیر (Parse) کنین.
راه دوم که نیاز خاصی به برنامه سمت سرور نداره استفاده از شیء XML کانستراکت هست چرا که خروجی RSS ها به صورت XML هست.
به هر حال چند قسمت منتشر شده از آموزش رضای عزیز هم میتونه راه گشا باشه.
موفق باشین.
غایب
  پاسخ


 سپاس شده توسط: ARKEYA
#4
برای اینکه درگیر برنامه نویسی سمت سرور نشی من یک سورس با شیء XML کانستراکت ساختم. 
توی این سورس RSS اخبار کل سایت باشگاه خبرنگاران جوان (YJC) رو دریافت میکنی، اطلاعاتش رو تفسیر (Parse) میکنی و عنوان و یک توضیح خیلی مختصر از خبر رو در خروجی چاپ میکنی. 
[تصویر:  4j5OHv.png]
خُب کل پروسه با سه تا ایونت و اشیاء تکست باکس، اِی جَکس (AJAX) و XML انجام میشه. البته دقت کن که نوع (Type) این تکست باکس Textarea هست.
در ایونت اول گفتیم که با شروع لایوت یک ریکوئست به لینک RSS سایت باشگاه خبرنگاران جوان ارسال بشه و اسم تگش رو get-rss گذاشتیم. 
در ایونت دوم گفتیم زمانی که نتیجه ریکوئستمون با تگ get-rss با موفقیت برگشت داده شد محتویات XML دریافت شده ( AJAX.LASTDATA ) رو در شیء XML لود کن. 
اما میرسیم به قسمت اصلی ماجرا. ایونت سوم در واقع ایونتی هست که اخبار رو در خروجی برای ما چاپ میکنه. اجازه بده قبل از اینکه این ایونت رو باز کنم با قالب XML که برگشت داده میشه آشنا بشیم. فرض کن چنین قالبی به ما برگشت داده میشه:
کد:
<rss version="2.0">
<script id="custom-useragent-string"/>
<channel>
<title>خبرگزاری باشگاه خبرنگاران | آخرین اخبار ایران و جهان | YJC</title>
<link>[url=https://www.yjc.ir]https://www.yjc.ir[/url]</link>
<description>[url=http://www.Yjc.ir]http://www.Yjc.ir[/url]</description>
<managingEditor>[email protected]</managingEditor>
<webMaster>[email protected]</webMaster>
<lastBuildDate>Tue, 18 Aug 2020 12:15:11 +0430</lastBuildDate>
<generator>SepehrFeed V1.2</generator>
<item>
<title>بهره برداری از ۹۶ طرح هفته دولت در مازندران</title>
<link>[url=https://www.yjc.ir/fa/news/7462155/بهره-برداری-از-۹۶-طرح-هفته-دولت-در-مازندران]https://www.yjc.ir/fa/news/7462155/بهره-برداری-از-۹۶-طرح-هفته-دولت-در-مازندران[/url]</link>
<description>۹۶ طرح تولیدی و اقتصادی با ۲۷۶ میلیارد تومان سرمایه گذاری هفته دولت امسال در مازندران بهره برداری می‌شود.</description>
<author>[email protected]</author>
<pubDate>18 Aug 2020 12:14:55 +0430</pubDate>
</item>
<item>
<title>۴ هکتار از اراضی ملی در روستای بیطاس رفع تصرف شد</title>
<link>[url=https://www.yjc.ir/fa/news/7462154/۴-هکتار-از-اراضی-ملی-در-روستای-بیطاس-رفع-تصرف-شد]https://www.yjc.ir/fa/news/7462154/۴-هکتار-از-اراضی-ملی-در-روستای-بیطاس-رفع-تصرف-شد[/url]</link>
<description>رئیس منابع طبیعی و آبخیزداری مهاباد از خلع ید و باز پس گیری ۴ هکتار از اراضی ملی در این شهرستان خبر داد.</description>
<author>[email protected]</author>
<enclosure url="https://cdn.yjc.ir/files/fa/news/1399/5/28/12424458_263.jpg" type="image/jpeg" length="5366"/>
<pubDate>18 Aug 2020 12:14:32 +0430</pubDate>
</item>
</channel>
</rss>
کاملاً مشخصه که هر نود اصلی item در اصل بیانگر یک خبر هست. حالا هر نود آیتم خودش شش تا نود دیگه داره. عنوان خبر در نود title و توضیح مختصری که ما به دنبالش هستیم در نود description قرار گرفته. 
برگردیم سر ایونت نویسی مون. در ایونت سوم (آخر) به کمک کاندیشن For Each Node یک حلقه ایجاد کردم تا تک تک نودها رو بررسی کنم. اکشن Set Text To شیء تکست باکس رو انتخاب میکنم و بعد چنین شرطی در اون تعریف میکنم:
کد:
loopindex = 0 ? "n"&loopindex+1&":"&XML.StringValue("title")&newline&"n-des"&loopindex+1& ":"&XML.StringValue("description") & newline : loopindex > 0 ? Self.Text &"n"&loopindex+1&":"&XML.StringValue("title")&newline &"n-des"&loopindex+1& ":"&XML.StringValue("description") & newline : ""
شاید در نگاه اول متوجه نشی که داستان از چه قراره اما اتفاقی که میفته خیلی ساده است. ما در اینجا دو شرط تعریف کردیم. در شرط اول گفتیم اگر حلقه در اولین فاز (مرحله) قرار داشت (شمارش مرحله حلقه از صفر شروع میشه در اینجا) خبر و توضیح مختصرش رو نمایش بده. حالا چه زمانی حلقه در اولین فاز یا مرحله قرار نداره؟ مسلماً زمانی که loopindex بزرگتر از صفر بشه. خُب زمانی که حلقه اولین فاز (مرحله) خودش رو سپری کرده باشه و در دیگر مراحل به سر ببره باید اون متونی که در مراحل قبلی حلقه به تکست باکس اضافه شدن هم حفظ بشن چرا که در غیر اینصورت نمیتونیم تک تک اخبار رو در خروجی نمایش بدیم. برای همین از اکسپرشن Self.Text استفاده کردیم که معنیش اینه هر چی که بوده رو نگه دار و در ادامه قبلی ها نتایج (متون) جدید رو اضافه کن.
همه این تلاش ها به چنین خروجی ختم میشه:
کد:
n1:اعتبارات مدرسه‌سازی در سیستان و بلوچستان به  بیش از ۷۰۰ میلیارد تومان رسید
n-des1:موهبتی گفت: سال گذشته ۴۳۰ میلیارد تومان اعتبار در حوزه مدرسه سازی به این استان اختصاص یافت که امسال این رقم با عنایت مسوولان به بیش‌از ۷۰۰ میلیارد تومان در بودجه دولتی رسیده است.
n2:ترابیان: فقط مهدی تاج مسئول قرارداد با ویلموتس نیست
n-des2:سرپرست سابق تیم ملی درباره حواشی قرارداد فدراسیون فوتبال با مارک ویلموتس توضیحاتی را بیان کرد.
n3:نقشه راه اقتصادی کشور برای سال هشتم فعالیت دولت، در هفته دولت اعلام می‌شود
n-des3:رئیس جمهور از تدوین سند راهبردی «نقشه راه اقتصادی کشور» برای سال هشتم فعالیت دولت خبر داد که در هفته دولت اعلام خواهد شد.
n4:چراغ اولین کارخانه تولید بنر کشور در البرز روشن شد
n-des4:اولین کارخانه تولید بنر کشور در شهرک صنعتی اشتهارد به بهره برداری رسید.
هر خبر با حرف و یک عدد و توضیح همون خبر هم با کلیدواژه n-des و عدد مربوط به اون خبر در خروجی چاپ میشه.
سورس رو هم میتونی از اینجا دانلود کنی.
موفق باشی.
غایب
  پاسخ


 سپاس شده توسط: ARKEYA ، amin hosseini ، M.gh ، محمد 82 ، ᔕinaᗪehghani
#5
سلام
هر چند راه دوستان جالب بود
اما خب قطعا انجام و یادگیری این راه حل بسیار سخت و غیر قابل استفاده است
چرا؟
چون بر فرض شما سورس رو گم کردید
در این صورت صد در صد انجام مجدد همه این مراحل بدون دسترسی مجدد به سورس یا آموزش غیر ممکن خواهد بود
پیشنهاد من اینه که تمامی این بررسی ها رو به سمت سرور انتقال بدیم تا هم تعداد ایونت هامون بالاتر نره هم اینکه از روش ایونت نویسی تمیز استفاده کرده باشیم
نمیخوام ارجاء تون بدم به آموزش خودم اما پیشنهاد میکنم آموزش های تبدیل rss به json رو یاد بگیرید
  پاسخ


 سپاس شده توسط: ARKEYA ، Master Badfar ، ᔕinaᗪehghani


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 177 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: