| Recieve SMS | |
|
|
نويسنده | پيام |
---|
Admin Admin
تعداد پستها : 455 Location : Linux Registration date : 2007-08-28
| عنوان: Recieve SMS الإثنين فبراير 25, 2008 6:16 am | |
| سلام از کد پایین برای دریافت اس ام اس استفاده کنید: - كد:
-
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import javax.wireless.messaging.*; import java.io.*; import java.lang.*; import java.util.*;
/** * * @author Leila * @version */ public class WMAserver extends MIDlet implements CommandListener,MessageListener{ private Command exitCommand; private Command getMsgCommand; private Display display; Form displayForm; String msgRecieved; MessageConnection serverConn; public WMAserver(){ display=Display.getDisplay(this); exitCommand=new Command("Exit",Command.SCREEN, 1); getMsgCommand=new Command("Get",Command.SCREEN, 1); } public void startApp() { displayForm=new Form("Get Messsage"); displayForm.addCommand(exitCommand); displayForm.addCommand(getMsgCommand); displayForm.setCommandListener(this); display.setCurrent(displayForm); try{ serverConn=(MessageConnection)Connector.open("sms://:5000"); serverConn.setMessageListener(this); }catch(IOException e){ System.out.println("Server Connection"); e.printStackTrace(); } } public void notifyIncomingMessage(MessageConnection conn){ Message msg=null; try{ msg=conn.receive(); }catch(Exception e){ System.out.println("ProcessMessage.reciver"+e); } if(msg instanceof TextMessage){ TextMessage tmsg=(TextMessage)msg; msgRecieved=tmsg.getPayloadText(); } } public void pauseApp() { } public void destroyApp(boolean unconditional) { try{ if(serverConn !=null){ serverConn.setMessageListener(this); serverConn.close(); } }catch(IOException e){ e.printStackTrace(); } } public void commandAction(Command c,Displayable d){ if(c==exitCommand){ destroyApp(false); notifyDestroyed(); } if(c==getMsgCommand){ try{ displayForm.append(msgRecieved); display.setCurrent(displayForm); }catch(Exception e){ e.printStackTrace(); } } } }
| |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS الإثنين يونيو 23, 2008 9:27 am | |
| میشه این کد رو یکم توضیح بدید . و اون قسمت های مهم اش رو جدا نشون بدید ؟ | |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS الخميس يوليو 03, 2008 1:22 pm | |
| سلام
برنامه بالا داخل محیط netbeans اجرا میشه اما نمی دونم چرا اضافه کردن Runnable, MessageListener به برنامه باعث میشه برنامه روی گوشی اصلا اجرا نشه. البته نصب می شه اما اجرا نمی شه
لطفا راهنمایی کنید !!!
با تشکر | |
|
| |
leila5552
تعداد پستها : 9 Location : Iran Registration date : 2007-09-29
| عنوان: رد: Recieve SMS الخميس يوليو 03, 2008 10:54 pm | |
| سلام این برنامه در صورتی کار میکنه که با یه برنامه دیگه از همین پورت 5000 بهش پیام ارسال بشه. messageListener هم برای دریافت sms استفاده میشه. هر وقت sms به این پورت وارد بشه توسط messageListener شناسایی میشه و در قسمت notifyIncommingMessage ما به برنامه میگیم با sms دریافتی چه کار کنه.. اگر خواستید برنامه ارسال sms را براتون میذارم
موفق باشید | |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS الجمعة يوليو 04, 2008 12:21 am | |
| ممنون می شم اگر برنامه ارسال و دریافت رو بگذارید
اما در حال حاظر مشکل من اینه که برنامه روی گوشی نصب می شه اما run نمیشه و وقتی این اتفاق می افتد که خط
public class SMSReceive extends MIDlet implements CommandListener
به خط زیر تغییر می کنه یعنی می خواهیم برنامه به پیام ها هم واکنش نشون بده public class SMSReceive extends MIDlet implements CommandListener, Runnable, MessageListener {
گوشی من 6630 nokia هست.
به نظر شما نباید در جایی تنظمات خاصی انجام دهم . مثلا در properties
با تشکر !! | |
|
| |
haamoon
تعداد پستها : 308 Registration date : 2008-02-07
| عنوان: رد: Recieve SMS الجمعة يوليو 04, 2008 3:15 am | |
| - prince-of-persia نوشته است:
- ممنون می شم اگر برنامه ارسال و دریافت رو بگذارید
اما در حال حاظر مشکل من اینه که برنامه روی گوشی نصب می شه اما run نمیشه و وقتی این اتفاق می افتد که خط
public class SMSReceive extends MIDlet implements CommandListener
به خط زیر تغییر می کنه یعنی می خواهیم برنامه به پیام ها هم واکنش نشون بده public class - كد:
-
SMSReceive extends MIDlet implements CommandListener, Runnable, MessageListener { گوشی من 6630 nokia هست.
به نظر شما نباید در جایی تنظمات خاصی انجام دهم . مثلا در properties
با تشکر !! با توضیحات کمی که دادین تنها چیزی که می تونم با اطمینان بگم اینه که تنظیمات خاصی نیاز نیست و اگر همه ی کارها را درست انجام بدید نباید مشکلی پیش بیاد. اول چرا از thread استفاده می کنید(دریافت پیام نیازی به thread نداره)؟ آیا توش کد خاصی دارید که می خوایین اجرا کنید؟برای واکنش به پیام لازم نیست از thread استفاده کنید همونطوری که لیلا گفت واکنش رو تو تابع notifyIncomingMessage انجام بدید. دوم تابع run() رو نوشتید؟ سوم تابع run رو این جوری اجرا کنید. - كد:
-
SMSReceive reciver = new SMSReceive(); Thread mythread = new Thread(reciver); mythread.start();
چهارم مشکلی تو emulator ندارید؟ پنجم وقتی تو گوشی اجرا می کنید چه error می ده؟ شاید داره اجرا می شه ولی تو کد قرار نیست کاری انجام بده اگر نمی دونید thread programming وRunnable دقیقا چیه بگید توضیح بدم. | |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS الجمعة يوليو 04, 2008 6:34 am | |
| منظورم از تنظیمات خاص یک چیزی مثل تنظیم فایل jad مثل زیر هست. - كد:
-
For information the JAD looks like : MIDlet-Name: FREDMidlet MIDlet-Version: 1.0 MIDlet-Vendor: FRED MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC-1.0 MIDlet-Jar-URL: FRED.jar MIDlet-Jar-Size: 22753 MIDlet-Icon: /icone.gif MIDlet-Push-1: sms://:16666, FREDMidlet, * MIDlet-Permissions: javax.microedition.io.Connector.sms, javax.wireless.messaging.sms.send, javax.wireless.messaging.sms.receive MIDlet-1: FREDMidlet, /icone.gif, FREDMidlet و اصولا چه چیز هایی رو باید در permission معرفی کرد و آیا اگر از یک چیزی مثل javax.microedition.io.Connector.sms استفاده کنیم اما در permission وارد اش نکنیم باعث اجرا نشدن روی گوشی مشه من بعضی برنامه ها رو که روی 7610 می خوام نصب کنم پیغام authorization faild میده اما روی مثلا 6630 راحت نصب و اجرا می شه , دلیل اش چی می تونه باشه ؟ متوجه منظورتون از thread نشدم من کد بالا رو کامل کپی کردم اگر لطف کنید و در موردش توضیح بدبد ممنون می شم *وقتی که من خط اول برنامه رو به اون چیزی که شما گفتید تغییر می دهم خودش notifyIncomingMessage و run رو می سازه . *اگر لطف کنید در مورد run توضیح بدهید ممنون می شم .چون در کدی که admin نوشته اند نبود من هم ننوشتم. میشه بگید داخل این تابع چه چیز هایی باید بنویسم ؟ *نه تویemulator برنامه راحت اجرا میشه اما روی 7610 پیغام authorization faild رو موقع نصب ميىه و روي 6630 نصب ميشه اما اجرا نمي شه و هيچ error هم نمی دهد. * اگر لطف کنید و در مورد thread programming وRunnable توضیح بدهید ممنون می شوم . | |
|
| |
haamoon
تعداد پستها : 308 Registration date : 2008-02-07
| عنوان: رد: Recieve SMS الجمعة يوليو 04, 2008 9:02 am | |
| دقیقا نمی دونم، ولی تا حالا گوشی ندیده بودم که اگر premission هاشو تو jad ننویسی کار نکنه.امیدوارم اگر کسی دقیق می دونه توضیح کاملتری بده. ولی اینو می دونم که هرچی که تو jad اضافه می کنید در فایل MANIFEST.MF\META-INF در jar فایل هم اضافه کنید. کد ادمین به نظر من هیچ مشکلی نداره و روی 6630 هم باید جواب بده چون من قبلا از این کد استفاده کردم و اگر می خوایین مطمین بشم فایل .java رو برام بفرستید 6630 هم دم دست دارم. ولی در مورد Runnable و ... که شما اولین بار این رو به کدتون اضافه کردین و دلیلشم هم نمی دونم، اینجا نیازی نیست. یه کوچولو هم راجب دوستمون thread: thread به معنی ریسمان. برنامه های عادی شما یک ریسمانی هستند یعنی اینکه cpu دستورات شما رو یکی یکی پشت سر هم اجرا می کنه تا برنامه تموم شه. وقتی یک برنامه چند ریسمانی می شه انگار چندتا cpu دارن بطور موازی تیکه های مختلف کد شما رو اجرا می کنن. مثلا شما در یک thread داری ورودی رو می خونی و در یک thread دیگه داری خروجی رو چاپ می کنی.اگر این کار رو با یک thread انجام بدی اول ورودی رو می خونی بعد مقدارشو در خروجی چاپ می کنی.(یعنی بطور سری) ولی با دو تا thread این کار ور می تونی بصورت موازی انجام بدی البته وقتی می گم موازی شبه موازی چون cpu که در هر لحظه 1 دستور بیشتر اجرا نمی کنه.شرمنده توضیح و مثالم کاملا شخمی شد! با اون کاری که گفتم در واقع تابع run اجرا می شه ولی نه بصورت یک function call معمولی و بلکه در یک thread دیگه و این thread هم که اونو راه انداخت می ره یک جای دیگه بکار خودش می رسه. البته توضیحاتم اصلا خوب نبود و حق دارید متوجه نشید اگر جایی خواستید از این خاصیت استفاده کنید اونجا بهتر می تونم کمکتون کنم. | |
|
| |
haamoon
تعداد پستها : 308 Registration date : 2008-02-07
| عنوان: رد: Recieve SMS الجمعة يوليو 04, 2008 9:14 am | |
| - leila5552 نوشته است:
- سلام
این برنامه در صورتی کار میکنه که با یه برنامه دیگه از همین پورت 5000 بهش پیام ارسال بشه. messageListener هم برای دریافت sms استفاده میشه. هر وقت sms به این پورت وارد بشه توسط messageListener شناسایی میشه و در قسمت notifyIncommingMessage ما به برنامه میگیم با sms دریافتی چه کار کنه.. اگر خواستید برنامه ارسال sms را براتون میذارم
موفق باشید سلام مرسی از توضیحات خوبتون ولی یه مشکل کوچیک داره توش اونم اینه که MessageListener چیزی رو شناسایی نمی کنه چون یک interface ساده بیشتر نیست. interface هم فقط تظمین می کنه که کلاس شما یه سری توابع و متغییرها رو داشته باشه که اینجا همون تابع notifyIncommingMessage که شما باید حتما اضافش کنید، و چیزی که دریافت sms رو شناسایی می کنه تو همون کلاس MessageConnection پیاده سازی شده و جایی که شما serverConn.setMessageListener(this); رو انجام می دی در واقع داری می گی که وقتی پیام اومد تابع notifyIncommingMessage رو از همین کلاس صدا کن. ممنون می شم سورس دریافت و ارسال sms تست شده رو در قسمت سورس های آماده بذارید تا همه استفاده کنن. | |
|
| |
leila5552
تعداد پستها : 9 Location : Iran Registration date : 2007-09-29
| عنوان: رد: Recieve SMS السبت يوليو 05, 2008 9:35 am | |
| سلام من فضايي براي upload ندارم. بگيد كجا upload كنم. فايم آمادست | |
|
| |
haamoon
تعداد پستها : 308 Registration date : 2008-02-07
| عنوان: رد: Recieve SMS السبت يوليو 05, 2008 11:37 am | |
| - leila5552 نوشته است:
- سلام
من فضايي براي upload ندارم. بگيد كجا upload كنم. فايم آمادست متاسفانه جایی برای آپلود فایل های فرم وجود نداره اگر براتون ممکن کدش رو کپی پست کنید در داخل پست تون و اگر نه ایمیل کنید به من یک جایی برای آپلودش پیدا می کنم.بازم ممنون | |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS السبت يوليو 05, 2008 11:48 am | |
| اینجا آپلود کنید http://www.rapidshare.com لطفا کل برنامه رو ارسال کنید تا از تنظیمات PEROPERTY و ... هم خیالمون راحت باشد .
این برنامه ارسال و دریافت sms روی پرت 201 هست که من ازش جواب گرفتم (همون مثال خود NETBEANS هست با یکم تغییرات خودم)اما موقع نصب روی 7610 authorization faild میدهد. http://rapidshare.com/files/127373346/best_sms.zip.html
*(برای دانلود راحت لینک بالا رو با استفاده از http://WWW.RAPIDBAZ.COM دانلود کنید .)
لطفا روی گوشی هاتون نصب کنبد. 1-بعد از نصب 2 تا برنامه میده 2-ابتدا sms resive رو اجرا کنید و بدون اینکه برنامه رو ببندبد send sms رو اجرا کنید 3-حالا به شماره خودتون یک پیام بفرستید 4-میبینید که پیام رو دریافت میکنه لطفا این برنامه رو روی گوشی های مختلفتون نصب کنید و نتیجه رو بگید.
اگر کسی پیام authorization faild پیام رو روی هر گوشی مثل 7610 دید ودلیل اش رو میدونه توضیح بدهد لطفا
راستی کجای این برنامه رو باید تغییر بدم تا موقع اومدن SMS روی یک پرت خاص حتی اگر برنامه بسته باشه خودش اجرا بشه ؟ من روی 6630 راحت نصبش کردم
بچه ها ایمیل منو داشته باشید : mskazemi20(!AT!)yahoo(!DOT!)com اگر نتونستید دانلود کنید آدرس میل بدید تا بفرستم. اما با استفاده از rapidbaz.com راحت میتونید فایل هایی که در rapidshare.com آپلود شده رو دریافت کنید.
با تشکر | |
|
| |
leila5552
تعداد پستها : 9 Location : Iran Registration date : 2007-09-29
| عنوان: رد: Recieve SMS الأحد يوليو 06, 2008 8:20 am | |
| سلام .برنامه رو براتون ميل كردم .لطفا زحمت آپلودش رو خودتون بكشيد. ممنون و موفق باشيد
برای انسانهای بزرگ هیچ بن بستی وجود ندارد ، زیرا آنان بر این باورند كه : یا راهی خواهم یافت و یا راهی خواهم ساخت | |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS الأحد يوليو 06, 2008 10:44 am | |
| برای من که میل نکردید.همین حالا چک کردم.
اگر ممکنه برنامه ایی که بالا گذاشتم رو یک نگاهی بندازید ببینید چرا نصب نمی شه ؟
ممنون | |
|
| |
haamoon
تعداد پستها : 308 Registration date : 2008-02-07
| عنوان: رد: Recieve SMS الأحد يوليو 06, 2008 2:06 pm | |
| - prince-of-persia نوشته است:
- برای من که میل نکردید.همین حالا چک کردم.
اگر ممکنه برنامه ایی که بالا گذاشتم رو یک نگاهی بندازید ببینید چرا نصب نمی شه ؟
ممنون فکر می کنم برای من ایمیل کردن منم هرچی می گردم یه جای خوب پیدا کنم برای آپلود جایی پیدا نمی کنم، آخرش هم تو rapidshare.com آپلود کردم، اگر کسی می تونه برای من دعوت نامه پرشین گیگ بفرسته ممنون می شم،کم کم دارم از این وضع خسته می شم، به نظر من حق شماست و البته خودم که تو یک جای خوب که لااقل امکان آپلود فایل رو بده و کدهاتون هم درست بشه past کرد فعالیت کنید ولی خوب چه کنم از دست من کاری بر نمی یاد! بگذریم، کد شما که به اسم Best_sms هم بود خیلی اوضاعش خراب بود! شما یک کلاس sms_send اضافه کردی که رو پرت 201 می فرسته(تاره نمی دونم چرا وقتی با 6630 امتحان کردم رو پورت پالیک فرستاد!) بعد یه کلاس دیگه داری که receiver است ولی توش از شی Send هم داری! تازه به پورت 50000 گوش می کنه، من نمی دونم پورت می تونه چند بایتی باشه ولی این عدد هم خیلی بزرگه. در هر صورت به نظرم تغییرات رو خوب ندادی و کد خوبی از آب در نیومده متاسفانه. قسمتreceiver رو گوشی W810 اجرا نشد و send هم روی 6630 روی پورت پالیک انجام شد. به نظر من بهتره از سورس leila هم استفاده کنی تا مشکلات کدت پیدا بشه. در مورد 7610 من می دونم بعضی از گوشی ها اجازه ی استفاده از برنامه یی که نیاز به permission دارن رو تنها در صورتی می ده که برنامه امضا شده باشه. ولی نمی دونم این گوشی تو این دسته هست یا نه مشکلت رو در google.com سرچ کن و اگر به چیز مفیدی رسیدی اینجا برای ما هم بذار موفق باشی. | |
|
| |
prince-of-persia
تعداد پستها : 70 Registration date : 2008-05-26
| عنوان: رد: Recieve SMS الإثنين يوليو 07, 2008 3:19 am | |
| لطفا برنامه رو برای من هم میل کنید.
با تشکر. | |
|
| |
haamoon
تعداد پستها : 308 Registration date : 2008-02-07
| عنوان: رد: Recieve SMS الإثنين يوليو 07, 2008 4:36 am | |
| | |
|
| |
| Recieve SMS | |
|