این کتابخانه از طریق سایت jdom.org قابل دانلود است. وقتی دانلود میکنیم، کتابخونه اصلی فایل زیر هست:
گفتیم convertView ویویی هست که هر سطر نشون میده. توی روش قبل، هر بار ویجت های هر سطر (یعنی همین convertView) رو بیرون میکشیدیم و مقادیرشون رو با شی فعلی ست میکردیم.
توی روش بهبود یافته باید کلاس ViewHolder رو به صورت زیر بسازیم:
پراپرتی های کلاس ViewHolder معادل جاوایی ویجت های موجود در هر سطر لیست هست.
برای نمایش لیستی از اطلاعات از ListView استفاده میشه که خیلی پرکاربرده.
اول باید کلاس Model رو بسازیم. کلاس مدل همون چیزیه که قراره توی هر سطر از لیست نمایش داده بشه. اینجا من کلاس Flower رو برای مدل در نظر گرفتم. در ادامه لیست رو ایجاد میکنیم.
فرض میکنیم یک فایل XML شامل مشخصات چندین گل داریم که میخواهیم با استفاده از XMLPullParser آن را پارس کنیم.
ایده این روش اینجوریه که به محض رسیدن به هر تگ بهمون یک Event میده. کلا پنج نوع Event داریم:
Start_DOCUMENT
شروع تگ روت (تگ اصلی)
START_TAG
شروع تگ
TEXT
متن تگ
END_TAG
پایان تگ
END_DOCUMENT
پایان تگ روت (تگ اصلی)
تا قبل از اینکه به تگ END_DOCUMENT برسیم باید عملیات پارس رو انجام بدیم. در نتیجه این شرط توی وایل نوشته میشه.
تا حالا از خودتون پرسیدید که:
چگونه می توانیم یک سایت با Performance بالا بسازیم؟
چگونه یه سایت را میتوان برای پلتفرم های مختلف گسترش داد؟
یا اینکه یک وبسایت چگونه میتواند با زبان های برنامه نویسی مختلف تعامل داشته باشد؟
پاسخ این است که شما باید یک API ایجاد کنید.
در اینجا با استفاده از متد GET یک درخواست را به سروری که میخواهیم از آن فایل دانلود کنیم، می بایست ارسال شود.
مراحل استفاده از کتابخانه HttpURLConnection:
اول در مورد پروتکل HTTP توضیح میدم.
ما اگر درخواستی برای سرور داریم باید اونو در قالب Http به سمت سرور بفرستیم. یعنی Http پروتکلی هست که میشه توسط اون در بستر وب به نقل و انتقال دیتا پرداخت. برای اجرا شدن این پروتکل نیاز به کلاینت (مرورگر) و سرور داریم.
پیام هایی از جنس Http حاوی دو بخش هستند. Body و Header. دیتای اصلی که قراره ارسال شه در قسمت Body قرار میگیره و در قسمت هدر یک سری متادیتا (مثلا انکدینگ) قرار میگیره که تعیین میکنه دیتای اصلی چجوری باید هندل شه.
وب سرویس:
وب سرویس روشی برای ایجاد ارتباط بین دو ماشین بر بستر وب (شبکه) است.
یک وب سرور منتظر درخواست از سمت کلاینت است. وقتی این درخواست میاد، وب سرویس ریسورس مورد نظر رو در جواب میفرسته. این ریسورس میتونه JSON، XML، HTML یا فایل های صدا و تصویر و ... باشه.
در وب سرویس درخواست ها باید بر بستر اینترنت (شبکه) باشه.
وب سرویس:
به شکل ساده یک وب سرویس از طریق وب اعمالی را انجام می دهد (توابع یا سابروتین ها ) و نتایج را به برنامه دیگری می فرستد.
این یعنی برنامه ای در یک کامپیوتر در حال اجراست ، اطلاعاتی را به کامپیوتری می فرستد و از آن درخواست جواب می کند ، برنامه ای که در آن کامپیوتر دوم است کارهای خواسته شده را انجام می دهد و نتیجه را بر روی ساختارهای اینترنتی به برنامه اول بر می گرداند.
وب سرویس ها می توانند از پروتکول های زیادی در اینترنت استفاده کنند اما بیشتر از HTTP که مهم ترین آنهاست استفاده می شود.
وب سرویس Rest
در سیستمهایی که بر اساس مفهوم REST طراحی شده اند,همه چیز به صورت منابع در نظر گرفته می شوند که این منابع با URIها مشخص میشوند.البته این URIها لزوما ثابت نیستند و به آدرس فیزیکی یک منبع واقعی اشاره نمیکنند، بلکه انتزاعی هستند کهREST استفاده میکند.
Rest یک نوع API است اما همه APIها از نوع Rest نیستند.
API یک واژه عام هست و در حالت کلی به نحوه ارتباط یک قسمت از کد با قسمت دیگر گفته میشود.
REST یک معماری نرم افزار است و وب سرویس هایی که از تمامی قوانین این معماری استفاده میکنند RESTful نامیده میشوند.
REST یک سری قوانین هست که میگه چجوری از urlها و پروتکل های http استفاده کنیم تا یک API بسازیم. REST در مورد فرمت خروجی فورسی نداره ولی معمولا خروجی JSON هست.
در حقیقت API به اپلیکیشن ها اجازه میدهد با یکدیگر گفتوگو کنند.
API های دیگه هم هستن که توی خروجی مثلا XML یا باینری میفرستن.
وب سرویس یک نوع API است.
وب سرویس یک API بر بستر وب است.