الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قواعد البيانات للجوال

بدأه غريب الشام في 12 أبريل 2008 · 18 رد · 3,600 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخوتي الكرام

أود منكم إعطائي أفضل طريقة لقواعد البيانات بالجوال

هل أستخدم كلاس ال RecordStore

أم هل تكون قواعد البيانات بال text file

أم هل تكون ب XML file ???

أم غيرها من الطرق ؟ ؟

أود ان اعرف أفضل طريقة

#2

يا جماعة هل معقولة ما أحد يعرف ؟؟!!!

#3

أنا في رائ RecordStore هي مناسبة جدا بالرغم من مشكلة اللغه العربيه .....

فهي تتح أشياء جميله جدا

ولكن قاعده البيانا تكون على مستوى جهاز المحمول بالإضافه إلى أنها ذات حجم محدد أكيد لا يتعدى ذاكره الهاتف المحمول

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

banner1.gif

#4

أنا في رائ RecordStore هي مناسبة جدا بالرغم من مشكلة اللغه العربيه .....

فهي تتح أشياء جميله جدا

ولكن قاعده البيانا تكون على مستوى جهاز المحمول بالإضافه إلى أنها ذات حجم محدد أكيد لا يتعدى ذاكره الهاتف المحمول

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

banner1.gif

#5

السلام عليكم,,,

كل طريقه لها مميزاتها واحتياجاتها

1. ال Record Store تستخدم عندما تريد تخزن بيانات جديده أو تعديل بيانات البرنامج بعد التنزيل حيث أن ملفات الجار لا يمكن تعديلها بعد تنزيل البرنامج.

2. أما وضع ملف نصي داخل الجار فهي تستخدم عندما تريد وضع بيانات لن تتعدل مثل أسماء الدول.

أما عن ال format فلا أنصحك ب XML أبدا حيث انها مكلفه وتتطلب منك وجود parser اذا كان الملف بسيط رتب البيانات داخل الملف بطرقه سهل وقم بفكه بنفسك مثلا ضع بين كل معلومه والاخرى #.

تم تعديل هذه المشاركة بواسطة muqawem في 24 مايو 2009 في 19:36

#6

نسيت ان أسال الاخ sma88 عن مشكله اللغه العربيه في ال Record Store فحسب علمي لا يوجد أي مشكله؟

#8

!!!

تم تعديل هذه المشاركة بواسطة itestudent في 18 يونيو 2009 في 17:56

#9

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

مشكلة العربي عندما يتم تخزين نص عربي ويتم استرجاعه يظهر على شكل ؟؟؟؟؟؟؟؟؟؟؟؟

هذه المشكلة مرت بي شخصيا

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

مشكلة العربي عندما يتم تخزين نص عربي ويتم استرجاعه يظهر على شكل ؟؟؟؟؟؟؟؟؟؟؟؟

هذه المشكلة مرت بي شخصيا

banner1.gif

#10

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

اخي لا يوجد مشكله عربي في ال RMS كل ما عليك فعله أن تقرأ نص ال String باستخدام UTF-8 encoding. ويمكنك وضع كود القراءه لأتاكد منه.

#11

السلام عليكم

1-using file connection in application to read and write files requires appropriate permission (if not Security Prompt will show) in contract appliction use RMS for free

2- file connection might not be appropriate to run on plain old MIDP,but RMS is your option

3-file connection is cleaner and simpler than RMS

4- file connection provide access to images and sounds

#12

كود القرائة كالأتي


try {
diary = RecordStore.openRecordStore("diary", true);
String text =loadEntry(diary.getNumRecords ());
if(text.equals(""))
{
userName.setString("");
}
else
userName.setString(text);

textBox.setTitle("Diary - Day " + currentId);
}
catch (RecordStoreException e)
{
throw new RuntimeException("Cannot open diary; reason: "+e);
}

banner1.gif

#13

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

أخي انت لم تكتب أهم method وهي loadEntry أعتقد ان المشكله بها

تم تعديل هذه المشاركة بواسطة muqawem في 23 يونيو 2009 في 13:43

#14
muqawem كتب:
السلام عليكــم ورحمـة الله وبركاتــه ،،

أخي انت لم تكتب أهم method وهي loadEntry أعتقد ان المشكله بها

أسف بس كنت مستعجل

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

   import javax.microedition.lcdui.*;
 import javax.microedition.midlet.*;
 import javax.microedition.rms.*;
 public class MyForm extends MIDlet  implements CommandListener
  {
   Display display;  // The display for this MIDlet
   Form frm;						 // The Window
   Command exitCommand;	// The exit command
 ///
	 RecordStore diary;
	 TextField userName=new TextField("Your Name","",10,TextField.ANY);;
	 TextField		 passWord=new TextField("Pass Word","",10,TextField.PASSWORD);
	 ChoiceGroup saveStates = new ChoiceGroup("Choice Title",Choice.MULTIPLE);  // اختيار واحد من عدة خيارات
	 int currentId=1;
	 TextBox textBox=new TextBox("","",10000,0);
	 Command delete= new Command("delete", Command.OK, 1);
	 boolean flage=false;
 //
  public MyForm()
   {
		 frm = new Form("Form Title");
		 display = Display.getDisplay(this);
		 exitCommand = new Command("Exit", Command.EXIT, 1);
		 //
		  try {
				 diary = RecordStore.openRecordStore("diary", true);
				 String text =loadEntry(diary.getNumRecords ());
				 if(text.equals(""))
				 {
					 userName.setString("KKK");
				 }
				 else
					 userName.setString(text);

				 textBox.setTitle("Diary - Day " + currentId);
			 }
		catch (RecordStoreException e)
		{
				throw new RuntimeException("Cannot open diary; reason: "+e);
		}
	   //
   }
   //
   public String loadEntry (int newId) throws RecordStoreException
   {
		   if (newId < 1 || newId > diary.getNumRecords ())
		   {
				   byte [] data = " ".getBytes ();
				   currentId = diary.addRecord(data, 0, data.length);
		   }
		   else
				   currentId = newId;

		   return new String (diary.getRecord(currentId)).trim ();
 }

 public void saveEntry (String entry) throws RecordStoreException
 {
		 byte [] data = (entry + " ").getBytes ();
		 diary.setRecord (currentId, data, 0, data.length);
 }
   //
  public void startApp()
   {
			addChoiceGroupToForm();
					// إضافة زر الخروج الى الفورم
				 //frm.addCommand(exitCommand);
	 //frm.add(textBox);
	// تشغيل المتصنت للاستجابة لاوامر الفورم
	 //frm.setCommandListener(this);
	 frm.setCommandListener(this);
	 frm.addCommand(exitCommand);
	 frm.addCommand(delete);
	// عرض النافذة على شاشة التطبيق
	 //display.setCurrent(textBox);
	 display.setCurrent(frm);
   }

   public void  pauseApp() { }

   public void destroyApp(boolean unconditional)
   {
	   if(!flage)
	   {
			   try
			   {
					   String text;
					   text = userName.getString ();
					   saveEntry (text);
					   diary.closeRecordStore ();
			  }
			   catch (RecordStoreException e) {
				   throw new RuntimeException("Cannot close Diary; reason: "+e);
			   }
		 }

   }

  public void addChoiceGroupToForm()
   {
		   // إضافة نص الى بداية الفورم
		   frm.append("This Text in Form");

		   // كما يوجد النوعان
		   // Choice.MULTIPLE , Choice.IMPLICIT
		   // إضافة الاختيارات للقائمة
		   saveStates.append("String1",null);
		   saveStates.append("String2",null);
		   //saveStates.append("String3",null);
		   // إضافة القائمة الى الفورم
			frm.append(userName);
			 frm.append(passWord);
		   frm.append(saveStates);
   }

	public void commandAction(Command c, Displayable s)
		 {
			 if(c==delete)
			 {
				 try{
						   diary.closeRecordStore ();
						 RecordStore.deleteRecordStore("diary");
						 textBox.setString(" ");
						 System.out.println("ok");
						 flage=true;
				 }catch(Exception e)
				 {
					 System.out.println("EXCEPTION"+e);
					 }
			 }
			 if (c == exitCommand)
			  {
   destroyApp(false);
   notifyDestroyed();
	 }
		  }
 }

banner1.gif

#15

غير هذا السطر

return new String (diary.getRecord(currentId)).trim ();

في loadEntry الى

return new String (diary.getRecord(currentId), "UTF-8").trim ();

وأخبرني بالنتيجه

#16
muqawem كتب:
غير هذا السطر

return new String (diary.getRecord(currentId)).trim ();

في loadEntry الى

return new String (diary.getRecord(currentId), "UTF-8").trim ();

وأخبرني بالنتيجه

شكرا لك صديقي

muqawem

على إعطائي جزئا من زمنك ربنا يحفظك ويوفقك بإذن الله

غيرت في السطر وكتبته كالأتي


{
return new String (diary.getRecord(currentId),"UTF-8").trim ();
}
catch(Exception e)
{
System.out.println("Exception");
return "Error";
}
		  try

لم تظبط معي

وكلما أكتب بالعربي وأخرج ، عندما احاول إسترجاع الكتابه المحفوظة بالعربي يحصل

exception

تم تعديل هذه المشاركة بواسطة sma88 في 24 يونيو 2009 في 11:04

banner1.gif

#17

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

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

RecordMIDlet.rar

تم تعديل هذه المشاركة بواسطة muqawem في 21 يوليو 2009 في 09:28

#18

بااخوان هل هذا الملف Rsrc.rc1

وهو نظام جافا خاص يتلفون سامسونج

RecordStoreهي

كييف يمكن تحريرها

#19

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

لقد قمت عمل عدة برامججوال بداتا بيس عبارة عن كلاسات

classes

XML file

وكانت تجربة ناجحة

شكرا لكم جميعا على مجهودكم

تم تعديل هذه المشاركة بواسطة غريب الشام في 5 أكتوبر 2009 في 09:58

مواضيع مشابهة