安卓開發(fā)日記——基于百度地圖和短信的追蹤app


4.在地圖上添加一個(gè)標(biāo)記:這種寫法會導(dǎo)致addoverlay是紅色的

改法:

把mbaidumap要改為自己地圖資源的名字:mMapview.

特別需要注意的是系吩,這段代碼應(yīng)該添加到oncreat函數(shù)中,不然也會導(dǎo)致addoverlay為紅色的,addoverlay是創(chuàng)建覆蓋物的一個(gè)方法

在構(gòu)建maker圖標(biāo)前添加一句話:

在地圖上創(chuàng)建可以移動(dòng)的覆蓋物:

改法:

5.如何實(shí)現(xiàn)地圖的定位:

(1)參考慕課網(wǎng)的方法

①調(diào)用百度地圖的定位梯码,實(shí)現(xiàn)出來和安卓的系統(tǒng)定位不一樣的地方就是使用百度地圖進(jìn)行定位能夠在屏幕的中央顯示一個(gè)小藍(lán)點(diǎn)。

在mainactivity中使用initLocation方法颠黎,然后創(chuàng)建這個(gè)方法赵哲。

然后再書寫onstart和onstop方法的代碼,在進(jìn)入程序的時(shí)候開始進(jìn)行定位俊柔,離開的時(shí)候銷毀定位筹麸。這樣可以每次打開應(yīng)用的時(shí)候都是更新了的位置。

還需要寫一個(gè)位置監(jiān)聽器雏婶。用位置監(jiān)聽器獲得當(dāng)前經(jīng)緯度

效果:

(2)用安卓自帶的系統(tǒng)定位

安卓系統(tǒng)可以調(diào)用自己的定位物赶,可以通過文本形式在界面中進(jìn)行顯示。

通過addtext方法添加到界面中進(jìn)行經(jīng)緯度的顯示留晚。顯示為location=參數(shù)值酵紫。調(diào)用廣播接收,查找經(jīng)緯度值错维。

①添加一個(gè)textview控件

②需要聲明的變量

③需要添加在mainactivity的oncreate函數(shù)中的

④需要添加到mainactivity中其他位置的代碼

位置監(jiān)聽器:

列表函數(shù)方法:

Onresume

Onpause

⑤效果圖

6.出現(xiàn)的問題

定位到其他位置:①可能是手機(jī)GPS沒有處于打開狀態(tài)

②源代碼中權(quán)限沒添加

③手機(jī)不信任此應(yīng)用奖地,需要手動(dòng)打開權(quán)限,權(quán)限沒有打開很有可能導(dǎo)致程序崩潰赋焕。

7.發(fā)短信:

1.第一種方法

在界面上添加to参歹,what,getfrom隆判,getcontent犬庇,send五個(gè)關(guān)于發(fā)短信的控件。

實(shí)現(xiàn)的功能是蜜氨,在to的編輯框內(nèi)輸入一個(gè)電話號碼械筛,在what里編輯短信,點(diǎn)擊send實(shí)現(xiàn)發(fā)送飒炎。

當(dāng)好友收到短信時(shí)埋哟,在getfrom的文本框內(nèi)會顯示他的電話號碼;app自動(dòng)讀取短信郎汪,獲取經(jīng)緯度赤赊。在getcontent的文本框內(nèi)顯示短信內(nèi)容。

①在界面上添加to煞赢,what抛计,getfrom,getcontent照筑,send五個(gè)關(guān)于發(fā)短信的控件吹截。

②mainactivity中

Onresume中

短信發(fā)送后的發(fā)送狀態(tài)廣播接收器:

//短信發(fā)送到對方后瘦陈,對對方返回的接受狀態(tài)的處理邏輯public classSmsDeliveryStatusReceiverextendsBroadcastReceiver {

private static finalStringTAG="SmsDeliveryStatusReceiver";

@Override

public voidonReceive(Context context, Intent intent) {// Log.d(TAG,"SmsDeliveryStatusReceiver onReceive.");switch(getResultCode()) {

caseActivity.RESULT_OK:

Toast.makeText(context,"Send Succeeded",Toast.LENGTH_SHORT).show();// Log.i(TAG, "RESULT_OK");break;

caseActivity.RESULT_CANCELED:

Toast.makeText(context,"Send Failed",Toast.LENGTH_SHORT).show();// Log.i(TAG, "RESULT_CANCELED");break;

}

Bundle bundle = intent.getExtras();

Object[] pdus = (Object[])bundle.get("pdus");

SmsMessage[] messages =newSmsMessage[pdus.length];

for(inti =0; ilength; i++)

{

messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);

}

String address = messages[0].getOriginatingAddress();

String fullMessage =" ";

for(SmsMessage message : messages)

{

fullMessage += message.getMessageBody();

}//收取處理短信字符串 ? -> ?address ?fullmessageif(fullMessage.trim().equals("where are you?"))

{

//Toast.makeText(getApplicationContext(),address.substring(3, address.length()), Toast.LENGTH_SHORT).show();SmsManager smsManager = SmsManager.getDefault();//address.substring(3)smsManager.sendTextMessage(address.substring(3, address.length()),null,//String.valueOf(mLatitude)+"/"+String.valueOf(mLongtitude),null,null);

}

}

}

MessageReceivermessageReceiver=newMessageReceiver();

//registerReceiver(messageReceiver, receiveFilter);classMessageReceiverextendsBroadcastReceiver{

@Override

public voidonReceive(Context context, Intent intent) {

String sms ="";

Bundle bundle = intent.getExtras();

Object[] pdus = (Object[]) intent.getExtras().get("pdus");

for(Object pdu : pdus) {

SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);

String address = smsMessage.getDisplayOriginatingAddress();

String fullMessage = smsMessage.getMessageBody();

sender.setText(address);

//content.setText(fullMessage);sms += fullMessage;

/* if ("10086".equals(address)) {//測試截?cái)喽绦?/i>abortBroadcast();}*/}

content.setText(sms);

}

}

2.第二種方法

①首先在main樣式表中添加“特別關(guān)心”Button控件,ID:button1波俄;

②聲明button

在mainactivity的oncreat函數(shù)中添加

點(diǎn)擊按鈕后執(zhí)行的方法:

這樣短信就可以通過點(diǎn)擊“特別關(guān)心”按鈕進(jìn)行發(fā)送啦

8.如何自動(dòng)回復(fù)好友的短信為經(jīng)緯度晨逝,如何自動(dòng)讀取短信并且顯示point坐標(biāo)在地圖資源控件上:

①在mainactivity最后一個(gè)大括號之前添加:

這個(gè)方法介紹的內(nèi)容是:在收到了一個(gè)短信之后,把短信的內(nèi)容轉(zhuǎn)化為massage懦铺,把發(fā)送短信的號碼傳值給sender變量捉貌;用if語句判斷短信的內(nèi)容是否為“where are you?”,如果是where are you?的話就把獲取的短信號碼變?yōu)閷⒁貜?fù)的短信號碼冬念〕们裕回復(fù)的內(nèi)容為:經(jīng)度+緯度。然后進(jìn)行發(fā)送

如果收到短信的內(nèi)容中包含內(nèi)容“/”(包含經(jīng)緯度坐標(biāo)的回復(fù)短信)的話急前,則開始執(zhí)行短信內(nèi)容轉(zhuǎn)化為經(jīng)緯度坐標(biāo)并顯示在地圖上的代碼醒陆。

先把短信進(jìn)行了拆分,傳值進(jìn)字符串mLatitude和mlongtitude叔汁,再進(jìn)行數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)化(因?yàn)樽鴺?biāo)點(diǎn)必須是double類型的數(shù)據(jù))统求,最后創(chuàng)建坐標(biāo)點(diǎn)检碗。

②在onstart方法中添加在程序一開始就運(yùn)行監(jiān)測收到短信的代碼:如下圖所示

③需要聲明的變量名:

達(dá)到的效果:

圖片發(fā)自簡書App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末据块,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子折剃,更是在濱河造成了極大的恐慌另假,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怕犁,死亡現(xiàn)場離奇詭異边篮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)奏甫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門戈轿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人阵子,你說我怎么就攤上這事思杯。” “怎么了挠进?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵色乾,是天一觀的道長。 經(jīng)常有香客問我领突,道長暖璧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任君旦,我火速辦了婚禮澎办,結(jié)果婚禮上嘲碱,老公的妹妹穿的比我還像新娘。我一直安慰自己局蚀,他們只是感情好悍汛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著至会,像睡著了一般离咐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奉件,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天宵蛀,我揣著相機(jī)與錄音,去河邊找鬼县貌。 笑死术陶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的煤痕。 我是一名探鬼主播梧宫,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼摆碉!你這毒婦竟也來了塘匣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤巷帝,失蹤者是張志新(化名)和其女友劉穎忌卤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體楞泼,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驰徊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了堕阔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棍厂。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖超陆,靈堂內(nèi)的尸體忽然破棺而出牺弹,到底是詐尸還是另有隱情,我是刑警寧澤侥猬,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布例驹,位于F島的核電站,受9級特大地震影響退唠,放射性物質(zhì)發(fā)生泄漏鹃锈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一瞧预、第九天 我趴在偏房一處隱蔽的房頂上張望屎债。 院中可真熱鬧仅政,春花似錦、人聲如沸盆驹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躯喇。三九已至辫封,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間廉丽,已是汗流浹背倦微。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留正压,地道東北人欣福。 一個(gè)月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像焦履,于是被迫代替她去往敵國和親拓劝。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容