2011年6月30日 星期四

UCampus MAP 初版畫面

目前開啟地圖後會將完整校園範圍置於螢幕中央,並將整個校園範圍用紅線框住,校園建築物為紅色標記,使用者目前位置為藍色標記,可利用3G、WiFi以及GPS做定位,點擊紅色標籤後會在標籤頭上顯示出一個按鈕,按鈕上標示著所點擊的單位,並將點擊的單位移至畫面中央;如果再點擊標籤頭上的按鈕將會進入下一頁,會顯示更多關於此單位的訊息。未來將對畫面呈現方式、使用者介面及整體畫面做更進一步修改。新功能的開發將會包括:1.顯示使用者附近的信息提示2.校園周遭生活機能相關訊息3.新增選單可供變更地圖上顯示之地標類別4.網址的直...

2011年6月29日 星期三

debug - 更改完layout後產生resource not found

剛剛測試按下地圖標記的功能,在 pop.xml 中將 ImageButton 改成一般的 Button 後,程式突然發生問題,原本發現問題是在設定OnClickListener這行,但是找了半天卻沒發現哪裡有問題,回復成原來的 ImageButton 卻同樣無法執行。最後發現問題是出在 pop.xml 中的layout設定,似乎 pop.xml 的設定沒有更改,所以只要在 pop.xml 中做任何改變例如新增一個空白行等等,再重新存檔後程式就能正常...

2011年6月20日 星期一

Debug - SOURCE NOT FOUND

使用 NETWORK_PROVIDER 的功能時,必須要注意 AndroidManifest.xml 裡的權限是否填寫正確。除了原本的 INTERNET 權限外,必須還要加入 ACCESS_COARSE_LOCATION 與ACCESS_FINE_LOCATION 這兩個權限其中一個或是兩者都加。加入哪一個取決於使用了哪一個 PROVIDER ,NETWORK_PROVIDER 的這個參數可以使用 Cell-ID、WiFi 或是 GPS,但是 GPS_PROVIDER 代表只能使用 GPS 做為 location 的提供服務。下面兩點為 Android Developer API 裡所提供的說明。ACCESS_COARSE_LOCATION :Allows an application to access coarse (e.g., Cell-ID, WiFi) locationACCESS_FINE_LOCATION :Allows an application to access fine (e.g., GPS) location如果未加入這些權限,則在執行時會出現 "程式未正常終止" 的錯誤...

2011年6月13日 星期一

Android UI 元件整理 (一)

.thisTable {border-style:dotted;border-color:#ccccff;border-width:3px;}首先來強調一下本文的重點在於 UI 功能上實做練習的整理,所以較無理論陳述方面的內容,可以算是整理出來方便未來的查詢用。在 Android 的應用程式中,使用者介面是由 View 以及 ViewGroup 兩類物件所構成,View類的物件是屬於基本的原件,像是按鈕、下拉式清單等,而 Viewgroup 是屬於佈局類型,預設提供了許多不一樣的畫面佈局,像是 linear 或是 tabular and relative 等。下圖為 View 和 ViewGroup 的簡易結構。一般來說 UI 的設計除了版面的編排之外,就是元件的事件監聽以及功能編寫;使用 Eclipse 開發的其中一個好處,就是 Google 已經提供了一個非常方便的版面編輯器,開發者可以利用原件拖拉的方式進行版面排版,也可以直接填寫需要的參數,比起直接編寫 XML 檔案方便太多了。所以接下來的內容,除非必要,不然不會詳述如何編寫 UI 的描述檔,而重點將放於編寫 UI 的功能。TextView、ButtonTextView 和 Button 是元件裡面最常用到的,我們來設計一個簡單的小功能當作練習 : 按下 Button 後在 TextView 處顯示一行文字 "按下了按鈕"。當我們使用 Eclipse 新增專案,預設會產生出一個 HelloWorld 的程式,而這程式裡就已經包含了最基本的...

Android 開發前須知 - Activity, Intent, Content Provider, Service 簡介

.thisTable {border-style:dotted;border-color:#ccccff;border-width:3px;}td{width:150px;}Android 應用程式由四個主要模組所組成,此四個模組分別為 Activity、Intent、Content Provider、Service,雖然一個 Android 應用程式都由這四個模組構成,但並不代表著每個應用程式必須包含每個模組,像是簡單的印出 HelloWorld 字串的應用,只需要包含一個 Activity 即可達成。ActivityActivity 是應用裡面最基本的模組,每一個 Activity 代表著一個螢幕,每一個螢幕所負責的就是處理應用程式所需的工作或是跳轉至其他 Activity 等功能,例如我們需要一個應用為取得課程資訊,這時可以設計成,第一個 Activity 顯示著所有學院的列表頁,第二個 Activity 顯示資訊系所所有課程列表,第三個 Activity 顯示計算機概論課程資訊,也因為如此的設計讓應用的功能上可以容易的轉換。package nchu.test.HelloWorld;import android.app.Activity;import android.os.Bundle;public class HelloWorld extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);...

2011年6月11日 星期六

Android 開發前須知 - 目錄結構

.thisTable {border-style:dotted;border-color:#ccccff;border-width:3px;}td{width:150px;}Android 預設的整體架構是以 MVC 的方式在做規劃,利用 MVC 的架構我們可以把運算邏輯、版面配置和控制元件獨立開來方便在開發過程中的修改更新,讓整個系統更有擴充的彈性,如果要利用到這些好處我們必須對其目錄結構有初步的認識。在 Android 的開發目錄結構中有幾個較為重要分別是:src, res, gen, R.java, AndroidManfest.xmlsrc目錄專案的 package 和 source code 都會存放在此地res -> values專案的資源都可以在此定義,定義的格式為 xml 檔案,檔名可以利用資源類型做分類,像是利用 strings.xml 或是 colors.xml 我們可以很容易的判斷字串資源或是色彩資源,定義的方式為一組關於資源類型的標籤並且賦予其姓名,並且利用開始標籤與結束標籤將我們所需的值包覆。如果使用 Eclipse 作為開發環境,Google 提供了非常方便的編輯器,在編輯器可以直接利用 Add 或是 Remove 等按鍵產生需要的資源。<?xml version="1.0" encoding="utf-8"?><resources> <drawable name="white">#FFFFFF</drawable>...

2011年6月9日 星期四

CAMPUS APP - uAlberta

uAlberta 簡介:uAlberta campus app 是由位於加拿大 University of Alberta 所開發的行動校園應用程式,我們可以利用 uAlberta 掌握最新的校園活動、瀏覽任何學院的課程或是查看建築物資訊等。uAlberta 應用包含了11項,分別為 : news, events, courses, directory, onecard, library, map, transit, student services, emergency, feedback接下來將對這些功能分別做些介紹程式版本 : 1.0.2 for AndroidNews : 提供校園相關新聞News為大部分校園應用都會有的功能,uAlberta提供了一些分類 :Express News, The complete Gateway Feed Experience, News, Opinion, Arts & Entertainment, Sports, Features除了上述幾樣分類外並沒有其他對於發佈日期或是關鍵字做搜尋的能力,當進入某一分類後所顯示的是各新聞標題、日期與內文簡介,每則新聞以一條淺灰色的分隔線加以區隔。當我們想要更深入得知某則新聞的詳細內容,只需要點選我們所關心的那則新聞,隨即會呼叫瀏覽器,將我們所點選的新聞及其他詳細資訊利用瀏覽器連上網路開啟。由這個部分可以發現,當我們點選News功能後,應用程式並不是將所有的內文載入,也不會將所有資訊存在本機的檔案或是資料庫中,當我們對某則新聞有興趣時才及時的利用瀏覽器連線至網頁觀看,這樣的處理方式對於行動裝置的儲存空間與連線速度或是流量都可以大大的減少,不會讓使用者等太久的時間只為了載入自己並無興趣的內容,也可以減少伺服器對外連線的負荷。Events...

Pages 71234 »
Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger