<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

    3G 手機開發網

       :: 首頁 :: 聯系 :: 聚合  :: 管理
      99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
    這幾天由于公司的需要,見到有些同事用手機刷卡,覺得很痛苦。
    今天早上回來就產生了一個想法,不如用j2me實現一個短信發送機的程序,然后只需要填入幾個數字就可以實現短信的自動發送等。
    經過大概2個小時的奮斗,終于寫好了,并且在多部不同品牌的機器運行良好,而且很實用,不過可以有些手機需要數字簽名,否則的話,會不停的提示你。郁悶,不過索愛跟三星就可以設置。
    現在公布源代碼跟按照文件
    先讓大家看個圖
     

    java 代碼
    1. /********************************************************************
    2. * 項目名稱 :j2me學習
    3. *
    4. * Copyright 2005-2006 Wuhua. All rights reserved
    5. ********************************************************************/
    6. package org.fox.sms;

    7. import java.io.IOException;

    8. import javax.microedition.io.Connector;
    9. import javax.microedition.lcdui.Command;
    10. import javax.microedition.lcdui.CommandListener;
    11. import javax.microedition.lcdui.Displayable;
    12. import javax.microedition.lcdui.Form;
    13. import javax.microedition.lcdui.TextField;
    14. import javax.wireless.messaging.MessageConnection;
    15. import javax.wireless.messaging.TextMessage;

    16. /**
    17. * 類名:SMSForm.java
    18. * 編寫日期: 2007-5-25
    19. * 程序功能描述:
    20. * Demo:
    21. * Bug:
    22. *
    23. * 程序變更日期 :
    24. * 變更作者 :
    25. * 變更說明 :
    26. *
    27. * @author wuhua
      rrq12345@163.com
    28. */
    29. public class SMSForm extends Form
    30. implements CommandListener, Runnable{

    31. Command send = new Command("發送", Command.OK, 1);
    32. Command back = new Command("返回", Command.BACK, Command.BACK);
    33. TextField phone;
    34. TextField content;
    35. TextField num;
    36. TextField timeOut;
    37. TextField text;
    38. String serverPort = "5000";// getAppProperty("serverPort");
    39. int sms;

    40. Menu menu;
    41. public SMSForm(Menu m) {
    42. super("短信發送機");

    43. setCommandListener(this);
    44. text = new TextField("狀態", "等待發送短信", 20, TextField.ANY);
    45. phone = new TextField("號碼", "XXXX:", 20, TextField.NUMERIC);
    46. content = new TextField("指令", "777", 10, TextField.NUMERIC);
    47. num = new TextField("條數", "23", 10, TextField.NUMERIC);
    48. timeOut = new TextField("時間格", "10", 10, TextField.NUMERIC);
    49. this.append(phone);
    50. this.append(content);
    51. this.append(num);
    52. this.append(timeOut);
    53. this.append(text);
    54. this.addCommand(send);
    55. this.addCommand(back);
    56. this.menu = m;

    57. }

    58. public void commandAction(Command c, Displayable arg1) {
    59. if(c == send){
    60. new Thread(this).start();
    61. this.removeCommand(send);
    62. }else{
    63. SMSSenderMIDlet.display.setCurrent(menu);
    64. }

    65. }

    66. public void run() {
    67. int num = Integer.parseInt(this.num.getString());
    68. int sleep = Integer.parseInt(this.timeOut.getString());
    69. while(true){
    70. //System.out.println(sleep);
    71. if(sms < num){
    72. senderImpl();
    73. }
    74. else{

    75. SMSSenderMIDlet.display.setCurrent(menu);
    76. break;
    77. }
    78. try {
    79. //System.out.println(sleep);
    80. Thread.sleep(sleep*1000);
    81. //System.out.println(sleep);
    82. } catch (InterruptedException e) {
    83. e.printStackTrace();
    84. }

    85. }


    86. }

    87. private void senderImpl() {
    88. String addr = "sms://" + phone.getString();
    89. System.out.println("發送地址為:" + addr);
    90. MessageConnection conn;
    91. try {
    92. conn = (MessageConnection) Connector.open(addr);
    93. TextMessage msg = (TextMessage) conn
    94. .newMessage(MessageConnection.TEXT_MESSAGE);
    95. msg.setPayloadText(content.getString());
    96. conn.send(msg);
    97. conn.close();
    98. sms++;
    99. //text = sms+"";
    100. text.setString("成功發送" +this.num.getString() + "第" + sms + "條");

    101. } catch (IOException e) {
    102. // TODO 自動生成 catch 塊
    103. e.printStackTrace();
    104. }
    105. }

    106. }



    107. /********************************************************************
    108. * 項目名稱 :j2me學習
    109. *
    110. * Copyright 2005-2006 Wuhua. All rights reserved
    111. ********************************************************************/
    112. package org.fox.sms;

    113. import javax.microedition.lcdui.Command;
    114. import javax.microedition.lcdui.CommandListener;
    115. import javax.microedition.lcdui.Displayable;
    116. import javax.microedition.lcdui.List;

    117. /**
    118. * 類名:Menu.java
    119. * 編寫日期: 2007-5-25
    120. * 程序功能描述:
    121. * Demo:
    122. * Bug:
    123. *
    124. * 程序變更日期 :
    125. * 變更作者 :
    126. * 變更說明 :
    127. *
    128. * @author wuhua
      rrq12345@163.com
    129. */
    130. public class Menu extends List implements CommandListener{

    131. Command send = new Command("打開發送機", Command.OK, 1);
    132. public Menu(String title, int listType) {
    133. super(title, listType);

    134. this.append("打開發送機", null);
    135. this.addCommand(send);
    136. this.setCommandListener(this);
    137. }

    138. public void commandAction(Command c, Displayable d) {
    139. System.out.println("dfsdfsd");
    140. if(c == send){
    141. SMSSenderMIDlet.display.setCurrent(new SMSForm(this));
    142. }else{

    143. }
    144. }

    145. }


    146. /********************************************************************
    147. * 項目名稱 :j2me學習
    148. *
    149. * Copyright 2005-2006 Wuhua. All rights reserved
    150. ********************************************************************/
    151. package org.fox.sms;

    152. import java.io.IOException;

    153. import javax.microedition.io.Connector;
    154. import javax.microedition.lcdui.Choice;
    155. import javax.microedition.lcdui.Display;
    156. import javax.microedition.midlet.MIDlet;
    157. import javax.microedition.midlet.MIDletStateChangeException;
    158. import javax.wireless.messaging.MessageConnection;

    159. /**
    160. * 類名:SMSSenderMIDlet.java
    161. * 編寫日期: 2007-5-25
    162. * 程序功能描述:
    163. * Demo:
    164. * Bug:
    165. *
    166. * 程序變更日期 :
    167. * 變更作者 :
    168. * 變更說明 :
    169. *
    170. * @author wuhua
      rrq12345@163.com
    171. */
    172. public class SMSSenderMIDlet extends MIDlet {
    173. private MessageConnection sconn;

    174. public static Display display;
    175. public SMSSenderMIDlet() {


    176. }

    177. protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
    178. try {
    179. sconn.close();
    180. } catch (IOException e) {
    181. // TODO 自動生成 catch 塊
    182. e.printStackTrace();
    183. }

    184. }

    185. protected void pauseApp() {


    186. }

    187. protected void startApp() throws MIDletStateChangeException {
    188. String serverPort = "5000";
    189. try {
    190. sconn = (MessageConnection) Connector.open("sms://:" + serverPort);
    191. } catch (IOException e) {

    192. e.printStackTrace();
    193. }

    194. Menu m = new Menu("短信發送機",Choice.IMPLICIT);
    195. display = Display.getDisplay(this);
    196. display.setCurrent(m);

    197. }

    198. }




    爬蟲工作室 -- 專業的手機軟件開發工作室
    3G視線 -- 專注手機軟件開發
    posted on 2007-05-25 21:32 3G工作室 閱讀(1952) 評論(2)  編輯  收藏 所屬分類: j2me

    Feedback

    # re: 短信發送機的實現 2007-10-15 12:55 過敏
    厲害啊  回復  更多評論
      

    # re: 短信發送機的實現 2007-11-29 15:34 11
    你這是調用的標準WMA,幾乎所有的三星手機都不支持的,請問你是咋通過測試的?  回復  更多評論
      

    主站蜘蛛池模板: 青青视频免费在线| 亚洲AⅤ男人的天堂在线观看 | 最近中文字幕无吗高清免费视频| 亚洲国产另类久久久精品黑人 | 国内免费高清在线观看| 亚洲成无码人在线观看| 在线视频精品免费| 亚洲狠狠ady亚洲精品大秀| 久久精品视频免费播放| 亚洲色成人网一二三区| 猫咪免费人成网站在线观看| 亚洲日韩中文字幕| 亚洲免费网站观看视频| 亚洲国产欧洲综合997久久| 免费国产a国产片高清| 国产精品一区二区三区免费 | 色窝窝免费一区二区三区| 亚洲激情视频图片| 国产片免费在线观看| 一级做a爰片久久毛片免费陪 | 亚洲中文字幕无码一区二区三区 | 在线免费观看伊人三级电影| 亚洲AV综合色一区二区三区| 四虎国产精品永久免费网址| 91亚洲国产在人线播放午夜 | 国产午夜精品理论片免费观看| 久久亚洲AV午夜福利精品一区| 亚洲精品视频在线观看免费| 亚洲一区二区三区乱码在线欧洲| 国产无遮挡色视频免费视频| 免费国产va在线观看| 国产亚洲人成网站在线观看不卡| 少妇太爽了在线观看免费视频| 亚洲a视频在线观看| 日韩精品视频免费在线观看| 色老头综合免费视频| 亚洲精品成人av在线| 色窝窝免费一区二区三区| 成人亚洲国产精品久久| 亚洲日韩激情无码一区| 毛片免费观看的视频在线|