網頁

顯示具有 Android 標籤的文章。 顯示所有文章
顯示具有 Android 標籤的文章。 顯示所有文章

2014年2月15日 星期六

Google Play 無法連線

沒想到 Google Play 無法連線感覺還蠻常遇到的,除了網路一票解法,更有可能只是"日期跑掉了,恢復19xx年",造成無法連線,這時只要設定好日期,一切就又安好如初了
閱讀全文...

2012年10月3日 星期三

“Android” missing in “Eclipse Juno 4.2” preferences(Eclipse中消失的Android)

又是一次辛酸的過程,以前用Eclipse 3.5安裝ADT和SDK過程簡單又順得不得了,沒想到這次居然會是這麼慘。

Eclipse 3.5是現工作上Java主要開發環境,還在用java 1.5, java 1.4, java 1.3....,為了不破壞原本使用上沒問題的環境,於是想改新建一個專門開發 Android app 的環境,沒想到是一連串離奇事件的開始....
首先去到Eclipse 官網下載最新版本的ide回來用,就照著以前的步驟:
1. Start Eclipse
2. then select Help > Install New Software.... Click Add, in the top-right corner.
3. In the Add Repository dialog that appears, enter "ADT" for the Name and the following URL for the Location: https://dl-ssl.google.com/android/eclipse/site.xml

安裝完成後,沒想到選擇 Window > Preferences ,裡面完全沒看到 Android 這標籤,只好上網 Google 了,沒想到果然災情連連,參照網路一堆解決方式,新增了一堆 ADT 所需要的 plugin ,一樣沒用, Android 標籤還是和神隱少女不見蹤影。

又試了一堆建議方式,一樣沒用,因為安裝 Eclipse plugin 時,會先去判斷需要的其他元件和相依性,完完全全沒任何錯誤,所以沒有log可以看,到底為什麼就是不出現,實在沒頭緒,難道真的又應驗了開放源碼的軟件,最好離新版遠點,沒問題就算了,有問題包準玩死你,真的有夠 Orz....

閱讀全文...

2012年8月28日 星期二

NFC給人便利的同時,卻也隱藏著很大的危險

當下 NFC 技術的主要作用於快速的傳輸檔案、簽到、執行預定的動作,進行行動支付等等,可以說在很大程度上方便我們的生活,但往往也成為駭客想覬覦利用,入侵智慧手機的最佳途徑。

今年舉行的黑帽技術大會(Black Hat)上,來自安全諮詢公司(Accuvant)的首席顧問 Charlie Miller 發表了如何利用 NFC 技術以及智慧手機上相應了漏洞,完成對智慧手機的入侵攻擊。

第一個腳中了一箭的是 Android。Miller 通過使用一個定制的 NFC 標籤,讓 Android 手機與該標籤連接之後,便會向手機發送一段惡意代碼,讓手機打開惡意檔案或惡意的網頁,進而完全控制手機。目前大部分的 Android 手機上都有部分的 NFC 漏洞,並且在Android 4.0系統中,Google 還為具有 NFC 功能的手機添加了一項 Android Beam 功能。利用 NFC 漏洞以及 Android Beam 功能在接觸或者靠近 NFC 標籤時可以自動下載檔案或打開網頁鏈結。利用此一漏洞,便可以使用特製的 NFC 標籤,在沒有用戶進行任何操作以及未經用戶許可的情況下,打開手機流覽器,並且訪問惡意網頁。

另一個因 NFC 而腳上也中了一箭是 Nokia 推出的 N9Miller 表示利用 NFC 技術攻擊 N9 比 Android 更簡單。其中 N9 第一次通過 NFC 連接藍牙設備時完全不需要人工配備,這是最為危險的地方。

Miller 已經向 Google 和 Nokia 報告了相關問題。基本上這類問題應可以通過系統升級的方式解決,此外養成良好的軟體使用習慣更是杜絕駭客攻擊的最好方法。
閱讀全文...

2010年5月26日 星期三

容忽視的隱患 差異性阻礙Android發展[此為網路轉帖]

很多Android手機用戶在近期得到了好消息,他們所使用的手機將會被升級至最新的Android 2.1操作系統。摩托羅拉、HTC、三星等製造商都推出或者正在計劃産品系統升級計劃,這涉及摩托羅拉Milestone、HTC Hero等熱門産品。此時,距Android 2.1系統發布已經有近3個月時間。




Android版本差異讓用戶抱怨
  但目前大部分Android手機,特別是更早的産品目前仍然只能使用較低的系統版本。其中一些産品或許會在未來升級,但並沒有具體時間表,另一部分則 或許永遠不會有升級計劃。這些手機用戶無法使用最新的Google應用,也不能擁有更絢麗的用戶介面。

採用Google Android 2.1操作系統的Nexus One
  不同版本的差異,已經被認爲是Google Android發展的一大障礙。從誕生起,Google Android系統經曆了多個版本,從1.0發展到了最新的2.1, 其中甚至包括精確到兩個小數點的2.0.1版本。不同版本的Android系統在介面上存在差異,應用程式也不能完全相容,Google並未提供統一的升級機制, 而是由製造商提供系統升級固件,或者以OTA的方式對系統進行更新。
  這一點和競爭對手蘋果iPhone不同。iPhone OS同樣有著很多不同的版本,但是由於硬體的統一性,蘋果能保證所有的iPhone能在新系統發布之後立即升級到最新版本。

程式開發者也面臨煩惱
  Android版本差異和應用程式相容性不僅被用戶抱怨,也爲開發者帶來了煩惱,他們必須決定爲那個版本開發軟件,這是個問題:新版系統將會在未來廣 泛應用,但舊版系統往往在很長時間內仍然是主流。

2009
年底Android不同版本比例分部
  Google曾經試圖爲開發者提供幫助,在2009年底,Android開發者官方博客提供了當時 Android版本在市場的份額比例,其中Android 1.5和1.6版本占據了超過60%的比例,2.0和2.0.1版本系統也顯示出很快的發展勢頭。然而,幾天之後Google就推出了採用Android 2.1系統的Nexus One,這讓開發者更加無所適從。

硬體和OEM介面同樣阻礙Android統一
  系統版本並非Android面對的唯一差異,這一系統産品的硬體差異同樣巨大。比如,最初的幾款 Android手機都採用了HVGA解析度的螢幕,但是現在,高端Android手機解析度已經達到了WVGA水準,一些低端産品則採用了QVGA解析度 的螢幕。另外在處理器、內存等方面,不同Android手機之間也存在很大差異。這無疑也會對開發者帶來困擾,他們需要針對不同硬體對應用程式做出調整, 這將花費更多的精力。

熱門的HTC Hero目前運行Android 1.6系統
  從這一點來講,蘋果iPhone平臺對於開發者會更有吸引力。值得一提的是,不僅是蘋果,從Windows Phone 7系統開始,微軟也將對産品的硬體規格進行嚴格控制,微軟也意識到,這將有助於未來保持系統版本的統一和應用程式相容性。
  另外,第三方OEM 介面也被認爲可能破壞Android系統的統一性。HTC、摩托羅拉、三星、索尼愛立信等公司,都在自己的Android手機上另外搭載了獨特的用戶界 面,這有助於保持産品的個性,避免過分同質化,但是也可能影響到系統的升級或者軟件運行異常。

差異性問題不容忽視
  Android 所面臨的這種局面已經得到很多業內人士的關注。開發者和手機製造商都必須考慮自己的軟件和産品選擇何種版本,甚至不得不針對Google的一次更新改變産品規劃。 在消費者層面,盡管目前尚未顯現太大的負面影響,但是長期來看這也是不可避免的:如果用戶不確定自己購買的手機未來能否升級到最新系統並且使用最新應用, 他們會猶豫是否購買,特別是在需要和運營商簽訂很長協議的情況下。

目前最熱賣的摩托羅拉Droid採用Android2.0系統
  因此,盡管Android目前是行業的熱點,採用這一系統的産品正如雨後春筍般出現,但是差異性已經成爲其不可忽視的一個隱患。這一問題如果不被重 視,Android未來的命運將是一個未知數。

閱讀全文...

2010年5月20日 星期四

安裝Android模擬器

本文主要介紹如何在 Windows 安裝Android的開發環境,以供有興趣的朋友參考。


程式開發前,最重要的就是搞定開發環境,步驟如下:
1.      安裝 java sdk
請至 http://java.sun.com/javase/downloads/index.jsp 下載適合的sdk。下載時可能會遇到要你裝Sun Download Manager(SDM),讓你用SDM下載 JDK 了。但是不建議你使用SDM下載,至少我直接點網頁用ie下載完後,,SDM還沒連上SUM的伺服器,一直連線失敗。

2.      安裝 Eclipse
很實用的工具,以前是專門給JAVA用的,現在已經包羅萬象了,好多東西都可以透過它來編譯執行,包含 Android 也是。
請至 http://www.eclipse.org/downloads/ 下載檔案,我下載安裝的是 “Eclipse IDE for Java EE Developers” 這個版本。

3.      新增環境變數(Windows 7環境)
我的電腦右鍵->內容->進階系統設定->進階->環境變數->PATH->編輯->加上JRE安裝路徑(例如:C:\Program Files\Java\jre6\bin)

4.      安裝 Android 模擬器
4.1建立 Android 目錄(例如:D:\Android)
4.2下載 Google Android SDK
   請至 http://developer.android.com/sdk/index.html 下載,然後解壓縮放到 D:\Android\android_sdk目錄內。
4.3在 Eclipse 安裝 Android Plugin
4.3.1 Help -> Install New Software

4.3.2 Add->在Location填入 http://dl-ssl.google.com/android/eclipse/site.xml -> OK

4.3.3 勾選所有項目->Next

4.3.4 按 Next

4.3.5 Accept license -> Finish
4.3.6 安裝中

4.3.7 Yes(Restart Eclipse)

            4.4 設定 Android Plugin
4.4.1 Window -> Preferences

4.4.2 Android -> 在 SDK Location填入 D:\Android\android_sdk -> OK

5.      測試使用模擬器
5.1 Window -> Android SDK and AVD Manager

5.2 New(新增一個模擬器)

5.3 在Name、Target和SD Card的Size填入值後 -> Create AVD

5.4 這時畫面就會多出一台模擬器了,綠色勾勾表示這台模擬器是有效的-> 按Start

5.5 這時請耐心等待,第一次整個畫面黑黑的,我也以為我哪裡弄錯了,等待了好一會就會出現下面畫面了

6.      又割來囉。Hello, Android.
6.1 File -> New -> Project

    6.2 Android Project -> Next

    6.3 下圖紅圈圈起來都是必填,上頭會有提示,有哪個沒填,Finish按鈕都無法按。
          Project Name: HelloAndroid
          Build Target: 選 Android 2.1
          Application Name: HelloAndroid
          Package Name: com.google.android.hello
          Create Activity: HelloAndroid

   -> 按Finish
         等待一會專案就會建好了

    6.4 修改 HelloAndroid.java(大部分的程式碼在專案建立時就產生了)
package com.google.android.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView; // 新增此行

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.main);     // 使此行失效
        TextView tv = new TextView(this);     // 新增此行
        tv.setText("Hello, Android");         // 新增此行
        this.setContentView(tv);              // 新增此行
    }
}


    6.5 按 Run -> 顯示下面的畫面 Hello, Android

閱讀全文...

2010年4月16日 星期五

Android疊疊樂


Android架構:
(1)Applications(應用程式)
(2)Application Framework(應用程式框架)
(3)Libraries(函式庫)
(4)Android Runtime(Android執行環境)
(5)Linux Kernel(Linux核心)
閱讀全文...

2010年4月15日 星期四

Android vs iphone 程式開發選擇

Android 和 iphone 是近來最熱門的智慧型手機平台,如果要在這兩者間擇一來開發程式?網路上討論的很多,大致上有幾個評估點可以最為參考:


1.硬體

Iphone的硬體應用有些狹隘,有點不像智慧型手機,有點像遊戲機、變種的ipod(聽音樂看影片用)、行動上網裝置,更重要的一點,硬體規格完全由APPLE主導制定。

android硬體應用就很廣了,幾乎很多裝置都可以實裝,所以許多廠商都宣稱android硬體大勝iphone,至於這個對程式開發是不是福音,就有待評估了,越多不同的手機硬體,代表在整合開發上會遇到更多不同的狀況,解決這些情況所花的時間成本也是值得去考慮的。

2.軟體開發限制

iphone上開發軟體會有很多限制,有些類型的軟體,APPLE不允許開發,須遵守其相關規定,不然到時會影響到是否能在APP STORE上販賣。

Android就沒有什麼限制了,而且還是open source,身為程式設計師,光看到這個時,幾乎整個心都往android偏過去了。

3. 開發門檻

Iphone:xcode+object C,有些人根本連聽過都沒聽過,還曾被評論過所有的程式語言就屬object c最難用,另一個門檻更是打死一堆人,要開發iphone的軟體,需要一台mac電腦,如果不在mac os上開發,光建立開發環境就夠你受的了。當你萬事俱備想開發iPhone版應用程式,並且在App Store上架販售者,必須先向蘋果註冊─註冊費每年99美元,若需要技術支援服務,則得每年支付199美元。

Android:Eclipse+java,純OO的語言,可跨平台的開發,大量匯JAVA的程式人員,就會讓人覺得樂勝iphone了。開發android軟體上架販售,註冊費僅25美元,而且,只要付一次即可,我想,這更是吸引人的地方註冊費僅25美元,而且,只要付一次即可,我想,光這點就勝負很明顯了。

從事程式設計這麼多年,深深的覺得,門檻只是懶人的藉口而已,只有願不願意花時間和有沒有心去學習新的東西。Iphone門檻真的高嗎?App Store有套Doodle Kids軟體,一個新加坡九歲小孩寫出來的,他是為了三歲和五歲的妹妹而設計這套程式的,So, Iphone門檻真的高嗎?

4.軟體銷售拆帳比率

拆帳比都是37分帳,不同的是蘋果抽30%的利潤,而Android這30%不是由Google取走,是給在地電信營運商,這種拆帳機制讓本土電信營運商更積極的支援、推廣Android。

5.審核機制

iphone軟體要上架到app store,會經過apple層層審核,上架後還有可能被無預警下架;android則是門戶大開,完全沒有審核機制,所以上面什麼程式都有,涉及色情、犯罪和暴力也在其中。有兩個小孩的我,還是覺得APPLE的機制比較好一點。

Android和iphone各有其優劣,各有其擁護的粉絲,而我自己的感覺,android適合宅男工程師,這群人總想自己在上面開發屬於自己的軟體,也適合一些商務人士,因為操作流暢度沒iphone好,剩下就只能說是商務功能了,雖然說大部分都是google平台服務,如GMAIL、Search等。

相對地,iphone深深吸引了一堆年輕人和高消費族群,而且這群人卻是消費力最猛的一群,整天iphone不離手,感覺好像中毒一樣,至於iphone的熱度會持續多久,是否能持續發熱,都是未知數。


閱讀全文...