在线中文-在线在线ccc66-在线永久免费观看的毛片-在线永久免费观看的a站视频-久久精品最新免费国产成人-久久精品综合一区二区三区


曙海教育集團(tuán)論壇3G手機(jī)技術(shù)專(zhuān)區(qū)Android應(yīng)用開(kāi)發(fā) → android 應(yīng)用類(lèi)APP開(kāi)發(fā)小結(jié)——android Google map 小應(yīng)用


  共有7930人關(guān)注過(guò)本帖樹(shù)形打印

主題:android 應(yīng)用類(lèi)APP開(kāi)發(fā)小結(jié)——android Google map 小應(yīng)用

美女呀,離線(xiàn),留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
android 應(yīng)用類(lèi)APP開(kāi)發(fā)小結(jié)——android Google map 小應(yīng)用  發(fā)帖心情 Post By:2010-12-3 11:20:59

做了一個(gè)小應(yīng)用智能情景的切換,這個(gè)應(yīng)用是學(xué)習(xí)android開(kāi)發(fā)以來(lái)應(yīng)用類(lèi)開(kāi)發(fā)的比較滿(mǎn)意的一個(gè)。雖然它只有一個(gè)view 一個(gè)activity,但是卻囊括了android的很多特性。借此機(jī)會(huì),和大家分享一下這個(gè)小應(yīng)用。

 

先上截圖:

 

應(yīng)用的主要功能是根據(jù)適當(dāng)?shù)那榫埃ㄈ绲攸c(diǎn),手機(jī)狀態(tài)等)為用戶(hù)自動(dòng)的切換情景模式。

比方說(shuō):手機(jī)向上是鈴音+震動(dòng),當(dāng)開(kāi)會(huì)時(shí),將手機(jī)翻轉(zhuǎn),將自動(dòng)切換成靜音模式。

還可以根據(jù)經(jīng)緯度,到達(dá)一個(gè)地方后自動(dòng)切換成用戶(hù)預(yù)先設(shè)置的情景模式。

(當(dāng)然,由于沒(méi)找到合適的經(jīng)緯度換算工具,經(jīng)緯度的判斷目前只能是精確位置,不是范圍值。

因此只能算是個(gè)學(xué)習(xí)的小應(yīng)用了,實(shí)際的應(yīng)用還有待完善啊。如果有高手知道的話(huà),麻煩告訴我下。萬(wàn)分感謝)

 

-------------------------廢話(huà)不多說(shuō)開(kāi)始代碼部分-----------------------------------------------------

雖然是一個(gè)只有一個(gè)頁(yè)面的小應(yīng)用,但是

麻雀雖小,五臟俱全

這個(gè)應(yīng)用的功能點(diǎn)主要有:

     改變情景模式

     實(shí)時(shí)獲取地理位置

     實(shí)時(shí)判斷手機(jī)重力狀態(tài)

用到的技術(shù)包括:

1.android Google map的應(yīng)用

2.Android組件的使用
    Activity(MapActivity)
    Service
    Broadcastreceiver

3.Xml解析
4.文件存儲(chǔ)
5.傳感器使用
6.底層繪圖
7.自定義view

 

由于使回頭看代碼,我就從簡(jiǎn)單的部分一步步介紹。

 

首先是權(quán)限問(wèn)題,很多新手都犯了這個(gè)毛病,程序出錯(cuò),往往是權(quán)限沒(méi)有添加。

Java代碼 復(fù)制代碼
  1. <!-- 網(wǎng)絡(luò)鏈接 -->   
  2.    <uses-permission android:name="android.permission.INTERNET"/>   
  3.    <!-- 地圖 -->   
  4.    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>   
  5.    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>   
  6.    <!-- 讀寫(xiě)權(quán)限 -->   
  7.    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
  8.    <uses-permission android:name="android.permission.WRITE" />  

 這個(gè)應(yīng)用需要網(wǎng)絡(luò)連接的權(quán)限,因?yàn)镚oogle map是實(shí)時(shí)更新的么。然后是GPS傳感器關(guān)于地理位置的權(quán)限。最后需要存儲(chǔ)用戶(hù)的記錄點(diǎn),所以有文件讀寫(xiě)的權(quán)限。

 

為了記錄用戶(hù)記錄的情景地點(diǎn),我使用了XML作為存儲(chǔ)的標(biāo)準(zhǔn),并將文件存在了SD卡上

XML解析

網(wǎng)絡(luò)上有很詳細(xì)的各種解析方式,我采用了其中的一種。如果想了解其他的請(qǐng)Google。。。。。

記錄地點(diǎn)信息,我定義了一個(gè)POJO類(lèi)

Java代碼 復(fù)制代碼
  1. public class RecordLocation {   
  2.     private String location_Id;   
  3.     private String location_ring;   
  4.     private double location_latitude;   
  5.     private double location_longitude;   
  6.     private GeoPoint    point;   
  7. ...篇幅關(guān)系,其他的略  

 XML的解析器,和網(wǎng)絡(luò)上的其他文章一樣就不多說(shuō)了。能拿來(lái)用就成。

Java代碼 復(fù)制代碼
  1. public List<RecordLocation> parse(String xml) {   
  2.         final RecordLocation currentMessage = new RecordLocation();   
  3.         RootElement root = new RootElement("Locations");   
  4.         final List<RecordLocation> messages = new ArrayList<RecordLocation>();   
  5.        // Element channel = root.getChild("RespInfo");   
  6.         Element item = root.getChild("Location");   
  7.         item.setEndElementListener(new EndElementListener(){   
  8.             public void end() {   
  9.                 messages.add(currentMessage.copy());   
  10.             }   
  11.         });   
  12.         item.getChild("id").setEndTextElementListener(new EndTextElementListener(){   
  13.             public void end(String body) {   
  14.                 currentMessage.setLocation_Id(body);   
  15.             }   
  16.         });   
  17.         item.getChild("ring").setEndTextElementListener(new EndTextElementListener(){   
  18.             public void end(String body) {   
  19.                 currentMessage.setLocation_ring(body);   
  20.             }   
  21.         });   
  22.         item.getChild("latitude").setEndTextElementListener(new  
  23.           EndTextElementListener(){   
  24.             public void end(String body) {   
  25.                 currentMessage.setLocation_latitude(Double.valueOf(body));   
  26.             }   
  27.         });   
  28.         item.getChild("longitude").setEndTextElementListener(new EndTextElementListener(){   
  29.             public void end(String body) {   
  30.                 currentMessage.setLocation_longitude(Double.valueOf(body));   
  31.             }   
  32.         });   
  33.   
  34.         try {   
  35.             InputStream   inputStream   =   new   ByteArrayInputStream(xml.getBytes());   
  36.             Xml.parse(inputStream, Xml.Encoding.UTF_8,   
  37.             root.getContentHandler());   
  38.         } catch (Exception e) {   
  39.             throw new RuntimeException(e);   
  40.         }   
  41.         return messages;   

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

android 應(yīng)用類(lèi)APP開(kāi)發(fā)小結(jié)——android Google map 小應(yīng)用








簽名
主站蜘蛛池模板: 欧美日韩亚洲一区二区三区 | 欧美性一级交视频 | 国产男女猛视频在线观看网站 | 久久久蜜桃 | 自w时看的视频 | 中文字幕在线视频网站 | 在线观看色视频 | 亚洲欧美一区二区三区在线播放 | 国产成人精品久久二区二区 | 老子影院午夜久久亚洲 | 国产精品入口免费视频 | 自拍偷拍第一 | 在线看国产人成www免费看下载 | 亚洲国产成人久久综合一区77 | www.sewuyue| 国产福利区一区二在线观看 | 久久久蜜桃 | 一区二区三区不卡在线 | 日本高清视频一区二区三区 | 亚洲欧美在线一区二区 | 亚洲一级爽片 | 久久久国产一区二区三区 | 久久精品久久久久 | 久久免费视频播放 | 中文字幕在线不卡 | 欧美日本一区亚洲欧美一区 | 亚洲国产成人久久综合一区77 | 在线亚洲精品自拍 | 亚洲精品乱码久久久久久 | 婷婷啪啪| 亚洲精品午夜国产va久久 | 男人的天堂精品国产一区 | 久久久国产99久久国产首页 | 国产亚洲高清不卡在线观看 | 亚洲精品在线播放 | 综合激情五月婷婷 | 亚洲国产一区二区三区亚瑟 | 小视频app网站 | 久久精品波多野结衣 | 一个色在线视频 | 国产小视频在线高清播放 |