بســم الله الـرحمــن الرحيــم
مشروع جماعي : الدرس الاول
HttpConnection
من المتطلبات الرئيسية في مشروعنا هي طريقة الاتصال بموقع arabteam لسحب ملفات ال RSS (Really Simple Syndication)
يتم التعامل مع السيرفر او الموقع بالطريقة التقليدية ببعث طلب Request و بعدها يقوم الموقع بالرد .
(في ال MIDP انت تتعامل مع GCF(Generic Connection framework)a )
الخطوة الاولى :
import javax.microedition.io.*;
الخطوة الثانية :
private HttpConnection hc;
الان لدينا الكائن hc من نوع HttpConnection
اقتباسيفضل استخدام الThread في برامج الشبك مع الانترنت
الخطوة الثالثة:
الان سوف نقوم بالربط مع الموقع لا اكثر
hc =(HttpConnection) Connector.open("");لاحظ التالي :
Connector.open(String URL);
الميثود open تستقبل نص (URL)
حيث صيغة ال URL تكون كالتالي :
URL-like format: {protocol}:[{target}][{params}]1- البروتوكول :-
يحدد البرتوكول نوع الاتصال المصنوع ، حيث يوجد انواع عدة له مثل :
file, socket, comm, datagram and http
اقتباسfile: حيث يحدد ان الاتصال سوف يستخدم ل I/O لملف.comm: حيث يحدد ان الاتصال سوف يتم عن طريق serial port .
http: يحدد ان الاتصال سوف يستخدم للوصول الى خدمات الانترنت .
2- الهدف : عبارة عن الموقع او الطريق المستهدف .
3- البارامترات : خصائص معينة تبعا للبروتوكول المستخد مثل رقم البورت في حالة socket .
الان لدينا اتصال بالموقع او المخدم و لكن لم تتم قرأة اي شيء منه .
الخطوة الرابعة:
سوف نقوم بقرأة الموقع الذي تم الارتباط به ، وذلك عن طريق استخدام InputStream كالتالي :-
InputStream in = hc.openInputStream();
الخطوة الخامسة:
القرأة من ال InputStream
هنالك عدة طرق للقرأة منه
1- in.read() int 2- in.read(byte[] b) int 3- in.read(byte[] b,int off,int len) int
في الطريقة رقم 1 : يتم قرأة byte واحد في كل مرة و ارجاع القيمة ك int و تكون القيمة -1 اذا لم يتبقى اي شيء للقرأة منه .
في الطريقة رقم 2 : يتم القرأة حسب طول المصفوفة b و يتم التخزين فيها ايضا .
في الطريقة رقم 3 : يتم القرأة حسب قيمة len و يتم التخزين في المصفوفة b بدأ من الموقع off اي الازاحة .
في الاغلب رقم 1 تستخدم لقرأة التصوص و الاحرف و رقم 2،3 لقرأة الصور و الملفات .
و التالي توضيح لقرأة الموقع كنص :
int chr;
StringBuffer buffer=new StringBuffer();
while((chr=in.read())!=-1){
buffer.append((char)chr);
}
System.out.println(buffer.toSting());الخطوة السادسة :
و الان بعد الانتهاء من الغاية نقوم باغلاق الارتباطات و المنافذ :
in.close(); hc.close();
و الصلاة و السلام على سيدنا محمد


