الكمبيوتر الكفي

الكمبيوتر الكفي (http://www.ce4arab.com/vb7/index.php)
-   ملتقى المطورين لنظام Google Android (http://www.ce4arab.com/vb7/forumdisplay.php?f=124)
-   -   [دورة تعليميه] تعلم صنع تطبيقات الاندرويد بالتفصيل (http://www.ce4arab.com/vb7/showthread.php?t=325071)

stinger1 03-12-2011 05:38 PM

[quote=MissNetwotk;3060458]مشكور وجزاك الله خير[COLOR="Silver"]

[SIZE=2]الدمج الآلي للمشاركات المتعاقبة التي لم يكن بينها 24 ساعه --------- هذه المشاركة اضيفت في 05:51 PM ----------- المشاركة السابقة اضيفت في 05:50 PM --------- [/SIZE]

[/COLOR]ممكن سوال كيف اعدل في سورس موجود عندي[/quote]

لم افهم السؤال جيدا
اذا كان لديك سورس لبرنامج يمكن اضافته للايكليبس ومتابعه العمل عليه
من خلال انشاء مشروع جديد لكن بالخيارات التي تظهر اختر from existing source code
وحدد مكان الكود وتابع

سيظهر مشروع بالايكليبس وبه الكود ومن هناك تتابع العمل بشكل عادي

ابو المهام 05-12-2011 08:51 PM

اخي stinger1

ممكن طريقة عمل جداول ورسوم (احصائيات )

stinger1 05-12-2011 09:06 PM

[quote=ابو المهام;3066432]اخي stinger1

ممكن طريقة عمل جداول ورسوم (احصائيات )[/quote]

بالنسبه للجداول لا يوجد View من نوع Table كما في الجافا
لكن الجميل انه ممكن ان تبني جدول html وتضعه في webView وهو يعرضه كأنه متصفح

يعني تبني string به بياناتك
[php]
String data = "<html><body>";
data += "<table align='center' border=1>";
data += "<tr>";
data += "<td>1234</td>";
data += "<td>1637</td>";
data += "<td>5534</td>";
data += "</tr></table></body></html>";
[/php]
ثم مرر هذا النص الي webView سيعرضه بشكل صحيح

هذه الطريقه افضل برأيي لانه مرنه اكثر خاصه انه لا يوجد view مخصص للجداول بشكل مباشر

ابو المهام 05-12-2011 09:50 PM

[quote=stinger1;3066493]بالنسبه للجداول لا يوجد View من نوع Table كما في الجافا
لكن الجميل انه ممكن ان تبني جدول html وتضعه في webView وهو يعرضه كأنه متصفح

يعني تبني string به بياناتك
[php]
String data = "<html><body>";
data += "<table align='center' border=1>";
data += "<tr>";
data += "<td>1234</td>";
data += "<td>1637</td>";
data += "<td>5534</td>";
data += "</tr></table></body></html>";
[/php]ثم مرر هذا النص الي webView سيعرضه بشكل صحيح

هذه الطريقه افضل برأيي لانه مرنه اكثر خاصه انه لا يوجد view مخصص للجداول بشكل مباشر[/quote]

اشكرك من اعماق قلبي على ردك السريع :o
بس ممكن شرح اضافي :o:o لأن لدي مهلة 5 ايام كحد اقصى للإنتهاء من برنامجي
اتمنى اني ماثقلت عليك :o
وشكرا مرة اخرى

stinger1 06-12-2011 10:57 AM

ابشر اخوي

افرض لديك متغيرات تريد عرضها في جدول
الان هذه المتغيرات قد يكون مصدرها قاعده بيانات او مدخلات من المستخدم او مهما كان

المهم نفرض لديك متغيرات val1, val2, val3, val4
الان نريد عرضهم بجدول

يلزمنا ان يكون في ملف ال xml الخاص بواجهه المستخدم، object من نوع webView

[php]
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
[/php]

الان في كلاس الكود (activity) مثلا نضع الكود كما يلي

[php]
:
:
WebView myWebView;

onCreate(){
myWebView = (WebView )findViewById(R.id.webview);

String val1="",val2="",val3="",val4="";
val1 = "";//هنا تعبئ القيم من المصدر قد يكون قاعده بيانات او حسابات من مدخلات من شاشه اخرى
val2 = "";//هنا تعبئ القيم من المصدر
val3 = "";//هنا تعبئ القيم من المصدر
val4 = "";//هنا تعبئ القيم من المصدر

String html = "<html><body>";
html = html + "<table align='center' border=1>";

html = html + "<tr>";
html = html + "<th>Value 1</th>";
html = html + "<th>Value 2</th>";
html = html + "<th>Value 3</th>";
html = html + "<th>Value 4</th>";
html = html + "</tr>";

html = html + "<tr>";
html = html + "<td>" + val1 + "</td>";
html = html + "<td>" + val2 + "</td>";
html = html + "<td>" + val3 + "</td>";
html = html + "<td>" + val4 + "</td>";
html = html + "</tr>";

html = html + "</table></body></html>";

myWebView.loadData(html, "text/html", "utf8");
}
:
:
[/php]

هنا يكون العمل جاهز ان شاء الله

ملاحظه: كتبت الكود هنا ولست متأكد اذا كان به اخطاء لكن من ناحيه تسلسل الخطوات يجب ان تكون بهذا الشكل

ممكن ان تضعل for loop او while loop لبناء الجدول
وتكرر ال <tr> الذي به القيم val1, val2 ,... حسب طبيعه النتائج ومصدرها

فيصبح الكود بهذا الشكل
[php]
:
:
while (اي شرط حسب برنامجك){
//بعض الحسابات او احضار بيانات ووضعها في المتغيرات val1, val2 , ... لتجهيزها
html = html + "<tr>";
html = html + "<td>" + val1 + "</td>";
html = html + "<td>" + val2 + "</td>";
html = html + "<td>" + val3 + "</td>";
html = html + "<td>" + val4 + "</td>";
html = html + "</tr>";
}//while loop end
:
:
[/php]
موفق

ابو المهام 06-12-2011 07:23 PM

[quote=stinger1;3067767]ابشر اخوي

افرض لديك متغيرات تريد عرضها في جدول
الان هذه المتغيرات قد يكون مصدرها قاعده بيانات او مدخلات من المستخدم او مهما كان

المهم نفرض لديك متغيرات val1, val2, val3, val4
الان نريد عرضهم بجدول

يلزمنا ان يكون في ملف ال xml الخاص بواجهه المستخدم، object من نوع webView

[php]


[/php]الان في كلاس الكود (activity) مثلا نضع الكود كما يلي

[php]
:
:
WebView myWebView;

onCreate(){
myWebView = (WebView )findViewById(R.id.webview);

String val1="",val2="",val3="",val4="";
val1 = "";//هنا تعبئ القيم من المصدر قد يكون قاعده بيانات او حسابات من مدخلات من شاشه اخرى
val2 = "";//هنا تعبئ القيم من المصدر
val3 = "";//هنا تعبئ القيم من المصدر
val4 = "";//هنا تعبئ القيم من المصدر

String html = "";
html = html + "";

html = html + "";
html = html + "Value 1";
html = html + "Value 2";
html = html + "Value 3";
html = html + "Value 4";
html = html + "";

html = html + "";
html = html + "" + val1 + "";
html = html + "" + val2 + "";
html = html + "" + val3 + "";
html = html + "" + val4 + "";
html = html + "";

html = html + "";

myWebView.loadData(html, "text/html", "utf8");
}
:
:
[/php]هنا يكون العمل جاهز ان شاء الله

ملاحظه: كتبت الكود هنا ولست متأكد اذا كان به اخطاء لكن من ناحيه تسلسل الخطوات يجب ان تكون بهذا الشكل

ممكن ان تضعل for loop او while loop لبناء الجدول
وتكرر ال الذي به القيم val1, val2 ,... حسب طبيعه النتائج ومصدرها

فيصبح الكود بهذا الشكل
[php]
:
:
while (اي شرط حسب برنامجك){
//بعض الحسابات او احضار بيانات ووضعها في المتغيرات val1, val2 , ... لتجهيزها
html = html + "";
html = html + "" + val1 + "";
html = html + "" + val2 + "";
html = html + "" + val3 + "";
html = html + "" + val4 + "";
html = html + "";
}//while loop end
:
:
[/php]موفق[/quote]

معذرة ولكن القيم هل هي رموز ام انص ؟
والمعذرة مرة اخرى ان اشغلتك:sly:

iress 19-12-2011 06:01 PM

مشكور جهد كبير....
زادك الله ... من العلم..

عطر الليل 99 20-12-2011 11:59 AM

كفيت ووفيت وأنا متابع

hejawi 24-12-2011 05:16 AM

تسلم اخي يزن و الله اهلا و سهلا بكل اهل الاردن

stinger1 24-12-2011 12:50 PM

العفو واهلا وسهلا بالجميع
منورين


[quote=hejawi;3116658]تسلم اخي يزن و الله اهلا و سهلا بكل اهل الاردن[/quote]

حيالله الزرقاويه والله (انا زرقاوي كمان ;))

ترانيم عشق 17-01-2012 10:39 PM

السلام عليكم ورحمة الله وبركاته

اخي الكريم
لدي سؤال مهم بالنسبه لى
انا اعمل على مشروع تخرج وهو تطبيق بسيط على نظام الاندرويد
التطبيق تتركز فكرة في حفظ الملفات الخاصة بالمستخدم في امان وسريه
واريد السؤال عن ماهي الطرق والخوارزميات التي استخدمها في برنامجي لتوفير الحمايه
ماتوصلت لها ومارئيتها في كثير من البرامج الشبيه لفكرة برنامجي هي ان احميه بكلمة سر توضع في اول انطلاقه للبرنامج
وبعدها اذا تم نسيانها وتعدي محاولات التذكر سوف يتم مسح جميع الملفات واعادة اطلاق البرنامج من جديد
وهذه وجده فيها صعوبه بحيث انها غير مرنه واريد مشورتكم في طرق اخري قبل استخدام طريقة حذف الملفات كامله
او حتي اكواد تساعدني في زيادة فعالية الحماية في برنامجي وجعله مرن
كذلك اريد السؤال عن طرق عمل نسخ احطياطيه من الملفات الخاصه في البرنامج وحفظها بعيدا عن الجهاز بحيث لو تعرض الجهاز
لخلل او كسر او تعطل تكون هناك نسخه من ملفات المستخدمه يستطيع استعادتها

اسعدك الله في الدارين
واعتذر عن ازعاجك

stinger1 18-01-2012 09:58 AM

[quote=ترانيم عشق;3192702]السلام عليكم ورحمة الله وبركاته

اخي الكريم
لدي سؤال مهم بالنسبه لى
انا اعمل على مشروع تخرج وهو تطبيق بسيط على نظام الاندرويد
التطبيق تتركز فكرة في حفظ الملفات الخاصة بالمستخدم في امان وسريه
واريد السؤال عن ماهي الطرق والخوارزميات التي استخدمها في برنامجي لتوفير الحمايه
ماتوصلت لها ومارئيتها في كثير من البرامج الشبيه لفكرة برنامجي هي ان احميه بكلمة سر توضع في اول انطلاقه للبرنامج
وبعدها اذا تم نسيانها وتعدي محاولات التذكر سوف يتم مسح جميع الملفات واعادة اطلاق البرنامج من جديد
وهذه وجده فيها صعوبه بحيث انها غير مرنه واريد مشورتكم في طرق اخري قبل استخدام طريقة حذف الملفات كامله
او حتي اكواد تساعدني في زيادة فعالية الحماية في برنامجي وجعله مرن
كذلك اريد السؤال عن طرق عمل نسخ احطياطيه من الملفات الخاصه في البرنامج وحفظها بعيدا عن الجهاز بحيث لو تعرض الجهاز
لخلل او كسر او تعطل تكون هناك نسخه من ملفات المستخدمه يستطيع استعادتها

اسعدك الله في الدارين
واعتذر عن ازعاجك[/quote]

اهلا
الحقيقه لم اجرب شيء من هذه البرامج سواء استخدام او برمجه...فليس لدي ادنى فكره عن طريقه عملها او كيف تمنع النظام من فتح الملف الا من خلال البرنامج ...

المهم ...
لو كان هذا المشروع لي فسأفكر بهذه الطريقه:
1- يشتغل البرنامج لاول مره... يطلب من المستخدم تحديد كلمه سر ويتم حفظها
2- يدخل المستخدم للبرنامج ويجد قائمه بالملفات المحميه (تكون فارغه اول مره)
3- يبدأ المستخدم باضافه ملفات لهذه القائمه (يعني يضغط اضافه مثلا) ويحدد الملف.
4- عند اضافه الملفات يضغط زر "حمايه"
5- الان ما يتم هو ان يقوم البرنامج بعمل نسخه مشفره من الملفات المطلوب حمايتها
ومن ثم يقوم بحذف الملف الاصلي. ويمكن تخزين الملف المشفر بنفس المكان للملف الاصلي.

الان لو قام المستخدم بفتح البرنامج بعد عده ايام سيطلب منه كلمه السر... سيدخلها وسيشاهد القائمه وبها ملفاته المحميه... يختار ملف منها ويضغط "فك الحمايه" هنا يقوم البرنامج بعمل عكسي .. وهو فك التشفير للملف وفتحه للمستخدم. وعند الانتهاء من العمل على الملف يمكن للمستخدم ان يعيد الحمايه عليه. فيتم اعاده تشفيره واستبدال الملف المشفر القديم بالجديد وحذف الملف الغير مشفر.

اما عن الادخال الخاطئ لكلمه السر. فأنا ضد حذف الملفات بالكامل لان فيه ضرر لصاحب البرنامج او الهاتف الحقيقي فلو كان احد يعبث وتسبب بحذف كل الملفات فهذا ضرر للمستخدم الاصلي. يعني حمايه الملفات ليست اهم من فقدانها كليا!!

[COLOR="SeaGreen"]يمكن استبدالها بعمل لوك للبرنامج لمده ساعه مثلا او نصف ساعه. ومن ثم يستأنف العمل كالمعتاد بطلب كلمه السر من المستخدم.[/COLOR]

هناك خوارزميات تشفير كثيره
وكل له مساوء ومحاسن... اختر ما يناسبك ... او ربما تختار ما يناسب نوع الملف ... مثلا ملف الاصوات تشفيره بخوارزميه [U]س[/U] افضل من [U]ص[/U] وملف النص العادي تشفيره بخوارزميه [U]ب[/U] افضل من [U]ج[/U]

[COLOR="Red"]استعمل مفتاح التشفير[/COLOR] بحيث يكون رقم الهاتف التسلسلي او ال IMEI CODE بحيث لا يتم فك تشفير الملفات الا على الهاتف نفسه ولو تم نقل الملفات لهاتف اخر فلا فائده منها حينها.


اما عن النسخ الاحتياطيه ... تحتاج لبرنامج يكون للكومبيوتر ويمكنك استخدام الامر adb معروف جدا
وطريقه استعماله موجوده بكثر في الانترنت... ستحتاج منه

هذا لسحب نسخه من الهاتف
[code]adb pull[/code]

وهذا لاعادتها للهاتف
[code]adb push[/code]

بهذه الحاله افضل شيء هو ان تحفظ كل الملفات المشفره بمجلد واحد مثلا وهو على الذاكره الخارجيه
ويكون اسمه مثلا my_protected_files
فتقوم بالسحب او الارجاع عليه

كذلك القائمه التي تعرض الملفات المحميه او عندما يطلب المستخدم حمايه ملف يتم نقله الى هذا المجلد بعد تشفيره وحذفه من مكانه الاصلي.
اتمنى ان اكون افدتك.

بدر الشملاني 20-01-2012 11:15 PM

اشكرك من قلبي

alwaafii 05-02-2012 04:02 PM

جزاك الله خير , ننتظر جديدك ونريد بعض الدروس القصيرة المصورة المفيدة

مثلا كيف تربط بين زر ورابط ويب كيف تربط بين زر وتكست يعني أشياء مختصرة داخل ليس بالضرورة برنامج كامل

مقاطع الفديو أكثر وضوحا وأسرع للفهم

أدعو لك من كل قلبي , وفقنا الله واياك لكل خير

stinger1 05-02-2012 04:11 PM

[quote=alwaafii;3243191]جزاك الله خير , ننتظر جديدك ونريد بعض الدروس القصيرة المصورة المفيدة

مثلا كيف تربط بين زر ورابط ويب كيف تربط بين زر وتكست يعني أشياء مختصرة داخل ليس بالضرورة برنامج كامل

مقاطع الفديو أكثر وضوحا وأسرع للفهم

أدعو لك من كل قلبي , وفقنا الله واياك لكل خير[/quote]

ان شاء الله
المشكله انه خبرتي قليله بالدروس المصوره دايما يطلعلي مشكله
صوره صغيره او الصوت منخفض ... على الله :)

aishak 06-02-2012 09:44 AM

الله شي طيب ،،
ان شاء الله ان وجدت الوقت راح اسوي تطبيق مفيد

qirat4 07-02-2012 02:34 AM

السلام عليكم
أنا مبتدأ فى عملية تطوير برامج الأندرويد وقمت بعمل برنامج بسيط عبارة عن :


customized listview consist of 10 rows
each row had textview and image
when click on each row ,its open another activity which consist of 5 textview and button
if you click button it open another activity which is gallery view


الأن أصبح لدى 10 كلاسات جافا تسمى (Day1,Day2,Day3 ,till Day10)، وأريد دمجها كلها فى كلاس واحد نسميه (Day)، تم إستخدام arrayadater لتخصيص صورة لكل صف فى ال listview .
مع الشكر

alwaafii 07-02-2012 02:44 PM

أستاذي الفاضل

عند مشكلة واجهتني أثناء بناء برنامج الجمع

وضعت الصور توضح المشكلة

[url=http://www.m5zn.com] [img]http://www.ce4arab.com/vb7/images/sub/02_2012/679839.png[/img][/url]

[url=http://www.m5zn.com] [img]http://www.ce4arab.com/vb7/images/sub/02_2012/679840.png[/img][/url]

stinger1 07-02-2012 03:22 PM

[quote=alwaafii;3247857]أستاذي الفاضل

عند مشكلة واجهتني أثناء بناء برنامج الجمع

وضعت الصور توضح المشكلة

[url=http://www.m5zn.com] [url]http://www.ce4arab.com/vb7/images/sub/02_2012/679839.png[/url][/url]

[url=http://www.m5zn.com] [url]http://www.ce4arab.com/vb7/images/sub/02_2012/679840.png[/url][/url][/quote]

هناك اشاره + ناقصه بعد اشاره @ في ال ID
لكل من text1 , text2
الصيغه الصحيحه مثل التي بالزر button :boxing2:

بالنسبه للخطأ في الصوره الثانيه سيزول بمجرد تصحيح الخطأ الاول.

alwaafii 07-02-2012 04:28 PM

[quote=stinger1;3247956]هناك اشاره + ناقصه بعد اشاره @ في ال ID
لكل من text1 , text2
الصيغه الصحيحه مثل التي بالزر button :boxing2:

بالنسبه للخطأ في الصوره الثانيه سيزول بمجرد تصحيح الخطأ الاول.[/quote]


تعدلت الأخطاء (وعندي سؤال أنا لم أعدل على الأي دي لماذا انمسحت علامة + من الكود ؟؟)

لكن أعطاني فورس كلوز قبل فتح البرنامج

شكرا لمتابعتك

stinger1 07-02-2012 05:03 PM

[quote=alwaafii;3248082]تعدلت الأخطاء (وعندي سؤال أنا لم أعدل على الأي دي لماذا انمسحت علامة + من الكود ؟؟)

لكن أعطاني فورس كلوز قبل فتح البرنامج

شكرا لمتابعتك[/quote]

والله لا اعرف السبب
بالعاده لا يتم تعديلها من نفسها

بالنسبه للفورس كلوز ... ماذا يظهر في ال logcat ?
من هناك تستطيع ان تعرف سبب الخطأ...
او قم بنسخ الكود كاملا الذي كتبته وضعه هنا
استعمل [IMG]http://www.ce4arab.com/vb7/images/sub/02_2012/679869.gif[/IMG]
لعرض الكود

alwaafii 07-02-2012 05:40 PM

[quote=stinger1;3248161]والله لا اعرف السبب
بالعاده لا يتم تعديلها من نفسها

بالنسبه للفورس كلوز ... ماذا يظهر في ال logcat ?
من هناك تستطيع ان تعرف سبب الخطأ...
او قم بنسخ الكود كاملا الذي كتبته وضعه هنا
استعمل [URL]http://www.ce4arab.com/vb7/images/sub/02_2012/679869.gif[/URL]
لعرض الكود[/quote]

ظهر لي في logcat

E/AndroidRuntime(577): FATAL EXCEPTION: main

stinger1 07-02-2012 05:51 PM

[quote=alwaafii;3248220]ظهر لي في logcat

E/AndroidRuntime(577): FATAL EXCEPTION: main[/quote]
لا يكفي هذا وحده

تحتاج كل ال exception الذي يظهر بالاحمر
ويكون به وصف الخطأ ومصدره حتى تشاهد سطر به اسم الباكج package الذي للبرنامج الخاص بك
وهناك تعرف اي كلاس واي سطر سبب الخطأ

او كما قلت لك ضع الكود هنا ربما كان شيء واضح استطيع ان احدده بالنظر.

qirat4 07-02-2012 06:07 PM

stinger1
منتظر ردك أستاذى الكريم :
السلام عليكم
أنا مبتدأ فى عملية تطوير برامج الأندرويد وقمت بعمل برنامج بسيط عبارة عن :


customized listview consist of 10 rows
each row had textview and image
when click on each row ,its open another activity which consist of 5 textview and button
if you click button it open another activity which is gallery view


الأن أصبح لدى 10 كلاسات جافا تسمى (Day1,Day2,Day3 ,till Day10)، وأريد دمجها كلها فى كلاس واحد نسميه (Day)، تم إستخدام arrayadater لتخصيص صورة لكل صف فى ال listview .
مع الشكر

alwaafii 07-02-2012 06:25 PM

[php]package com.alwaafii.Townumsum;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class TownumsumActivity extends Activity implements OnClickListener {
Button btnsum;
EditText text1,text2;
TextView calc;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnsum=(Button) findViewById(android.R.id.button1);
text1=(EditText) findViewById(android.R.id.text1);
text2=(EditText) findViewById(android.R.id.text2);
calc=(TextView) findViewById(android.R.id.list);
btnsum.setOnClickListener(this);
}

public void onClick(View v) {
String N1 = text1.getText().toString();
String N2 =text2.getText().toString();

int Nu1 = Integer.parseInt(N1);
int Nu2 = Integer.parseInt(N2);
int Nu3 =0;
Nu3=Nu1+Nu2;
String Nu3Str =Integer.toString(Nu3);
calc.setText(Integer.toString(Nu3));
}
}[/php]


جميع الأوقات بتوقيت GMT +3. الساعة الآن 11:14 PM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.