日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 开发 短信,Android开发之短信发送

發布時間:2023/12/2 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 开发 短信,Android开发之短信发送 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天要講的是使用Android開發發送短信程序。我們先來看下運行效果

???

圖(1)???????????????????????????????????????????????????????????????????????????????????圖(2)

圖(3)

圖(1):當我們運行項目時,出現在屏幕的效果;

圖(2):當我們輸入錯誤格式的電話號碼時,出現在屏幕的效果圖;

圖(3):當我們輸入格式正確時,短信發送成功的效果。

下面,來講解該項目的開發過程。

1、創建一個Android項目,這里命名為SendMessage。

2、修改程序的布局文件main.xml內容。具體代碼如下:

android:id="@+id/widget1"

android:background="@drawable/white"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

xmlns:android="http://schemas.android.com/apk/res/android"

>

android:id="@+id/widget27"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/str_textview"

android:textSize="16sp"

android:layout_x="0px"

android:layout_y="12px"

>

android:id="@+id/myEditText1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text=""

android:textSize="18sp"

android:layout_x="60px"

android:layout_y="2px"

>

android:id="@+id/myEditText2"

android:layout_width="fill_parent"

android:layout_height="223px"

android:text=""

android:textSize="18sp"

android:layout_x="0px"

android:layout_y="52px"

>

android:id="@+id/myButton1"

android:layout_width="162px"

android:layout_height="wrap_content"

android:text="@string/str_button1"

android:layout_x="80px"

android:layout_y="302px"

>

3、修改values目錄下的string.xml文件,并在該目錄下新建一個color.xml文件,具體代碼如下:

string.xml:

SendMessage

發送

收件人

color.xml:

#808080

#FFFFFF

#0000FF

這里說一下,為什么我們要新建color.xml文件,因為我們布局文件中要用到。大家可能已經發現,我們運行效果圖的背景顏色不是黑色而是白色,系統默認情況下,背景是黑色,這里我們使用color.xml文件來修改背景顏色。

4、修改主程序,MyActivity.java,該文件的具體代碼如下:

public class MyActivity extends Activity

{

/*聲明變量一個Button與兩個EditText*/

private Button mButton1;

private EditText mEditText1;

private EditText mEditText2;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

/*

* 通過findViewById構造器來建構

* EditText1,EditText2與Button對象

*/

mEditText1 = (EditText) findViewById(R.id.myEditText1);

mEditText2 = (EditText) findViewById(R.id.myEditText2);

mButton1 = (Button) findViewById(R.id.myButton1);

/*將默認文字加載EditText中*/

mEditText1.setText("請輸入號碼");

mEditText2.setText("請輸入內容!!");

/*設置onClickListener 讓用戶點擊EditText時做出反應*/

mEditText1.setOnClickListener(new EditText.OnClickListener()

{

public void onClick(View v)

{

/*點擊EditText時清空正文*/

mEditText1.setText("");

}

}

);

/*設置onClickListener 讓用戶點擊EditText時做出反應*/

mEditText2.setOnClickListener(new EditText.OnClickListener()

{

public void onClick(View v)

{

/*點擊EditText時清空正文*/

mEditText2.setText("");

}

}

);

/*設置onClickListener 讓用戶點擊Button時做出反應*/

mButton1.setOnClickListener(new Button.OnClickListener()

{

@Override

public void onClick(View v)

{

/*由EditText1取得短信收件人電話*/

String strDestAddress = mEditText1.getText().toString();

/*由EditText2取得短信文字內容*/

String strMessage = mEditText2.getText().toString();

/*建構一取得default instance的 SmsManager對象 */

SmsManager smsManager = SmsManager.getDefault();

// TODO Auto-generated method stub

/*檢查收件人電話格式與短信字數是否超過70字符*/

if(isPhoneNumberValid(strDestAddress)==true &&

iswithin70(strMessage)==true)

{

try

{

/*

* 兩個條件都檢查通過的情況下,發送短信

* 先建構一PendingIntent對象并使用getBroadcast()廣播

* 將PendingIntent,電話,短信文字等參數

* 傳入sendTextMessage()方法發送短信

*/

PendingIntent mPI = PendingIntent.getBroadcast

(MyActivity.this, 0, new Intent(), 0);

smsManager.sendTextMessage

(strDestAddress, null, strMessage, mPI, null);

}

catch(Exception e)

{

e.printStackTrace();

}

Toast.makeText

(

MyActivity.this,"送出成功!!" ,

Toast.LENGTH_SHORT

).show();

}

else

{

/* 電話格式與短信文字不符合條件時,以Toast提醒 */

if (isPhoneNumberValid(strDestAddress)==false)

{ /*且字數超過70字符*/

if(iswithin70(strMessage)==false)

{

Toast.makeText

(

MyActivity.this,

"電話號碼格式錯誤+短信內容超過70字,請檢查!!",

Toast.LENGTH_SHORT

).show();

}

else

{

Toast.makeText

(

MyActivity.this,

"電話號碼格式錯誤,請檢查!!" ,

Toast.LENGTH_SHORT

).show();

}

}

/*字數超過70字符*/

else if (iswithin70(strMessage)==false)

{

Toast.makeText

(

MyActivity.this,

"短信內容超過70字,請刪除部分內容!!",

Toast.LENGTH_SHORT

).show();

}

}

}

});

}

/*檢查字符串是否為電話號碼的方法,并返回true or false的判斷值*/

public static boolean isPhoneNumberValid(String phoneNumber)

{

boolean isValid = false;

/* 可接受的電話格式有:

* ^\\(? : 可以使用 "(" 作為開頭

* (\\d{3}): 緊接著三個數字

* \\)? : 可以使用")"接續

* [- ]? : 在上述格式后可以使用具選擇性的 "-".

* (\\d{3}) : 再緊接著三個數字

* [- ]? : 可以使用具選擇性的 "-" 接續.

* (\\d{5})$: 以五個數字結束.

* 可以比較下列數字格式:

* (123)456-7890, 123-456-7890, 1234567890, (123)-456-7890

*/

String expression =

"^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{5}){1}quot;;

/* 可接受的電話格式有:

* ^\\(? : 可以使用 "(" 作為開頭

* (\\d{3}): 緊接著三個數字

* \\)? : 可以使用")"接續

* [- ]? : 在上述格式后可以使用具選擇性的 "-".

* (\\d{4}) : 再緊接著四個數字

* [- ]? : 可以使用具選擇性的 "-" 接續.

* (\\d{4})$: 以四個數字結束.

* 可以比較下列數字格式:

* (02)3456-7890, 02-3456-7890, 0234567890, (02)-3456-7890

*/

String expression2=

"^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4}){1}quot;;

CharSequence inputStr = phoneNumber;

/*創建Pattern*/

Pattern pattern = Pattern.compile(expression);

/*將Pattern 以參數傳入Matcher作Regular expression*/

Matcher matcher = pattern.matcher(inputStr);

/*創建Pattern2*/

Pattern pattern2 =Pattern.compile(expression2);

/*將Pattern2 以參數傳入Matcher2作Regular expression*/

Matcher matcher2= pattern2.matcher(inputStr);

if(matcher.matches()||matcher2.matches())

{

isValid = true;

}

return isValid;

}

public static boolean iswithin70(String text)

{

if (text.length()<= 70)

{

return true;

}

else

{

return false;

}

}

}

5、到此整個項目已經開發完畢!

到此本該結束,但是考慮到一些細節,有必要說下。

本項目的基本思想:在具體實現上,是通過SmsManager對象的sendTextMessage()方法來實現的,其中sendTextMessage()方法需要傳入5個值,依次是:收件人地址String、發送地址String、正文String、發送服務PendingIntent和送達服務PendingInten。在這里我們還詳細的定義了電話的格式,文中有詳細的說明。還約束了短信內容的字長!

總結

以上是生活随笔為你收集整理的android 开发 短信,Android开发之短信发送的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。