ÇåáÇ Èßã Ýí ÏÑÓäÇ ÇáËÇäí¡ Ýí ÏæÑå ÊÚáã ÈÑãÌå ÊØÈíÞÇÊ ÇáÇäÏÑæíÏ.
Óíßæä åÐÇ ÇáÏÑÓ ÚÈÇÑå Úä ÔÑÍ æÊæÖíÍ áÈäíå ÇáÈÑäÇãÌ æããÇ íÊßæä æßíÝ íÊã ÑÈØ ÇÌÒÇÆå ãÚÇ
** íãßä Çä äÞÓã ãßæäÇÊ ÇáÈÑÇãÌ ÇáåæÇÊÝ ÇáÐßíå Çáì ËáÇË ÇÞÓÇã:
1- ÇáæÇÌåÇÊ ÇáãÑÆíå æÊÓãì Graphical User Interface æíÑãÒ áåÇ GUI æåí ÇáÇÒÑÇÑ æãÑÈÚÇÊ ÇÏÎÇá ÇáäÕ æÇáÞæÇÆã ÇáãäÓÏáå æãÇ Çáí Ðáß...
2- ÇáßæÏ ÇáÈÑãÌí¡ æåí ØÑíÞå ÇáÊÍßã ÈåÐå ÇáæÇÌåÇÊ æÇáÚäÇÕÑ æÊØÈíÞ ÇáãäØÞ ÇáÐí äÑÛÈ Èå áíÄÏí ÇáÈÑäÇãÌ ÛÑÖå¡ ããßä Çä äÞæá Çä ÇáæÇÌåÇÊ åí ÓíÇÑå æÇä ÇáßæÏ ÇáÈÑãÌí åæ ÇáÔÎÕ ÇáÐí íÞæÏ ÇáÓíÇÑå æíÊÍßã ÈåÇ.
ãËáÇ áæ ÇÑÏäÇ Úãá ÈÑäÇãÌ íÌãÚ ÑÞãíä:Óíßæä áÏíäÇ ãÑÈÚíä äÕ æ ÒÑ¡ åÐå åí ÇáæÇÌåå. Ëã ÇáßæÏ ÇáÈÑãÌí åæ ÇáÐí ÓíÞæã ÈÇáÚãá ... íÃÎÐ ÇáÑÞã ÇáÇæá æíÌãÚå ááÑÞã ÇáËÇäí æíÙåÑ ÇáäÊíÌå ááãÓÊÎÏã. ßá åÐÇ íÍÏË ÚäÏãÇ íÖÛØ ÇáãÓÊÎÏã ÇáÒÑ.
3- ÇáãÕÇÏÑ ÇáÎÇÑÌíå Çæ ãÇ íÓãì resources æåí Çí ÔíÁ ÎÇÑÌí ÊÓÊÚãáå Ýí ÈÑäÇãÌß... ãËá ÇáÕæÑ¡ ãáÝÇÊ ÕæÊíå¡ ãáÝ ÎØ ãËáÇ Çæ ãáÝ ãßÊÈå jar æåÐå ãÚÑæÝå ÈÇáÌÇÝÇ æåí ãÇ íÞÇÈá ãáÝ dll ÈÈÑãÌíÇÊ ÇáæíäÏæÒ ãËáÇ Çá VB Ýíãßä Çä ÊÓÊÚãá ãáÝ jar Èå æÙíÝå ãÚíäå ÈÏæä Çä ÊÖØÑ áÇÚÇÏå ÇáÚãá.
ÇáÇä ÎØæÇÊ Úãá ÇáÈÑäÇãÌ áíÓÊ ÇÌÈÇÑíå áßä ÈÑÃíí ÇáÔÎÕí ÇÝÖá ÔíÁ åæ ÊÕãíã ÇáæÇÌåå GUI Ëã ßÊÇÈå ÇáßæÏ ÇáÎÇÕ ÈåÇ¡ ÝÃäÊ áÇ ÊÔÊÑí ÇËÇË áÈíÊ ÛíÑ ãÈäí ÇÕáÇ... ÝÚäÏ ÊÕãíã ÇáÔÇÔå ÊÊÖÍ áß ÇÕæÑå æãÇÐÇ ÓÊßæä ÇáæÙÇÆÝ ÇáãØáæÈå æÊÈÏà ÈÇáÈÑãÌå.
æÇáãåã ÞÈá ÊÕãíã ÇáÔÇÔå Çä ÊÚÑÝ ÇáæÙÇÆÝ ÇáãØáæÈå ãä ÇáÈÑäÇãÌ æÊÍáá ÇáäÙÇã ÈÑÃÓß Çæ Úáì æÑÞ ßãÇ ÊÍÈ æÊÍÏÏ ßá æÙíÝå Çæ ãÌãæÚå æÙÇÆÝ ÞÏ Êßæä ÈÔÇÔå æÇÍÏå¡ æåßÐÇ ... ÝÇáÈÑäÇãÌ ÇáãÕãã ÈÔßá ÓáÓ ææÇÌåÇÊå æÇÖÍå æÛíÑ ãÒÏÍãå íÚÊÈÑ ãÝÖáÇ áÏì ÇáãÓÊÎÏãíä¡ ÝáÇ ÏÇÚí áÍÔÑ ßá ÇáæÙÇÆÝ ÈÔÇÔå æÇÍÏå.
ãä ÎáÇá ÈíÆå ÇáÚãá ÇíßáíÈÓ æÈÝÖá Çá ADT ÇáÐí ÊÍÏËÊ Úäå¡ Úãáíå ÊÕãíã Çá GUI Óåáå Çä ÔÇÁ Çááå¡ æßÐáß ßÊÇÈå ÇáßæÏ ÇáÎÇÕ ÈåÇ¡ ßãÇ ÞáÊ ßá åÐÇ íÊã ãä ÎáÇá ÈÑäÇãÌ æÇÍÏ ÇáÇíßáíÈÓ.
äÃÊí ááÞÓã ÇáÇæá: GUI
ÇáæÇÌåÇÊ ÈÈÑÇãÌ ÇáÇäÏÑæíÏ íÊã ÊÕãíãåÇ ÈãáÝ XML
æáãä áÇ íÚÑÝ ÇáÜ XML åæ áíÓ áÛå ÈÑãÌå Èá íÓãì data structure Çí Èäíå ÈíÇäÇÊ æØÑíÞå áÊãËíá ÈíÇäÇÊ ãÚíäå ÈØÑíÞå ãÍßæãå æåÐÇ ãËÇá ÈÓíØ Úáíå:
** ãËáÇ äÑíÏ ÊãËíá ÞÇÆãå ãä ÇáÇÔÎÇÕ áßá æÇÍÏ ÇÓã¡ ÈÑíÏ ÇáßÊÑæäí æÚãÑ Óíßæä ãáÝ Çá XML ßãÇ íáí
ßæÏ PHP:
<?xml version="1.0" encoding="UTF-8"?>
<myList>
<person>
<name>ahmad</name>
<email>[email protected]</email>
<age>25</age>
</person>
<person>
<name>khaled</name>
<email>[email protected]</email>
<age>18</age>
</person>
</myList>
æÊÓÊãÑ ÇáÞÇÆãå æíÓÊãÑ ÈäÇÁ ÇáãáÝ æíãßä ÇÖÇÝå Çí ÞÏÑ ÊÑíÏå ãä ÇáÇÓãÇÁ ÔÑØ Çä ÊáÊÒã ÈÇáÈäíå
æÇáÝßÑå áá XML åí Çäå áÇ íæÌÏ áå ÞæÇÚÏ Çæ ãÇ íÚÑÝ ÈáÛÇÊ ÇáÈÑãÌå ÈÇá syntax Çí Çäå áÇ íÌÈÑÌ Úáì ÇÎÊíÇÑ ßáãå ãÚíäå áßä áå ÞæÇÚÏ ÊáÊÒã ÈåÇ ÇËäÇÁ ÈäÇÁ ÇáãáÝ.
ÔÑÍ ÈÓíØ:
ßæÏ PHP:
<?xml version="1.0" encoding="UTF-8"?>
åí ÇáÊÑæíÓå Çæ header æåÐå áßí ÊÎÈÑ ÇááÛå Çæ ÇáäÙÇã ÇáÐí ÓíÞæã ÈÞÑÇÁå ÇáãáÝ Úä ãÚáæãÇÊ ãËá Çí ÇÕÏÇÑ xml äÓÊÚãá æãÇ åæÇáÊÑãíÒ encoding ÇáÐí äÓÊÚãáå áÇäå ÞÏ íÍæí ßáãÇÊ ÚÑÈíå Çæ Õíäíå æåßÐÇ
ßá ÇÔÇÑå <> ÊÓãì ÊÇÛ tag æÊÓãì ÈÇÓã Çæá ßáãå ÈåÇ
ãËáÇ ÊÇÛ ÇáÚãÑ age tag <age>
<myList> åí ÇáÚäÕÑ ÇáÑÆíÓí ÈÇáãáÝ root node
<person> åí ÇÈä Çæ child áÜ mylist
<name> ¡ <email> ¡ <age> åí ÚäÇÕÑ elements Çæ ÇÈäÇÁ áá person
ÇáÇä áÇ íæÌÏ ÞÇäæä Çæ ÞÇÚÏå ÊÌÈÑäí Úáì ÇäÊÞÇÁ åÐå ÇáßáãÇÊ ãËáÇ¡
ããßä ÇÓÊÚãá ÈÏá ãä <myList> Çä ÇÓÊÚãá <myFriendsList>
äáÇÍÙ æÌæÏ ÊÇÛ tag ãÔÇÈå ÈÇáÇÓã æáßäå íÍæí / åÐÇ íÓãì close tag Çæ ÊÇÛ ÇáÇÛáÇÞ
æåÐÇ ãä ÔÑæØ Çá xml íÌÈ Úáíß Çä ÊÛáÞ ßá ÇáÊÇÛÇÊ ÇáÊí ÊÝÊÍåÇ¡ æÇä ÊÍÇÝÙ Úáì ÊÑÊíÈ ÇáÝÊÍ æÇáÇÛáÇÞ
ãËáÇ
ßæÏ PHP:
<person>
<name>ahmad</name>
<email>ahmad@someemail.com</email>
<age>25</age>
</person>
áÇÍÙæ ãÚí ÊÑÊíÈ ÇáÝÊÍ æÇáÇÛáÇÞ¡ ÝÊÍ person æÈÏÇÎáå:
ÝÊÍ name æÞíãå áå Ëã ÇÛáÇÞ name
ÝÊÍ email æÞíãå áå Ëã ÇÛáÇÞ email
ÝÊÍ age æÞíãå áå Ëã ÇÛáÇÞ age
ÇÛáÇÞ person
áÇ íÌæÒ ãËáÇ Úãá åÐÇ
ßæÏ PHP:
<person>
<name>ahmad</person>
</name>
ÊÑÊíÈ ÇáÝÊÍ íÌÈ Çä íßæä ãØÇÈÞ ááÇÛáÇÞ æåÐÇ íÓãì nest Çæ nesting
íÚäí íÌÈ Çä íßæä Çá nesting ÕÍíÍ.
ÇáÇä íãßä Çä Êßæä ÇáÞíã ÈÏÇÎá ãÇ íÓãì attribute æáíÓ ÏÇÎá ÚäÇÕÑ elements ßãÇ Ýí ÇáãËÇá ÇáÓÇÈÞ
ÝÊÕÈÍ ãËáÇ:
ßæÏ PHP:
<myList>
<person name="ahmad" age="18" email="[email protected]"></person>
<person name="khaled" age="22" email="[email protected]"></person>
</myList>
åÐå ÇÝÖá ãä äÇÍíå ÇáÍÌã æßãíå ÇáßÊÇÈå¡ ÇÐÇ ßäÊ ÊÈäí ãáÝ Çá xml ÇáÎÇÕ Èß áß ÇáÍÑíå ÈÇáÇäÊÞÇÁ ÇãÇ ÇÐÇ ßäÊ ÊÈäí ãáÝ xml ÓíÊã ÇÓÊÚãÇáå ãä ÞÈá äÙÇã ÇÎÑ íÌÈ Çä ÊáÊÒã ÈÞæÇäíä åÐÇ ÇáäÙÇã.
ÔíÁ ÇÎÑ ããßä Çä íßæä ÊÇÛ ÇáÇÛáÇÞ ÚÈÇÑå Úä / ÈäåÇíå ÇáÊÇÛ ÇáÇæá ÈÏæä ÇÚÇÏå ßÊÇÈÊå¡ ãËÇá:
ßæÏ PHP:
<person name="ahmad" age="18" email="[email protected]"></person>
íÕÈÍ
<person name="ahmad" age="18" email="[email protected]" />
áÇÍÙæ ãÚí ÇÖÇÝå / ÝÞØ æÇáÇÓÊÛäÇÁ Úä </person> ßÇãáå. åÐÇ ÌÇÆÒ ÇíÖÇ.
ÇáÇä äÍä äÕãã ÔÇÔÇÊäÇ ááÇäÏÑæíÏ ÈåÐÇ ÇáÔßá ßá ÒÑ Çæ ãÑÈÚ äÕ Çæ ÕæÑå Çæ Çí ÚäÕÑ äÑíÏ ÇÓÊÎÏÇãå Ýí ÈÑäÇãÌäÇ ÓäßÊÈ áå ÊÇÛ ÈÇáãáÝ áíÊãßä ÇáäÙÇã ãä ÈäÇÁ æÇÌåÊÇ... áÇ ÊÞáÞæ áä äßÊÈ ÇáãáÝ ßÇãá ÝåäÇß ÇÏÇå ÏÇÎá ÈíÆå ÇáÚãá ÊÓåá Ðáß ÈÔßá ÈÓíØ ÓäÑÇåÇ Ýí ÇáãÓÊÞÈá Çä ÔÇÁ Çááå.
æíÃÊí ÇáÌÒÁ ÇáËÇäí æåæ ÇáÈÑãÌå¡ æíßæä ÈãáÝ ãÎÊáÝ Úä åÐÇ ÇáãáÝ¡ æíßæä ÈáÛå Çá Java áåÐÇ äÍÊÇÌ áÑÈØ ÇáÚäÇÕÑ ÇáãæÌæÏå Ýí ãáÝ ÇáÊÕãíã GUI ãÚ ÇáãáÝ ÇáÐí íÍæí ÇáßæÏ áßí ÊÓÊØíÚ ÇáÊÍßã ÈåÐå ÇáÚäÇÕÑ¡ æÇáßÊÇÈå ÈåÇ Çæ ÇÎÐ Þíãå ãäåÇ Çæ ÚÑÖ ÕæÑå ãÚíäå ÚáíåÇ æåßÐÇ...
åÐÇ ÇáÑÈØ íßæä ÈäÝÓ ãáÝ ÇáÈÑãÌå ãä ÎáÇá ßæÏ ãÚíä ÓäÊØÑÞ Çáíå Ýí æÞÊåÇ.
Ýí ÇáÇäÏÑæíÏ ßá ÔÇÔå ÈåÇ ÚäÇÕÑ ãËá ÇáÒÑ æÇáÞæÇÆã ÇáΡ ÊÓãì Activity Çæ äÔÇØ¡ áßä áÇ ÇÍÈÐ åÐå ÇáÊÑÌãå ããßä äÓÊÎÏã ßáãå ÝÚÇáíå ãËá ÇáÊí ÈÇáãåÑÌÇäÇÊ ãËáÇ¡ ÝÇáãåÑÌÇä Èå ÚÏå ÝÚÇáíÇÊ Çæ ÝÞÑÇÊ¡ æßÐáß ÈÑäÇãÌ ÇáÇäÏÑæíÏ ßá ÈÑäÇãÌ Èå ÚÏå ÔÇÔÇÊ Çæ ÝÚÇáíÇÊ äÈäí ßá æÇÍÏå ãäåã Úáì ÍÏì ãä äÇÍíå GUI æßÐáß ãä äÇÍíå ÇáßæÏ ÇáÎÇÕ ÈåÇ æäÑÈØåã ãÚÇ ÍÓÈ ÇáãäØÞ ÇáÐí äÑíÏå
ßá ÝÚÇáíå ÊÍÊÇÌ ãáÝ ÈÑãÌå æãáÝ GUI¡ ãáÝ ÇáÈÑãÌå íßæä ÈáÛå Java æãáÝ Çá GUI íßæä ãßÊæÈ Úáì Ôßá ãáÝ XML ÇáÐí ÔÑÍäÇå ÇáÇä.
ÝíãÇ íáí ãáÝ xml ÈÓíØ áÔÇÔå (Çæ ÝÚÇáíå) Çæ activity áÈÑäÇãÌ ÇäÏÑæíÏ ÈÓíØ:
ßæÏ PHP:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow>
<TextView
android:text="User Name"
android:padding="3dip" />
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtLoginUsername">
</EditText>
</TableRow>
</TableLayout>
áÇ ÊÎÇÝæ ... åÐÇ ßáå íßæä ÌÇåÒ ãä ÇáÇíßáíÈÓ¡ Çáãåã äÍÇæá äÝåãå æäÝÑÞ Èíä ÇáÊÇÛÇÊ ÇáãæÌæÏå.
<?xml version="1.0" encoding="utf-8"?> åæ ÇáÊÑæíÓå ÇáÊí ÊßáãäÇ ÚäåÇ
<TableLayout åæ ÊÇÛ áÔíÁ íÓãì layout æåæ ãÚÑæÝ ÈÇáÌÇÝÇ ÍíË Çäå íÍÏÏ ÇáØÑíÞå ÇáÊí ÓíÊã ÚÑÖ ÇáÚäÇÕÑ ÈåÇ Úáì ÇáÔÇÔå ãä äÇÍíå ÊÑÊíÈåÇ æÇÍÊáÇáåÇ ááãÓÇÍÇÊ... åäÇ äÓÊÚãá æÇÍÏ äæÚå table
æåÐÇ ÊÇÛ ÇáÈÏÇíå áå.
android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
åÐå ÚÈÇÑå Úä ÎÕÇÆÕ Çæ attributes ááÊÇÛ ÇáÓÇÈÞ... áÇ ÊÞáÞæ ßáåÇ ÊÃÊí ÌÇåÒå áä äßÊÈ ÈåÇ ÔíÁ ÑÈãÇ äÛíÑ ßáãå Çæ ÇËäÊíä áßä ÇáãáÝ ÇáÑÆíÓí íÊã ÈäÇÆå ÈÔßá Óåá ÌÏÇ.
ÓæÝ ÇÞæã ÈÊÌÇåá ÈÚÖ ÇáÊÇÛÇÊ ÇáÇä æÓÃÔÑÍåÇ ÈæÞÊ áÇÍÞ ... áäÃÎÐ åÐÇ ÇáÇä <TextView
åæ ÊÇÛ íÚäí Çä åäÇß ÔíÁ ÇÓãå textView Óíßæä ÙÇåÑ Úáì ÇáÔÇÔå æåæ ÚÈÇÑå Úä ãÑÈÚ íãßä ÇáßÊÇÈå Èå æÞÊ ÇáÈÑãÌå Çæ ãä ÎáÇá ÇáßæÏ ÝÞØ æáÇ íãßä ááãÓÊÎÏã Çä íäÞÑ Úáíå æíßÊÈ ãä áæÍå ÇáãÝÇÊíÍ¡ Ýåæ íßæä áæÖÚ ÚäæÇä áÔíÁ ãÇ ... "ãËáÇ ÇÓã ÇáãÓÊÎÏã" æíßæä ÈÌÇäÈå ÚäÕÑ ÇÎÑ åæ ãÑÈÚ äÕ áßí íäÞÑå ÇáãÓÊÎÏã æíßÊ Èå ÇáÇÓã¡ Çí Çäå ÔíÁ ááÊæÖíÍ æÇáÏáÇáå.
ÇáÊÇÛ <EditText åæ ãÑÈÚ äÕ íãßä ááãÓÊÎÏã ÇáßÊÇÈå ÈÏÇÎáå ãä ÎáÇá áæÍå ÇáãÝÇÊíÍ¡ æíßæä áÇÎÐ ãÏÎáÇÊ ãä ÇáãÓÊÎÏã áßí äÚÇáÌåÇ ÈÈÑäÇãÌäÇ.
áÇÍÙæ ãÚí ßÇÝå ÇáÇÛáÇÞÇÊ ááÊÇÛÇÊ ãæÌæÏå æÈÇáÊÑÊíÈ æÇÎÑ ÔíÁ ÇÛáÇÞ ÇáÊÇÛ
ÇáÑÆíÓí æåæ ÊÇÛ ÇáÜ </TableLayout>
*** åäÇß ÞÇÚÏå ÈÓíØå áÊÑÊíÈ ÇáÝÊÍ æÇáÇÛáÇÞ æåí: Çæá ÊÇÛ ÊÝÊÍå åæ ÇÎÑ ÊÇÛ ÊÛáÞå æåßÐÇ... áÇÍÙæ Çä Çæá ÊÇÛ Êã ÝÊÍå åæ <TableLayout æÇÎÑ ÊÇÛ Êã ÇÛáÇÞå åæ </TableLayout> æÈÏÇÎáåãÇ ßá ÇáÊÇÛÇÊ ÇáÇÎÑì.
ÓÃÞÝ åäÇ Ýí åÐÇ ÇáÏÑÓ¡ Óíßæä ÇáÏÑÓ ÇáÊÇáí äÙÑå ÊÝÕíáíå ÇßËÑ Úáì ãáÝ GUI Çá XML ÍÊì äÝåã ßá ÔíÁ íåãäÇ Èå æÈÚÏåÇ ääÊÞá Çáì ãáÝ ÇáßæÏ ÇáÐí ÓíÔÛá ÇáÈÑäÇãÌ.
ÞÏ Çßæä ÊßáãÊ ßËíÑÇ Úä Çá XML åäÇ æáßäå ÔíÁ ãåã ÈÑÃíí áÇäß ÈÇáãÓÊÞÈá ÓÊÈäí æÇÌåÇÊ ÞÏ Êßæä ãÚÞÏå ÞáíáÇ ÝÅÐÇ áã ÊÝåã ÈÔßá ÌíÏ ÇáÈäíå ááãáÝ æÞæÇÚÏ ÇáßÊÇÈå Èå¡ áä ÊÓÊØíÚ ÇäÌÇÒ Úãáß ÈÓåæáå
æÇáì ÏÑÓ ÞÇÏã Çä ÔÇÁ Çááå¡




ÑÏ ãÚ ÇÞÊÈÇÓ
ÇáãÝÖáÇÊ