PDA

View Full Version : دریافت اخبار در اندروید



nimaiji
یک شنبه 25 آبان 1393, 21:42 عصر
سلام دوستان
میخواستم بدونم چطوری میتونم از طریق rss از سایت های مختلف خبر دریافت کنه نرم افزارم ؟
مرسی

dalmif
یک شنبه 25 آبان 1393, 21:43 عصر
شما می تونید به راحتی از Json استفاده کنید

nimaiji
یک شنبه 25 آبان 1393, 21:48 عصر
میتونید لطفا بگین چه سایت های ایرانی ایی از json پشتیبانی می کنند ؟
و برای دریافت کد json از آدرس سایت معمولا چیکار میکنن ؟

dalmif
یک شنبه 25 آبان 1393, 22:30 عصر
شما می تونید تایپیکی که لینکش رو در زیر گذاشتم رو مطالعه کنید.
باید شما حتما با هماهنگی سایتی که می خواهید اخبار رو بگیرید این کار را بکنید.
یعنی اون طرف خبر ها رو از توی دیتابیس میگیره و در یک لیست میریزه و شما هم اون لیست رو از آدرسی که اون سایت به شما میده می گیرید و اون رو به هر جور می تونید در نرم افزارتون استفاده کنید.
البته باز هم نظر اساتید محترمه .
اینم لینک تایپیک:

pbm_soy
سه شنبه 27 آبان 1393, 03:39 صبح
حتما نیازی نیست که داده ها و اخبار سایتها با فرمت Json باشه!

بیشتر سایتهای خبری سرویس RSS دارند یعنی اخبارشان را بصورت RSS در اختیار RSS Reader ها میگذارند!
RSS صرفا یک فایل متنی ساده است که در آن معمولا عنوان و لینک موضوع موردنظر بصورت XML وجود دارد و شما میتوانید لینک این فایل RSS را به یک نرم افزار RSS Reader و یا وب سایتهای RSS Reader مثل گوگل بدید تا آنرا نمایش بده (مثلا میاد تمام عناوین خبرها را نمایش میدهد و با کلیک بری آن متن خبر را بصورت کامل از لینک موجود در فایل RSS واکشی کرده و نمایش میدهد)

برای فهم بهتر پیشنهاد میدم لین یک فایل RSS را AddressBar وب بروزرتون بزنید و ببینید چی میده؟! (البته درصورت نصب بودن پلاگین RSS Reader خروجی متفاوت خواهید گرفت) بیشتر بروزرها RSS را جدیدا تفسیر میکنند! درهرصورت اگر RSS تفسیر شده برای شما نشان داده شد میتوانید سورس صفحه را ببینید اینجوری ساختار فایل XML آنرا خواهید دید و شما در برنامه خودتون این محتوای XML را دریافت خواهید کرد وحالا این فایل XML باید تفسیر کنید و عناوین اخبار را در یک لیست نمایش بدید و با کلیک روی هرکدوم لینک متناظر آنرا بازکنید

pbm_soy
سه شنبه 27 آبان 1393, 03:42 صبح
در برنامه اتون میتونید با فایل RSS دقیقا مانند وب سرویس برخورد کنید و آنرا از سایت مورد نظر لود کنید (بخش اصلی از کد برای اینکار را میذارم) و بخش مشکل کارتون (بنظرم) تفسیر فایل XML است


String status="";
HttpURLConnection urlConnection = null;

try {
URL url = new URL("لینک RSS");
urlConnection = (HttpURLConnection) url.openConnection();
int responseCode = urlConnection.getResponseCode();

if (responseCode == HttpURLConnection.HTTP_OK)
{
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())) ;
if (in != null) {
StringBuilder strBuilder = new StringBuilder();
int ch = 0;
while ((ch = in.read()) != -1)
strBuilder.append((char) ch);

// get returned message and show it
String response = strBuilder.toString();

status = response;
}

in.close();
}//responseCode == 200 --> HTTP_OK
}
catch(MalformedURLException e){
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}

status مقدار خوانده شده در این متغیر قرار دارد

mrtzxxx
سه شنبه 27 آبان 1393, 18:04 عصر
واسه تفسیر فایل xml کسی نمونه کدی داره کمک کنه؟؟!