- 先針對Android的部分做個簡介
- 在開始為你的專案導入gradle之前, 必須先準備專案的骨幹(也就是建立一個基本的android 專案), 可以透過命令列指令或者透過你的IDE(如eclipse來完成這項工作),其中命令列的方式如下
android create project --target 1 --path ./MyGradleAndroidApp --activity MyGradleAndroidActivity --package my.android.gradle.package
- 接下來在android專案的根目錄下建立build.gradle檔案,用來描述該專案的相關設定
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
- 設定專案的source set
為了讓android專案不會因為其他工具的需求(如ant),而產生問題,最好自行指定source code的位置
sourceSets {
main {
java {
srcDir 'src'
}
}
} - 設定android sdk位置
如果第一步驟的android專案,是由eclipse所建立的,那麼,還需要額外進行設定android sdk的動作, 在android專案的根目錄找到local.properties(若找不到,請建立一個新的檔案), 並在其中加入sdk.dir=/path/to/android/sdk
(當然說的是我們安裝android sdk的位置)
到這邊大概就能說有個初步的概念了
Monday, October 14, 2013
Gradle簡介(for Android)
Gradle, Gradle 是什麼? 簡單來說, Gradle是種包含ant以及maven概念,並且以groovy的DSL取代傳統XML的來做為設定專案的自動化工具
Tuesday, September 3, 2013
Memory Analyzer (MAT)
- What is MAT
The Eclipse Memory Analyzer is a fast and feature-rich heap analyzer that helps you find memory leaks and high memory consumption issues. - Where to download the MAT
- http://www.eclipse.org/mat/downloads.php
- eclipse plugin install
- 下載位置 :http://download.eclipse.org/mat/1.3/update-site/, 並同意需要的同意條款
- Getting Started
- 完成安裝後, 打開eclipse, 連結上手機, 並開啟要觀察的應用程式,透過DDMS直接點選該應用程式的執行緒,如下圖
選擇Leak Suspects Report,讓焦點專注在記憶體可能發生的問題
接下來,看看dump出來的HPROF檔案有哪些資料可以看看 - HPROF file
雖說所產生的報告具有相當多的資料, 不過這跟判讀是否會有任何memory leak則是兩回事,僅能依照程式設計師本身的經驗來判斷 - 參考資料
Tuesday, May 14, 2013
About the AdMobs
- 申請加入AdMobs
打開瀏覽器進入 AdMobs 就可以看到下面的畫面
畫面上就說明了可以用兩種方法來登入, 新建一個AdMobs的帳號, 或者直接以google的帳號來登入。這次以google帳號進行登入,
輸入密碼,後跳轉到手機號碼驗證的部分
完成這些程序後,就可以看到AdMobs的首頁 - 新增網站/應用程式
點選首頁中的"新增網站/應用程式"如下
接下來可以看到可以新增的種類
這次選擇"Android應用程式",跟著出現需要填寫的資料表單
填寫完成後就可以佈署廣告來試試看嚕
參考資料
Tuesday, March 12, 2013
Web Workers@HTML5
通常在執行一般的網頁語言,在完整的敘述被讀取完成,並執行完之前,網頁通常都會處於暫停的情況,且無法繼續被執行, 而web workers 則是自html5之後被發表的新的API允許javascript在不影響前景效能的情況下在背景運行的一種新的功能
如何使用Web Workers
最簡單的使用方法就是宣告一個,
※ 參考資料
如何使用Web Workers
最簡單的使用方法就是宣告一個,
- var worker = new Worker('worker.js');
然後透過 postMessage的方法來呼叫它
- worker.postMessage();
※ 參考資料
Thursday, January 31, 2013
繼續使用map view (Google Maps Android v2)
開始使用Google Maps for Android v2之前,得先處理好下列兩件事情
※參考資料
- 下載google play service lib
google play service已經整合在android sdk當中,透過Android SDK Manager可以看到相關的套件下載如下圖所描述
完成下載後,將可以在{ANDROID_SDK_HOME}/extra/google/libproject/ 的目錄底下找到google-play-services_lib的project,以eclipse為例,以"Import Existing Android Code Into workspace",作為lib project來使用 - 持有並使用google map v2 api key
※由於Google Maps v2與Google Maps v1完全是不相同的系統,因此過去在v1所申請,並使用於MapView的api key並不適用於v2的系統
申請google map v2 api key之前,需要準備SHA-1簽章,請參照前一篇文章開始使用map view (Google Maps Android v1)的方式來製作。
準備好SHA-1的簽章後,接下來就是建立API Project,透過網頁瀏覽Google APIs console,並建立專屬服務的API專案(如果不曾建立過API專案的話..)。建立專案之後,瀏覽所提供的API服務當中可以找到Google Maps Android API v2
將它打開(過程中會出現服務使用條款,如果要繼續使用的話當然要同意....不然呢...還能不同意嗎???)。最後,到左側的選單中,找尋"API Access"的選項,點選進入後,可以看到在各種服務管道中需要使用的api key(包含瀏覽器, android,javascript...etc.)找到"Create new Android key"後輸入方才所取得的SHA-1簽章,而格式為"{SHA-1};{your.packagename}"就會產生專屬於你服務的API Key了
最後,可以直接引用google play service所提供的MapFragment就大功告成了
※參考資料
Thursday, January 24, 2013
Google Analytics for Android
功能說明
- 透過google analytics可得知使用應用程式的使用者數目
- 使用者的地區資料(全世界國碼分析)
- 觀察特定的功能使用率
- 用來記錄錯誤(crash/exception)
- 記錄應用程式內的交易(in-application purchase / transaction)
- 以及其他面相的記錄方式
下載及安裝
※日前(2013/1/22)所提供的版本為2.0beta4
※既然是給android所使用的服務,在使用之前當然要先準備好Android的SDK
- 下載完成後,將上述的zip解壓縮,並將內容的libGoogleAnalyticsV2.jar準備於build path最為lib來使用
- 建立所要追蹤的特性,並取得Tracking ID
接下來修訂android應用程式當中所細節
- 修訂AndroidManifest.xml
為了確保tracking機制能正常的運作,需要加入下述兩項權限給應用程式 - 加入Easy Tracker的方法
在使用Easy Tracker之前需要設定所需要的context給Tracker如上圖所描述
接下來就可以繼續使用相關的方法(如下圖所述) - 建立應用程式專屬的analytics.xml檔案
在res/values的目錄底下建立一個xml檔案命名為analytics.xml如下圖(包含TrackingID、以及是否記錄Activity的啟動、是否記錄相關的exception
接下來,為lint增加設定,以免產生檢查錯誤
完成上述的步驟,就可以開始觀察使用者-應用程式間的記錄,
還有更多的進階設定如下:
- Advanced Configuration – Learn more about advanced configuration options, including using multiple trackers.
- Measuring Campaigns – Learn how to implement campaign measurement to understand which channels and campaigns are driving app installs.
- Measuring Events – Learn how to measure user engagement with interactive content like buttons, videos, and other media using Events.
- Measuring In-App Payments – Learn how to measure in-app payments and transactions.
- User timings – Learn how to measure user timings in your app to measure load times, engagement with media, and more.
Google Analytics 報表介面一覽
※參考資料
- Android Native Application Tracking Overview
- Android 和 iOS 專用的 Google Analytics (分析) SDK v2
- Google Analytics for Android - EasyTrack @Ken Yang筆記
- Set up new properties for Mobile App Analytics@Google Analytics
- About Universal Analytics@Google Analytics
- Google Analytics SDK for Android v2 - EasyTracker Parameters@Google Analytics
- 帳戶、使用者、資源及設定檔@Google Analytics
Tuesday, January 22, 2013
WebStorage@HTML5
簡單來說幾個概念是
- Web Storage是種可讓本地端的瀏覽器儲存資料的技術
- 同cookie一樣, 是以key-pair的方式呈現資料
- 不同於cookie僅有4K的限制,web storage的容量可達5M(視瀏覽器廠商實作而定)
- web storage的資料並不會夾帶於http-header當中,因此較不會影響頻寬的使用
- web storage以兩種方式呈現; localStorage以及sessionStorage,分別表示其生命週期
- 不同網域的storage是分開的,無法交換來使用(即同源策略; 也就是說,只有源自相同網站的網頁才能共享同一塊 local storage。
如何使用web storage
由於localStorage以及sessionStorage都是繼承自Storage物件,因此儲存資料的方式可使用setItem的方法如下
- window.localStorage.setItem("MyKeyName","MyDataValue");
- localStorage.setItem("MyKeyName","MyDataValue");
- localStorage["MyKeyName"]="MyDataValue";
- localStorage.MyKeyName="MyDataValue";
相對的,取得所儲存資料的方式當然就是使用getItem
- var value1 = window.localStorage.getItem("MyKeyName");
- var value2 = localStorage.getItem("MyKeyName");
- var value3 = localStorage.MyKeyName;
- window.localStorage.removeItem("MyKeyName");
- localStorage.removeItem("MyKeyName");
※參考資料
- HTML5 Web Storage@Huan-Lin學習筆記
- Web Storage使用經驗@石頭閒語
- HTML5 Web Storage@W3C School
- Web Storage@W3C
- Web Storage@Wiki
- Introduction of WebStorage@MSDN
- Web Storage Security
Subscribe to:
Posts (Atom)