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

java sms

مغلق
بدأه nour hadi في 21 فبراير 2007 · 17 رد · 2,035 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أحتاج إلى المكتبة التي من خلالها أستطيع التعامل مع sms ضمن J2ME أو على الأقل اسم المكتبة......

We Must Lose In Order To Win

#2

لقد استطعت الحصول على اسم المكتبة وكيفة التعامل معها.....

واسمها com.sun.midp.io.j2me.sms

ولكن لم أجد رابط التحميل ...هل من أحد يستطيع المساعدة؟؟؟؟

We Must Lose In Order To Win

#3

this is a exemple for send and receive sms

#4
send
----------------------------
package smstest;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.*;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Displayable;
public class SMSsender implements Runnable, CommandListener{
  private Display display;
  private MessageConnection smsconn;
  private Command cmdSend = new Command("Envoyer",Command.OK,1);
  private Command cmdBack = new Command("Annuler", Command.BACK,1);
  private String distinationAdresse;
  private String smsPort;
  private TextBox messageBox;
  private Displayable secreenSending;
  private Displayable secreenBack;
  public SMSsender(String smsPort,Display display, Displayable secreenSending, Displayable secreenBack) {
	this.display =  display;
	this.distinationAdresse = null;
	this.smsPort= smsPort;
	this.secreenBack = secreenBack;
	this.secreenSending= secreenSending;
	messageBox = new TextBox("Votre mesage : ",null,256, TextField.ANY);
	messageBox.addCommand(cmdSend);
	messageBox.addCommand(cmdBack);
	messageBox.setCommandListener(this);
}

  public void run() {
	String adresse = distinationAdresse;
	try{
	   smsconn = (MessageConnection)Connector.open(adresse);
	  TextMessage smstext = (TextMessage)smsconn.newMessage(MessageConnection.TEXT_MESSAGE);
	  smstext.setAddress(adresse);
	  smstext.setPayloadText(messageBox.getString());
	  smsconn.send(smstext);
	  }
	catch(Throwable th){
	System.out.println("sms interrompu");
	th.printStackTrace();
	}
	if(smsconn !=null){
	try{
	smsconn.close();
	}
	catch(Exception ex){
	System.out.println("fermetur de connexion sms...");
	ex.getMessage();
	}
	}
  }
public void promptAndSender(String distinationAdresse){
  this.distinationAdresse= distinationAdresse;
  display.setCurrent(messageBox);
  }
  public void commandAction(Command command, Displayable displayable) {
	String cmdLabel = command.getLabel();
	if(cmdLabel.equals("Envoyer")){
	display.setCurrent(secreenSending);
	new Thread(this).start();
	}
	else if(cmdLabel.equals("Annuler")){
	display.setCurrent(secreenBack);
	}
  }
}
************************************************************************************************************************************
receiive
----------------------------------------------------------------------------------------------------------------------------------------------
package smstest;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Displayable;
import javax.wireless.messaging.MessageConnection;
import java.io.*;
public class SMSReceive extends MIDlet implements Runnable, CommandListener, MessageListener{
  private static SMSReceive instance;
  private Thread thread;
  private Display display;
  private MessageConnection sconn;
  private Message smsMessage;
  private String[] listeConnection;
  private boolean done;
  private String adresseSender;
  private Displayable secreen;
  private String smsPort;
  private Alert smsRec;
  private TextBox messageRecue = new TextBox("", null, 256, TextField.ANY);
  private Command cmdExit = new Command("Exit",Command.EXIT,1);
  /** Constructor */
  public SMSReceive() {
	instance = this;
	smsPort = getAppProperty("SMS-Port");
	display = Display.getDisplay(this);
	smsRec =  new Alert("Reception de message patienter SVP...");
	smsRec.setTimeout(Alert.FOREVER);
	smsRec.addCommand(cmdExit);
	smsRec.setCommandListener(this);
	smsRec.setString("reçu............");
	secreen = smsRec;
  }

  /** Main method */
  public void startApp() {
	String smsConnection= "sms://:"+smsPort;
	if(sconn==null){
	try {
	  sconn = (MessageConnection) Connector.open(smsConnection);
	  sconn.setMessageListener(this);
	}
	catch (IOException ex) {
	  ex.printStackTrace();
	}
	}
	listeConnection = PushRegistry.listConnections(true);
	if(listeConnection.length==0 || listeConnection == null){
	smsRec.setString("Attender le sms sur le port "+smsPort+"...");
	}
	done = false;
	thread = new Thread(this);
	thread.start();
	display.setCurrent(secreen);
  }

  /** Handle pausing the MIDlet */
  public void pauseApp() {
	done = true;
	thread = null;
	secreen = display.getCurrent();
  }

  /** Handle destroying the MIDlet */
  public void destroyApp(boolean unconditional) {
	done = false;
	thread = null;
	 if(sconn!= null){
	  try {
		sconn.close();
	  }
	  catch (IOException ex) {
	  }
	 }
  }

  /** Quit the MIDlet */
  public static void quitApp() {
	instance.destroyApp(true);
	instance.notifyDestroyed();
	instance = null;
  }

  public void commandAction(Command command, Displayable displayable) {
	if(command == cmdExit || command == Alert.DISMISS_COMMAND){
	destroyApp(false);
	notifyDestroyed();
	}
  }

  public void run() {
	try{
	  smsMessage = sconn.receive();
	  if (smsMessage != null) {
		adresseSender = smsMessage.getAddress();
		messageRecue.setTitle("Message from: " + adresseSender);
	   if(smsMessage instanceof TextMessage){
		 messageRecue.setString(((TextMessage)smsMessage).getPayloadText());
		}
		 display.setCurrent(messageRecue);
	  }
	}
	catch(Throwable th){
	th.getMessage();
	}
  }

  public void notifyIncomingMessage(MessageConnection messageConnection) {
	if(thread==null){
	  done=false;
	  thread = new Thread(this);
	  thread.start();
	}
  }
}
---------------------------------------------------------------------------------------------------------------------------------
main program
_______________________________________________________________________
package smstest;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Displayable;
import javax.wireless.messaging.*;
public class base extends MIDlet implements CommandListener{
  private static base instance;
  private Display display;
  private String smsPort;
  private Form form;
  private TextField phoneNumber;
  private Command cmdOkk = new Command("ok", Command.OK,1);
  private Command cmdExit = new Command("Sortir", Command.CANCEL,2);
  private Alert alertSending;
  private Alert errorNumPhone;
  Displayable secreen;
  SMSsender  sender;
  /** Constructor */
  public base() {
	display = Display.getDisplay(this);
	smsPort = getAppProperty("SMS-Port");
	instance = this;
	display.getDisplay(this);
	phoneNumber = new TextField("num de tel", null, 13, TextField.PHONENUMBER);
	form = new Form("num");
	form.append(phoneNumber);
	form.addCommand(cmdOkk);
	form.addCommand(cmdExit);
	form.setCommandListener(this);
	secreen= form;
	alertSending = new Alert("SMS", null, null, AlertType.INFO);
	alertSending.setString("rien de tout :)");
	alertSending.setTimeout(5000);
	alertSending.setCommandListener(this);
	sender = new SMSsender(smsPort, display, form, alertSending);
  }

  /** Main method */
  public void startApp() {
	//Display.getDisplay(this).setCurrent(secreen);
	display.setCurrent(secreen);
  }

  /** Handle pausing the MIDlet */
  public void pauseApp() {
	secreen = display.getCurrent();
  }

  /** Handle destroying the MIDlet */
  public void destroyApp(boolean unconditional) {
  }

  /** Quit the MIDlet */
  public static void quitApp() {
	instance.destroyApp(true);
	instance.notifyDestroyed();
	instance = null;
  }
  private boolean isVAlideNumber(String number){
	char[] numTel = number.toCharArray();
	if(numTel.length==0){
	return false;
	}
   else{
	 return true;
   }
  }
  private void promptAndSend(){
	String adresse = phoneNumber.getString();
	boolean is = this.isVAlideNumber(adresse);
	System.out.println(is);
	if(!is){
	  errorNumPhone = new Alert("nulero de tel  est invalide", null, null,AlertType.INFO);
	  errorNumPhone.setString("Le numero de tel est invalide, verifier SVP");
	  display.setCurrent(errorNumPhone, form);
	  //Display.getDisplay(this).setCurrent(errorNumPhone,form);
	  return;
	}
  sender.promptAndSender("sms://"+adresse);
  }

  public void commandAction(Command command, Displayable displayable) {
	try{
	  if (command == cmdOkk || command == Alert.DISMISS_COMMAND) {
		this.promptAndSend();
	  }
	  else if (command == cmdExit) {
		destroyApp(false);
		notifyDestroyed();
	  }
	}
	catch(Exception ex){
	  ex.printStackTrace();
	}
  }
}

تم تعديل هذه المشاركة بواسطة nardien28 في 26 فبراير 2007 في 16:57

#5

السلام عليكم

أخي nour hadi شكرا جزيلا لك على هدا الطرح الطيب

فعلا أنا محتاحة هده الفكرة في مشروع لي

أخي gonzaman666 شكرا جزيلا لك على المساعدة

فقط لي سؤال هل فقط كل الذي يلزمني لإرسال رسالة sms

هو كتابة الكود الي حضرتك وضعتها

اش الأشياء الضرورية تكون متوفرة عندي علشان ارسل رسالة sms

مع العلم أن خبرتي في j2me صفر و إن شاء الله سأبدأ في تعلمها قريبا

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

#6

مرحبا ...

شكرا جزيلا الأخت jfriend و الأخ gonzaman666 :lol:

لقد تعرفت على j2me من بضعة أيام فقط وذلك لأني أحتاجها في مشروعي والذي مهمته (بإيجاز): :wacko:

لدي حاسب موصول بجهاز موبايل بحيث يقوم هذا الموبايل باستقبال sms من جهاز موبايل آخر وارسال هذه ال sms إلى الحاسب عن طريق وصلة usb فيقوم

الحاسب بمعالجة الرسالة ليقوم بمهام معينة

و قد واجهتني بعض التساؤلات أرجو منكم العون

بالنسبة للتعليمة التالية التي عن طريقها أفتح رابطة لاستقبال SMS

String smsConnection= "sms://:"+smsPort";

sconn = (MessageConnection) Connector.open(smsConnection);

Smsport ماذا يمثل ومن أين أحصل عليه؟؟؟؟

وسؤال آخر ماهي المكتبة التي أستطيع من خلالها ارسال رسالة من الموبايل إلى الحاسب عن طريق منفذ ال usb :rolleyes:

مشكورين جدا جدا (h)

تم تعديل هذه المشاركة بواسطة nardien28 في 26 فبراير 2007 في 16:59

We Must Lose In Order To Win

#7

السلام عليكم

أخي nour hadi الفكرة تعت حضرتك كتير جميلة و شدت

انتباهي كتير.

بس المشكلة الي احنا خايفين منها في ارسال رسائل smsهي انه الحزم

ما تكون free فنوقف بنص الطريق و خاصة انه حاولت اعمللها

download ما قدرت يا ريت ياريت اذا حد عنده حزمهjavax.microedition

يحكيلنا من وين نزلها

ممكن أخي تحكيلنا أكتر عن مشروعك

,طيب و لنفرض انه الsms وصلت الحهاز

اش بعدين ؟ هل الحاسوب حيعالج الرسالة بدون تدخل منك

اذا نعم كيف ؟ و زي إش الأشياء الي حتحتويها الرساله حتى يعالجها الحاسوب

كيف حيعالج الرسالة بدون تدخل منك

تم تعديل هذه المشاركة بواسطة jfriend في 24 فبراير 2007 في 21:14

#8
jfriend كتب:
السلام عليكم

أخي nour hadi الفكرة تعت حضرتك كتير جميلة و شدت

انتباهي كتير.

السلام عليكم الأخت jfriend شكرا جزيلا لك على الإهتمام....أود في البداية أن أوضح أني فتاة...

jfriend كتب:
السلام عليكم

بس المشكلة الي احنا خايفين منها في ارسال رسائل smsهي انه الحزم

ما تكون free فنوقف بنص الطريق و خاصة انه حاولت اعمللها

download ما قدرت يا ريت ياريت اذا حد عنده حزمهjavax.microedition

يحكيلنا من وين نزلها

أولا يجب أن يكون لديك JDK خاص ب J2ME حيث ممكن أن تجديه ضمن بيئة التطوير JBILDERX أو JBUILDER2006 تستطعين البحث ضمن الHELP لمعرفة كيفية بناء تطبيقات الموبايل MIPD

حيث أن هذه المكتبة موجودة .. ضمنه

jfriend كتب:
ممكن أخي تحكيلنا أكتر عن مشروعك

,طيب و لنفرض انه الsms وصلت الحهاز

اش بعدين ؟ هل الحاسوب حيعالج الرسالة بدون تدخل منك

اذا نعم كيف ؟ و زي إش الأشياء الي حتحتويها الرساله حتى يعالجها الحاسوب

كيف حيعالج الرسالة بدون تدخل منك

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

فكرة مشروعي هي حجز في مطعم عن طريق خدمة SMS مشكلتي هي بالضبط نقل الرسالة المستقبلة من الموبايل للحاسب عن طريق منفذ ال usb فبعد أن تصل الرسالة للحاسب سأقوم أ نا طبعا بواسطة تطبيق على الحاسب بمعاجة الرسالة (حبث يجب أن تكون بتنسيق معين مثلا ) ثم يقوم بالحجز الذي هي عبارة عن بعض عمليات البحث و الاضافة ضمن DATABASE ثم علي أن أرسل رسالة للزبون بإعلامه ببعض تفاصيل الحجز

لذلك أعود وأكرر أسئلتي السابقة

بالنسبة للتعليمة التالية التي عن طريقها أفتح رابطة لاستقبال SMS

String smsConnection= "sms://:"+smsPort";

sconn = (MessageConnection) Connector.open(smsConnection);

Smsport ماذا يمثل ومن أين أحصل عليه؟؟؟؟

وسؤال آخر ماهي المكتبة التي أستطيع من خلالها ارسال رسالة من الموبايل إلى الحاسب عن طريق منفذ ال usb

تم تعديل هذه المشاركة بواسطة nardien28 في 26 فبراير 2007 في 17:01

We Must Lose In Order To Win

#9

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

شكرا جزيلا لك أخت نور و أعتذر أختي عن هدا

الخطأ فأنا لم أركز جيدا بالأسم

أختي هل أنت متأكدة أنه توجد حزمة تقوم بارسال رسائل الsms

من الهاتف النقال إلى جهاز الحاسوب؟

إذا كان نعم اش بكون امتداد الرسائل بعد ما أنقلهم إلى الحاسوب

و هل انت إلى حتخلي الحاسوب نفسه يروح ياخد الرسائل من الموبايل عن طريق و صلة

usb و لاّ انت حترسليهم من خلال الموبايل عن طريق usb

ممكن توضحي أكتر عن إمكانيات هاي الحزمة و كيف بتشتغل

تم تعديل هذه المشاركة بواسطة jfriend في 25 فبراير 2007 في 17:31

#10

عزيزتي jfriend

الكود السابق الذي وضعه الأخ gonzaman666 هو Mobile P2P messaging أي ارسال\استقبال رسالة بين موبايلين وهذا سأحتاجه في إحد أجزاء مشروعي

ولكن ما أحاول تعلمه الآن هو كيفة حصول الحاسب على على الرسالة الذي يستقبلها الموبايل الموصول به وبصراحة ليس لدي فكرة عن كيفة حدوث ذلك ولا أعلم إن كان هناك مكتبة تمكنني من ذلك :wacko: ولكني حصلت على هذا الرابط وأنا الآن أحاول التعلم منه :rolleyes:

[post=http://www.developershome.com/sms/howToSendSMSFromPC.asp]http://www.developershome.com/sms/howToSendSMSFromPC.asp

أرجو أن تكون أفكاري قد أصبحت واضحة لديك

و أرجو من كل من يستطيع المساعدة....المشاركة والإجابة على أسئلتي السايقة

شكرا

We Must Lose In Order To Win

#11

السلام عليكم

أختي الكريمة نور اش الفايدة من الحزمة الي بتنقل

الSMS من النقال الى الحاسوب انا شايفة إنها مش ضرورية

انت ارسلها عادي عن طريق usb او IR أو البلوتوث

و احفظيها بامتدادtxt و بعدين اقرئي من هدا الفايل. انا مش شايفة إلها أي أهمية

إلاّ في حالة إنها تخلي الحاسوب لوحده يروح يقرا الرسالة

و إنت ما تدخلي إلاّ في معالجة الرساله

على العموم انا رايح أعمل حهدي حتى ألقى هدي البكج اذا كانت موجودة

#12
jfriend كتب:
إلاّ في حالة إنها تخلي الحاسوب لوحده يروح يقرا الرسالة

و إنت ما تدخلي إلاّ في معالجة الرساله

هذا ما أريده بالضبط أن تصل الرسالة للحاسوب دون تدخل مني

أعتقد أن وجدت ما أريده ضمن الرابط الذي وضعته انا سابقا ووجدت أيضا المكتبة وأنا الآن أحاول التعلم من turtorial تستطعين زيارة الرابط السابق لتوضيح الفكرة..

شكرا جزيلا على تعاونك......

We Must Lose In Order To Win

#13

السلام عليكم ...

يمكنك ارسال رسالة من موبايل الي الحاسوب واستقبالها بواسطة الـــ gsm modem الزي يكون موصلا مع الحاسوب ومهمة الــ gsm modem هي

ان يقوم باستقبال المكالمات او الرسائل القادمة الية ,.,,, او القادمة الي رقم الـــ sim card التي توجد داخلة ......... ويمكنك التحكم

في الـــ gsm modem بواسطة الــ at command ....بحيث يمكنك قراء الرسائل الواردة و ارسال الرسائل ايضا ....

بالنسبة للــــ sms port >>>> فبامكانك وضع اي رقم مثلا ممكن ان تضعي 500 او 300 او 200 لا يوجد رقم محدد ...

لكن بالنسبة للــ applecation الموجود علي الــ server لابد ان يكون رقم الــ sms port نفس الرقم المكتوب في الــ applecation

الموجود في الموبايل ....

بالنسبة للمكتبات يوجد بعض المكتبات التي تساعدك علي التعامل مع الـــ gsm modem >>>>>>>

راجع الرابط التالي :

http://www.developershome.com/sms

>>>

#14

السلام عليكم

شكرا جزيلا لك أخت نور و لك أخي الكريم FTOHAA

الحمد لله لقد تم تنزيل المكتبة بعد عناء ثلاث أيام من السهر طويلا حتى اذان الفجر.

ظايل بس أحمل sdk

يا ريت يا اختي الكريمه إذا نجحت في قراءة sms تخبريني

بس لو سمحتوا إش هو بالزبط الgsm modem

هل هو هاردوير ولاّ سوفتوير و كيف أحصل عليه و

كيف أخليه يتعامل مع الجافا يعني إذا زي ما بتقول انه بيستقبل الرسائل الجديدة

كيف أخلي ملف الجافا read message اول ما توصل يروح يقرأها.

#16

السلام عليكم

شكرا جزيلا لك أخي FTOHAA

هل يا أخي أتبع checkhand protocol حتى أعرف هل الرسالة وصلت و لاّ لا

و لا في طريقة أسهل حتى أقرأ من gsm modem

كيف ممكن أتعامل مع البولنج بروتوكول

#18

أخ FTOHAA شكرا جزيلا لك و بارك الله فيك

سأقوم بقراءة الروابط جيدا و لكن يبدو من النظرة العامة لهذه الروابط أنها

تحتوي على ما أبحث عنه أخي بارك الله فيك

هذا الموضوع مغلق.

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