曙海教育集團論壇3G手機技術專區Android應用開發 → android 應用類APP開發小結——android Google map 小應用


  共有8714人關注過本帖樹形打印

主題:android 應用類APP開發小結——android Google map 小應用

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
android 應用類APP開發小結——android Google map 小應用  發帖心情 Post By:2010-12-3 11:20:59

做了一個小應用智能情景的切換,這個應用是學習android開發以來應用類開發的比較滿意的一個。雖然它只有一個view 一個activity,但是卻囊括了android的很多特性。借此機會,和大家分享一下這個小應用。

 

先上截圖:

 

應用的主要功能是根據適當的情景(如地點,手機狀態等)為用戶自動的切換情景模式。

比方說:手機向上是鈴音+震動,當開會時,將手機翻轉,將自動切換成靜音模式。

還可以根據經緯度,到達一個地方后自動切換成用戶預先設置的情景模式。

(當然,由于沒找到合適的經緯度換算工具,經緯度的判斷目前只能是精確位置,不是范圍值。

因此只能算是個學習的小應用了,實際的應用還有待完善啊。如果有高手知道的話,麻煩告訴我下。萬分感謝)

 

-------------------------廢話不多說開始代碼部分-----------------------------------------------------

雖然是一個只有一個頁面的小應用,但是

麻雀雖小,五臟俱全

這個應用的功能點主要有:

     改變情景模式

     實時獲取地理位置

     實時判斷手機重力狀態

用到的技術包括:

1.android Google map的應用

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

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

 

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

 

首先是權限問題,很多新手都犯了這個毛病,程序出錯,往往是權限沒有添加。

Java代碼 復制代碼
  1. <!-- 網絡鏈接 -->   
  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.    <!-- 讀寫權限 -->   
  7.    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
  8.    <uses-permission android:name="android.permission.WRITE" />  

 這個應用需要網絡連接的權限,因為Google map是實時更新的么。然后是GPS傳感器關于地理位置的權限。最后需要存儲用戶的記錄點,所以有文件讀寫的權限。

 

為了記錄用戶記錄的情景地點,我使用了XML作為存儲的標準,并將文件存在了SD卡上

XML解析

網絡上有很詳細的各種解析方式,我采用了其中的一種。如果想了解其他的請Google。。。。。

記錄地點信息,我定義了一個POJO類

Java代碼 復制代碼
  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. ...篇幅關系,其他的略  

 XML的解析器,和網絡上的其他文章一樣就不多說了。能拿來用就成。

Java代碼 復制代碼
  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反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

android 應用類APP開發小結——android Google map 小應用








簽名
主站蜘蛛池模板: 三级波多野结衣护士三级| 免费a级毛片高清在钱| 久久国产成人精品| 国产福利拍拍拍| 最近免费中文字幕大全| 国产精品国产精品国产专区不卡| 亚洲综合免费视频| 99久久人妻精品免费一区| 狠狠噜天天噜日日噜视频麻豆| 天天摸天天做天天爽水多| 免费v片在线观看| 99麻豆久久久国产精品免费| 激情欧美一区二区三区| 在我跨下的英语老师景老师| 亚洲精品97久久中文字幕无码| 99久久99久久精品免费观看| 波多野结衣之cesd819| 国产高跟踩踏vk| 亚洲国产成人久久| 欧美另类第一页| 日本最刺激夫妇交换影片| 国产乱人伦偷精品视频下| 中文字幕影片免费在线观看| 精品人妻伦一二三区久久| 女人18毛片水真多免费播放| 亚洲精品成人av在线| 6一13小幻女| 最近中文字幕2018| 国产乱妇乱子在线播视频播放网站| 久久久久亚洲av成人无码| 综合久久久久久中文字幕| 女娃开嫩苞经历小说| 亚洲经典在线中文字幕| 深夜福利视频网站| 日本高清免费aaaaa大片视频| 国产一国产a一级毛片| 一级毛片aaaaaa免费看| 特级淫片国产免费高清视频| 国产精品色内内在线播放| 亚洲国产精品一区二区九九 | 免费国产成人手机在线观看|