PDA

View Full Version : پايگاه داده در برنامه نويسي موبايل



samira222
پنج شنبه 24 مرداد 1387, 11:26 صبح
من مي خوام براي يك برنامه موبايل كه با نرم افزار netbeans‌نوشتم به پايگاه داده وصل بشم . حالا اين پايگاه داده چي هست يعني sql هست يا چيز ديگه و اينكه چطوري بايد اين كار رو انجام بدم . متشكرم . خيلي فوريه

samira222
دوشنبه 28 مرداد 1387, 12:13 عصر
تو رو خدا يكي جواب بده ديگه
مي دونم كه مي دونين . پس منتظرم

haghi.mahdi
دوشنبه 28 مرداد 1387, 13:10 عصر
سلام
خوب بستگی داره بخوای به چه dbوصل بشی اگر میخوای به sql وصل بشی یک کم مشکل چون midp دستورات jdbc رو support نمیکنه
یک راه دیگه هم rms است.rms پایگاه داده تخصصی موبایل .اطلاعات در اون ذخیره و بازیابی میشه به این لینکها مراجعه کن
http://developers.sun.com/mobility/midp/articles/databaserms/
http://developers.sun.com/mobility/midp/articles/databasemap/

samira222
چهارشنبه 30 مرداد 1387, 17:41 عصر
خيلي ممنون از لطفتون ولي اين سايتها انگليسي بود و من در اين زمينه خيلي ضعيف هستم . ميشه لطف كنيد يا چند تا مقاله و سايت فارسي معرفي كنيد يا خودتون لطف كنيد و يك خورده در اين مورد توضيح بدين . يك دنيا ممنون:خجالت:

mehdiabn
شنبه 02 شهریور 1387, 00:58 صبح
خوب برنامه نویسی موبایل دردسرهای خاص خودش را دارد. همانطور که دوستمان اشاره فرمودند، در برنامه نویسی موبایل امکان اتصال مستقیم به یک سیستم مدیریت پایگاه داده (DBMS) مانند MS SQL Server 2000 وجود ندارد. ولی این بدین معنی نیست که شما امکان استفاده از آن را هم نخواهید داشت. به این منظور می توانید از یک سرور استفاده کنید. بدین ترتیب که برنامه ای جهت اتصال به سرور برای موبایل بنویسید و فرایند برقراری ارتباط با پایگاه داده را برعهده سرور بگذارید. جهت اتصال به سرور هم روشهای مشخصی در Java ME وجود دارد.

haghi.mahdi
شنبه 02 شهریور 1387, 01:08 صبح
سلام
من برای یاد گرفتن rms از همین دو لینک استفاده کردم .برای این که چگونگی کدشو یاد بگیری همین رو برات میذارم

// Create a record store
RecordStore rs = null;

try {
rs = RecordStore.openRecordStore( "myrs", true );
} catch( RecordStoreException e ){
// couldn't open it or create it
}
...
این کد یک record store میسازه.myrs اسم db که میخوام بذاریم می تونی به دلخواه تغییر بدی بعد با فراخوانی rs متد ها رو صدا میزنی به اینجا مراجعه کن شاید چیزی که میخوای اون تو باشه
http://j2me.blogfa.com/post-90.aspx

البته فارسیه خیالتون راحت.
اینم یک مثال از recordsre تو این سایت مثالای زیادی میتونید پیدا کنید
http://www.java-tips.org/java-me-tips/midp/how-to-enumerate-simple-records-in-rms.html
http://www.java-tips.org/java-me-tips/midp/how-to-search-a-simple-record-in-rms.html

samira222
چهارشنبه 06 شهریور 1387, 19:35 عصر
من توي برنامه اي كه نوشتم سه تا choiceGroup براي ايجاد و اضافه و ديدن دارم و دو تا tetxtField كه يكي براي گرفتن مقدار و يكي براي نشان دادن محتويات rs به كار گرفتم ولي وقتي اجرا مي كنم هيچ نتيجه اي نمي بينم .
تكه كدهاي زير رو هم بر روي choiceGroup هاي مربوطه نوشتم .
تعريف :

public RecordStore rs=null;
private Alert alert;
private String apt;

ايجاد :
try{
rs=RecordStore.openRecordStore("map", true);
}
catch(Exception error){
alert=new Alert("error creating");
}

اضافه :
try{
apt=textField.getString();
byte bytes[]=apt.getBytes();
rs.addRecord(bytes, 0,bytes.length);
}
catch(Exception error){
alert=new Alert("error insert");
}

ديدن :

try{
byte[] nn=apt.getBytes();
rs.addRecord(nn,0,nn.length);

}
catch(Exception error){
alert=new Alert("error viewing");
}

يا

byte b[]=rs.getRecord(1);
String str=new String (b,0,b.length);
textField1.setString(str.toString());

نمي دونم كجاش رو اشكال دارم چون وقتي كه اجرا مي كنم هيچ نتيجه اي نمي بينم . براي همين هم نمي تونم بفهمم كه اصلا بانك اطلاعاتي رو ايجاد مي كنه يا اينكه ركوردي رو اضافه مي كنه يا اشكال توي نمايشش هست . لطفا منو راهنمايي كنين . متشكرم

samira222
شنبه 09 شهریور 1387, 19:04 عصر
كسي نيست جواب بده !!؟؟ سوال من كه براي شماها زياد سخت نيست . لطفا اگه مي دونين كمكم كنين . متشكرم

bashiry
دوشنبه 11 شهریور 1387, 00:05 صبح
بدون شرح!!


//RS.java
//Mohammad Bashiri
package untitled1;
import javax.microedition.rms.RecordStore;
public class RS
{
public RS()
{
}
public static RecordStore open(String s)
{
try
{
return RecordStore.openRecordStore(s, true);
}
catch(Exception exception)
{
return null;
}
}
public static void close(RecordStore recordstore)
{
try
{
recordstore.closeRecordStore();
}
catch(Exception exception) { }
}
public static void deleteRs(String s)
{
try
{
RecordStore.deleteRecordStore(s);
}
catch(Exception exception) { }
}
public static void deleteRecord(RecordStore recordstore, int i)
{
try
{
recordstore.deleteRecord(i);
}
catch(Exception exception) { }
}
public static int add(RecordStore recordstore, String s)
{
try
{
return recordstore.addRecord(s.getBytes(), 0, s.length());
}
catch(Exception exception)
{
return -1;
}
}
public static void set(RecordStore recordstore, String s, int i)
{
try
{
recordstore.setRecord(i, s.getBytes(), 0, s.getBytes().length);
}
catch(Exception exception) { }
}
public static int GetNextRecord(RecordStore recordstore)
{
try
{
return recordstore.getNextRecordID();
}
catch(Exception exception)
{
return -1;
}
}
public static String GetRecord(RecordStore recordstore, int i)
{
try
{
byte abyte0[] = recordstore.getRecord(i);
if(abyte0 == null)
return "";
else
return new String(abyte0);
}
catch(Exception exception)
{
return "";
}
}
public static int getNumRecord(RecordStore recordstore)
{
try
{
return recordstore.getNumRecords();
}
catch(Exception exception)
{
return 0;
}
}
}

samira222
دوشنبه 11 شهریور 1387, 11:33 صبح
خيلي خيلي متشكرم - ولي توي خط public rs متاسفانه خطاي class rs is public should be declared in a file named rs.java مي گيره كه نمي دونم براي چيه ؟ اگه مي شه لطفا منو راهنمايي كنين !!
يك سوال ديگه هم داشتم اونم اين كه چطوري مي تونم از اين توابع استفاده كنم ؟ مثلا من يك قسمتي از برنامه مي خوام تابع add‌رو صدا بزنم بايد چطوري بنويسم !؟ خيلي ممنونم

haghi.mahdi
جمعه 15 شهریور 1387, 17:37 عصر
سلام
دوست عزیز
خوب این خطایی که میگی بستگی به کد نویسیت داره
احتمالا اسم کلاس قبلیت رو به rs تغییر دادی ÷یشنهاد میکنم کد ی که نوشتی رو بذاری تا کمکت کنیم