تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: برمجة تطبيقات الجوال Java ME
صفحة 1 من اصل 1 • شاطر
تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
سم الله الرحمن الرحيم
أهلا وسهلا بكم إخوانى الكرام و مرحبا بكم فى درس جديد من دروس منتدى مصر التقنى ....فى هذا الدرس إن شاء الله تعالى سنتعلم سويا كيفية الاتصال بقواعد بيانات MYSQL من خلال تطبيقات الجوال ....هذا الدرس سينقسم الى ثلاث أقسام وهم على النحو التالى :
1_ انشاء قاعدة بيانات MySQL على سيرفر مجانى
2_ إنشاء الفئة Java Servlet
3_إنشاء تطبيق الجوال لاتصال بقاعدة البيانات MySQL
المرحلة الاولى : انشاء قاعدة بيانات MySQL على سيرفر مجانى
1 - الدخول على الموقع من خلال الرابط الاتى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
2- قم بإنشاء حساب كما فى الصورة التالية :
3 - ادخل على الميل هتلاقى رسالة تأكيد الاشتراك
4 - بعد الدخول على الميل وتأكيد الاشتراك سيتم تحويلك الى صفحة نجاح التسجيل وبها بياناتك
5 - الدخول على الحساب بكتابة اسم المستخدم وكلمة المرور للدخول على لوحة التحكم فى قاعدة بيانات MySQL والتى يطلق عليها (phpMyAdmin)
6 - هنقوم بالضغط على Database لانشاء الجداول وليكن بأسم R4R.MOBILE
سوف نقوم بكتابة اسم الجدول وعدد الحقول كما بالصورة السابقة وليكن 3 اعمدة
7 - سوف تظهر لنا صفحة لكتابة اسماء الحقول و ليكن بأسم USERNAME, PASSWORD, BALANCE وتحديد نوع البيانات :
قم بالضغط على Save لانشاء الجدول .....او يمكنك استخدام لغة SQL فى انشاء الجداول مباشرا اذا كنت على علم بذلك
انا اخترت الطريقة الاسهل لتلافى المشاكل
الان انتهت المرحلة الاولى وهى انشاء قاعدة بيانات MySQL على سيرفر مجانى
المرحلة الثانية :إنشاء الفئة Java Servlet
_ النعريف بالفئة ......الفئة Java Servlet هي أحد فئات لغة الجافا التى يتم برمجتها لتقوم بتلقى الطلبات وبناءالإستجابات بفعالية مع خوادم الويب بأستخدام تطبيقات الجافا سواء كانت تلك التطبيقات خاصة بالجوالات أو الويب أو تطبيقات سطح المكتب ....و سيتم إفراد درس خاص بتلك الفئة و كيفية استخدامها بأحترافية فى دروس أخر أن شاء الله تعالى
_خطوات إنشاء الفئة Java Servlet من خلال بنية Netbeans
1_ قم بفتح Netbeans ثم أختر إنشاء مشروع جديد
2_من المربع الحوارى الذى سيظهر ومن خلال التويب categories أختر نوع المشروع Java Web ليظهر لك فى الجانب الاخر بعض انواع المشروعات أختر منه Web Application كما فى الصورة التالية ثم أنقر next
3_ قم بإعطاء أسم للمشروع و ليكن MobileServlet ثم أنقر next
4_سيظهر لك المربع الحوارى التالى ....يمكنك النقر على زر الامر finish
5_ستجد المجلدات و الملفات التى أنشأها التطبيق فى بنية Netbeans كما فى الشكل التالى :
6_قم بتحديد ايقونة المجلد Source Package ثم النقر يمين و من القائمة التى ستظهر أختر الامر New ثم الامر New java package ....ليظهر لك المربع الحوارى فقم بإعطاء أسم مناسب للحزمة و ليكن r4r.MobileServlet
7_ بعد ذلك قم بتحديد الحزمة r4r.MobileServlet ثم النقر يمين و من القائمة التى ستظهر أختر الامر Servlet كما فى الشكل التالى :
8_ قم بإعطاء الفئة Servlet أسم مناسب لها و ليكن dataBaseServlet ثم النقر على إنهاء و ذلك من خلال المربع الحوارى التالى :
9_ستجد تلك الفئة بها الاكواد التالية :
- الكود:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "dataBaseServlet", urlPatterns = {"/dataBaseServlet"})
public class dataBaseServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
- الكود:
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
public class dataBaseServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
_ سنقوم بإستيراد المكتبة java.sql و المكتبة util.logging لتصبح المكتبات اللازمة لمشروعنا على النحو التالى :
- الكود:
import java.io.*;
import java.sql.*;
import java.util.logging.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
- الكود:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set the response message's MIME type
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// Reads line of text from a character-input stream
BufferedReader br = request.getReader();
String s = br.readLine();
// Get a Specific String value from line of text.
String user = s.substring(0, s.indexOf("?"));
int start = s.indexOf("?") + 1;
int end = s.indexOf('?', start + 1);
String pass = s.substring(start, end);
start = s.indexOf('?', start + 1);
end = s.indexOf('?', start + 1);
String balance = s.substring(start + 1, end);
// initilized a new class
DataBaseClient client = new DataBaseClient();
client.store(user, pass, balance); // passing value form class constructor
// send response to the client
out.println("Data sucessfully store into MYSQL DataBase");
out.close(); // close text-output stream
}
}
فى السطر الثالث و الرابع ...الاعلان عن الكائن br الذى سيقوم بقراءة النصوص من المدخلات و تخزينة المتغير النصى s
من السطر الخامس و حتى الحادى عشر ....هو للحصول على قيم معينة من سطور المدخلات .
أما السطر الثانى عشر و الثالث عشر ....هو تجهيز الفئة DataBaseClient للاستخدام ....و هى الفئة التى سيتم إنشائها فى الخطوة التالية :
_ سنقوم بإنشاء فئة جديدة و ليكن بأسم DataBaseClient لتحمل كافة الشفرات للازمة للاتصال و تخزين البيانات فى قاعدة بيانات mysql التى تم إنشائها وذلك على النحو التالى :
- الكود:
private Connection con = null;
private String sql = "INSERT INTO R4R.MOBILE (USERNAME, PASSWORD, BALANCE) VALUES ('?', '?', '?');";
void store(String user, String pass, String balance) {
try {
// open class and load the connection Driver
Class.forName("com.mysql.jdbc.Driver");
// Open MYSQL Database connection
con = DriverManager.getConnection("jdbc:mysql://b4free.net:3306/egytech", "user", "pass");
if (!con.isClosed()) {
// insert data into database
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, user);
ps.setString(2, pass);
ps.setString(3, balance);
ps.execute();
System.out.println("Data Sucessfully Store into MYSQL DataBase");
} else {
System.out.println("Can't open MYSQL DataBase, try Later");
}
} catch (Exception ex) {
Logger.getLogger(DataBaseClient.class.getName()).log(Level.SEVERE, "An Exception occurred due processing request", ex);
} finally {
// close Database connection
try {
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger.getLogger(DataBaseClient.class.getName()).log(Level.SEVERE, "An Exception occurred due processing request", ex);
}
}
}
}
فى السطر الاول قمنا بالاعلان عن كائن الاتصال بقواعد البيانات con
فى السطر الثانى قمنا بالاعلان عن متغير نصى sql وتمرير له جملة أستعلام لاضافة بيانات فى حقول الجدول R4R.MOBILE
فى السطر الثالث أنشأنا الطريقة store وفيها مايلى :
_ قمنا بفتح فئة وتحميل برنامج تشغيل اتصال لقواعد بيانات mysql ....وهو com.mysql.jdbc.Driver
_من خلال الاسلوب getConnection قمنا بفتح اتصال مع قاعدة البيانات التى أنشأناها وذلك عن طريق تمرير رابط سرفر قاعدة البيانات مع أسم قاعدة البيانات و أسم المستخدم و كلمة المرور الى السرفر
_ من خلال السلوب prepareStatement التابع لكائن الاتصال con قمنا بتمير جملة الاستعلام المسؤلة عن تخزين البيانات فى حقول جدول قاعدة البيانات و التى قد خزناها فى المتغير النصى sql حتى يتم ادراج تلك البيانات الى قاعدة بيانات msql بنجاح
وهذكا نكون قدأنتهيا من إنشاء Java Servlet ,والذى سيقوم بمهمة تلقى الطلبات وبناءالإستجابات مع سرفر قاعدة البيانات db4free.net
المرحلة الثالثة : إنشاء تطبيق الجوال Java Me
1_ قم بفتح Netbeans ثم أختر إنشاء مشروع جديد
2_من المربع الحوارى الذى سيظهر ومن خلال التويب categories أختر نوع المشروع Java ME ليظهر لك فى الجانب الاخر بعض انواع المشروعات أختر منه Mobile Application
3__ قم بالنقر على زر التالى ليظهر لك مربع حوارى أخر يطالبك بأسم للتطبيق ...أكتب أسم r4r.mobileServlet مثلا مع مراعاة إزالة علامة الخيار Create Hello MIDlet
4_تحديد ايقونة التطبيق ثم كليك يمين ومن القائمة التى ستظهر أختر الامر New ثم الامر MIDlet ...ويمكنك أستخدام البنية المرئية Visual MIDlet أذا أردت تصميم العناصر بدون الشفرة ....
5_سيظهر لك مربع حوارى يطالبك ببعض المعلومات كأسم الملف فضع dataBaseSevletMidlet كأسم و اسم الكلاس الخاص ب dataBaseSevletMidlet
6_ بعد الانتهاء من كافة المعلومات ستجد الفئة تحتوى على الشفرة التالية :
- الكود:
import javax.microedition.midlet.*;
public class dataBaseSevletMidlet extends MIDlet {
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
_ أستيراد المكتبات اللازمة ...على النحو التالى :
- الكود:
import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
- الكود:
public class dataBaseSevletMidlet extends MIDlet implements CommandListener {
- الكود:
final Command SUBMIT = new Command("Store", Command.OK, 1);
final Command EXIT = new Command("Exit", Command.EXIT, 2);
private Form form;
private TextField T_user, T_pass, T_balance;
public dataBaseSevletMidlet() {
// declaration field with initialization
form = new Form("DataBase Connection");
T_user = new TextField("Username", "", 10, TextField.PLAIN);
T_pass = new TextField("Password", "", 10, TextField.PLAIN);
T_balance = new TextField("Balance $", "", 12, TextField.NUMERIC);
form.append(T_user);
form.append(T_pass);
form.append(T_balance);
form.addCommand(SUBMIT);
form.addCommand(EXIT);
form.setCommandListener(this);
_ نبحث عن الطريقة startApp و نكتب الشفرة التالية وهى الخاصة بإظهار العناصر الرسومية على شاشة الجوال :
- الكود:
public void startApp() {
Display.getDisplay(this).setCurrent(form);
}
- الكود:
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
- الكود:
public void commandAction(Command c, Displayable d) {
if (c == EXIT) {
destroyApp(true);
} else if (c == SUBMIT) {
// Store value form TextField to String
String user = T_user.getString().trim();
String pass = T_pass.getString().trim();
String balance = T_balance.getString().trim();
// User can't allow to leave any TextField blank
if (!user.equals("") && !pass.equals("") && !balance.equals("")) {
// initialize new Class
DataServletClient client = new DataServletClient(this, user, pass, balance);
client.start();
} else {
Alert alert = new Alert("Blank Field Error", "Please Don't leave any Block empty!", null, AlertType.ALARM);
alert.setTimeout(1000);
Display.getDisplay(this).setCurrent(alert, d);
}
}
فى الشفرة أعلاه ...أستخدمنا جملة شرطية لمعرفة أى الاوامر التى تم النقر عليها .....فإذا تم النقر على الامر EXIT يتم الخروج من البرنامج ....و إن كان النقر على الامر SUBMIT يتم تخزين البيانات الموجودة فى مربعات النصوص فى المتغيرات التى تم الاعلان عنها user, pass, balance .....ثم بعد ذلك يتم تجهيز الفئة DataServletClien و التى سيتم أنشائها فى الخطوة التالية
7_ نقوم بأنشاء فئة فرعية جديدة بأسم DataServletClien وهى التى ستشمل كافة المعلومات للازمة للاتصال MobileServlet الذى أنشاناه فى تطبيق الويب ....و ذلك على النحو التالى :
- الكود:
class DataServletClient implements Runnable, CommandListener {
//client can invoke servlet through SERVLET_URL
final String SERVLET_URL = "http://localhost:8080/MobileServlet/dataBaseServlet";
final Command EXIT = new Command("Exit", Command.EXIT, 1);
private dataBaseSevletMidlet parent;
private Display display;
private String user, pass, balance;
private TextBox tb = null;
private HttpConnection hc = null;
private InputStream is = null;
private OutputStream os = null;
StringBuffer sb = new StringBuffer();
DataServletClient(dataBaseSevletMidlet aThis, String user, String pass, String balance) {
this.parent = aThis; // set field
this.user = user;
this.pass = pass;
this.balance = balance;
// declaration field with initialization
display = Display.getDisplay(aThis);
tb = new TextBox("Client Site Response..", null, 1024, 0);
tb.addCommand(EXIT);
tb.setCommandListener(this);
display.setCurrent(tb);
}
void start() {
// invoke new thread and begin in execution
new Thread(this).start();
}
public void run() {
try {
// Open HTTP connection
hc = (HttpConnection) Connector.open(SERVLET_URL);
// client access servlet POST method
hc.setRequestMethod(HttpConnection.POST);
hc.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
hc.setRequestProperty("CONTENT-TYPE", "application/x-www-form-encoded");
//Open DataOutputStream and write data into Stream(in byte form)
String data = user + "?" + pass + "?" + balance + "?";
os = hc.openDataOutputStream();
os.write((data).getBytes());
os.flush();
//Open dataInputStream for connection.
is = hc.openDataInputStream();
int ch;
//Read the data form DataInputStream
while ((ch = is.read()) != -1) {
sb.append((char) ch); //Convert Byte into character
System.out.println((char) ch); // Display data on console
}
tb.setString(sb.toString()); // data append to textBox
} catch (IOException ex) {
Alert a = new Alert("Server Error!", "Cannot connect to server. Ping the server to make sure it's in running state....",
null, AlertType.ERROR);
a.setTimeout(Alert.FOREVER);
display.setCurrent(a);
} finally {
//Close all the Stream and Connection
try {
if (os != null) {
os.close();
}
if (is != null) {
is.close();
}
if (hc != null) {
hc.close();
}
} catch (IOException e) {
}
}
}
public void commandAction(Command c, Displayable d) {
if (c == EXIT || c == Alert.DISMISS_COMMAND) {
parent.destroyApp(true); //terminate application
}
}
}
كما ترون فى الشفرة أعلاه :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
هذا هو عنوان الوصول للتطبيق MobileServlet و الذى يحتوى على Servlet و الذى تم إنشاءة بأسم dataBaseServlet
8_ الان قم بشتغيل تطبيق الجوال و المخرجات ستكون على النحو التالى :
و فى النهاية أرجوا المعذرة فى قدرتى على التوضيح أكثر من ذلك
عدل سابقا من قبل أحمد مناع في الجمعة أغسطس 23, 2013 6:59 pm عدل 1 مرات
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
مشكور على جدا أخى أحمد ...و بالمناسبة فلقد وصلتم الى مراحل متقدمة فى الجافا ...و نتمنى أن نرى تطبيقات بأسم المنتدى للجوالات
المبرمج الطموح- الاشراف
- تاريخ التسجيل : 18/02/2011
المساهمات : 207
النقاط : 368
التقيم : 17
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
مع تحياتى ليك ابواحميد ...فك الحظر بقى عاوز اتخانق معاك شوية
جورج صبحى- ......
- تاريخ التسجيل : 18/02/2011
المساهمات : 127
النقاط : 259
التقيم : 6
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
مشكور جدا
أيمن الإبراهيم- ........
- تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
مشكور على الدرس الرائع
بس لي طلب هل بالامكان رفع مشروع سورس بالكامل
اذا بالامكان
بس لي طلب هل بالامكان رفع مشروع سورس بالكامل
اذا بالامكان
حمادة الجسر- .
- تاريخ التسجيل : 04/09/2013
المساهمات : 8
النقاط : 16
التقيم : 0
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
أخى أسعد سيتم رفع مشروع كامل و ذلك بعد حل مشكلة فضاء الحفظ فى المرفقاتاسعد ناصر كتب:مشكور على الدرس الرائع
بس لي طلب هل بالامكان رفع مشروع سورس بالكامل
اذا بالامكان
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
استاذ احمد شو سبب كل هالاخطاء في فئة وما الحل
أيمن الإبراهيم- ........
- تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
أخى ايمن ارجوا المعذرة لم استطيع أن ارى الاكواد التى فى الصورة ...لذلك ارجوا اعادة رفع صورة بحجم كبير ....ويمكنك استخدام 0zz0 لرفع الصور حيث تستطيع رفع الصورة الكبيرة عليه
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أيمن الإبراهيم- ........
- تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
اخى ايمن ...الصورة تظهر عدم أستيراد المكتبات التالية :
- الكود:
import java.io.*;
import java.sql.*;
import java.util.logging.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
استاذ احمد اضفت الاكواد المذكورة وبقيا الاخطاء وهذه صورة اخرى
واذا بالامكان ارسال كود كامل لفئة DataBaseClient
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
واذا بالامكان ارسال كود كامل لفئة DataBaseClient
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
أيمن الإبراهيم- ........
- تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
أخى ايمن .....اليك الشفرة الكاملة servlet و الذى يحتوى على الفئتين dataBaseServlet و DataBaseClient على النحو التالى
ضع أسم المستخدم للسرفر بدلا من user
ضع كلمة المرور للسرفر بدلا من pass
- الكود:
import java.io.*;
import java.sql.*;
import java.util.logging.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
public class dataBaseServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
BufferedReader br = request.getReader();
String s = br.readLine();
String user = s.substring(0, s.indexOf("?"));
int start = s.indexOf("?") + 1;
int end = s.indexOf('?', start + 1);
String pass = s.substring(start, end);
start = s.indexOf('?', start + 1);
end = s.indexOf('?', start + 1);
String balance = s.substring(start + 1, end);
DataBaseClient client = new DataBaseClient();
client.store(user, pass, balance);
out.println("Data sucessfully store into MYSQL DataBase");
out.close();
}
}
class DataBaseClient {
private Connection con = null;
private String sql = "INSERT INTO R4R.MOBILE (USERNAME, PASSWORD, BALANCE) VALUES ('?', '?', '?');";
void store(String user, String pass, String balance) {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://b4free.net:3306/egytech", "user", "pass");
if (!con.isClosed()) {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, user);
ps.setString(2, pass);
ps.setString(3, balance);
ps.execute();
System.out.println("Data Sucessfully Store into MYSQL DataBase");
} else {
System.out.println("Can't open MYSQL DataBase, try Later");
}
} catch (Exception ex) {
Logger.getLogger(DataBaseClient.class.getName()).log(Level.SEVERE, "An Exception occurred due processing request", ex);
} finally {
try {
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger.getLogger(DataBaseClient.class.getName()).log(Level.SEVERE, "An Exception occurred due processing request", ex);
}
}
}
}
- الكود:
con = DriverManager.getConnection("jdbc:mysql://b4free.net:3306/egytech", "user", "pass");
ضع أسم المستخدم للسرفر بدلا من user
ضع كلمة المرور للسرفر بدلا من pass
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
ويمكنك ملاحظة أن الخطأ الوارد فى الصورة هو أنك كتبت الشفرة بدون إنشاء الفئة
- الكود:
class DataBaseClient {
}
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
مشكور جدا استاذ احمد على الاجابة وتم جل المشكلة ولكن اعتذر لدي خطأ جديد
في مشروع تطبيق الجوال
في فئة dataBaseSevletMidlet
هذا الكود يلي قمت بكتابته اين الغلط ومشكور جدا
import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class dataBaseSevletMidlet extends MIDlet implements CommandListener {
final Command SUBMIT = new Command("Store", Command.OK, 1);
final Command EXIT = new Command("Exit", Command.EXIT, 2);
private Form form;
private TextField T_user, T_pass, T_balance;
public dataBaseSevletMidlet() {
// declaration field with initialization
form = new Form("DataBase Connection");
T_user = new TextField("Username", "", 10, TextField.PLAIN);
T_pass = new TextField("Password", "", 10, TextField.PLAIN);
T_balance = new TextField("Balance $", "", 12, TextField.NUMERIC);
form.append(T_user);
form.append(T_pass);
form.append(T_balance);
form.addCommand(SUBMIT);
form.addCommand(EXIT);
form.setCommandListener(this);
وهنااعطاني اشارة حمراء public void startApp() {
Display.getDisplay(this).setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void commandAction(Command c, Displayable d) {
if (c == EXIT) {
destroyApp(true);
} else if (c == SUBMIT) {
// Store value form TextField to String
String user = T_user.getString().trim();
String pass = T_pass.getString().trim();
String balance = T_balance.getString().trim();
// User can't allow to leave any TextField blank
if (!user.equals("") && !pass.equals("") && !balance.equals("")) {
// initialize new Class
DataServletClient client = new DataServletClient(this, user, pass, balance);
client.start();
} else {
Alert alert = new Alert("Blank Field Error", "Please Don't leave any Block empty!", null, AlertType.ALARM);
alert.setTimeout(1000);
Display.getDisplay(this).setCurrent(alert, d);
}
}
} هنا اعطا اشارة حمراء
في مشروع تطبيق الجوال
في فئة dataBaseSevletMidlet
هذا الكود يلي قمت بكتابته اين الغلط ومشكور جدا
import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class dataBaseSevletMidlet extends MIDlet implements CommandListener {
final Command SUBMIT = new Command("Store", Command.OK, 1);
final Command EXIT = new Command("Exit", Command.EXIT, 2);
private Form form;
private TextField T_user, T_pass, T_balance;
public dataBaseSevletMidlet() {
// declaration field with initialization
form = new Form("DataBase Connection");
T_user = new TextField("Username", "", 10, TextField.PLAIN);
T_pass = new TextField("Password", "", 10, TextField.PLAIN);
T_balance = new TextField("Balance $", "", 12, TextField.NUMERIC);
form.append(T_user);
form.append(T_pass);
form.append(T_balance);
form.addCommand(SUBMIT);
form.addCommand(EXIT);
form.setCommandListener(this);
وهنااعطاني اشارة حمراء public void startApp() {
Display.getDisplay(this).setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void commandAction(Command c, Displayable d) {
if (c == EXIT) {
destroyApp(true);
} else if (c == SUBMIT) {
// Store value form TextField to String
String user = T_user.getString().trim();
String pass = T_pass.getString().trim();
String balance = T_balance.getString().trim();
// User can't allow to leave any TextField blank
if (!user.equals("") && !pass.equals("") && !balance.equals("")) {
// initialize new Class
DataServletClient client = new DataServletClient(this, user, pass, balance);
client.start();
} else {
Alert alert = new Alert("Blank Field Error", "Please Don't leave any Block empty!", null, AlertType.ALARM);
alert.setTimeout(1000);
Display.getDisplay(this).setCurrent(alert, d);
}
}
} هنا اعطا اشارة حمراء
أيمن الإبراهيم- ........
- تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة :
الجنس :
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
أخى ايمن سأحاول رفع مثال كامل قريبا وأرجوا المعذرة على عدم دخولى النت من صباح الاربعاء الماضى ...وذلك بسبب المظاهرات التى نشبت فى الدولة التى اقيم فيها حاليا ...مما تضطر السلطات بقفل النت من حين لاخر
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية إتصال تطبيقات الجوال j2me بقواعد بيانات MYSQL على سرفر مجانى بأستخدام Servlet
الله يحميكن ومشكور جدا جدا
أيمن الإبراهيم- ........
- تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: برمجة تطبيقات الجوال Java ME
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
أمس في 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
أمس في 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد