Copyright © Erawppa Technology, 2016

我們擅長製作商務整合APP,不論是餐廳,商店還是各行各業

商務整合

您的APP需要與後端伺服器做結合嗎?我們也提供後端伺服器開發的部分

後端伺服器

需要整合藍牙,無線網路,或是Streaming播放嗎?

硬體整合

需要推播功能或是雲端儲存APP資料嗎?我們有客制化的推播伺服器可供使用

雲端推播

無論您是遊戲開發商想移植遊戲至手機平台,或是想開發全新遊戲

遊戲開發

Copyright © Erawppa Technology, 2016

Copyright © Erawppa Technology, 2016

  • NotyMoky_screen

    Noty & Moky

    APP, 遊戲

    Layer 1

    Noty & Moky

    Category: APP, 遊戲

    Client: ERAWPPA

    Noty & Moky突破傳統手機遊戲操作模式,利用iPhone手機模擬有趣的體感動作,包括「吹氣」、「震動」、「點擊」、「滑動」四大類共創造出十六種新穎的玩法。
    Visit Site
  • MeteorTD_screen

    MeteorTD

    APP, 遊戲

    Layer 1
    MeteorTD_screen

    MeteorTD

    Category: APP, 遊戲

    Client: ERAWPPA

    MeteorTD 是一個有別於以往 Tower Defense 的遊戲,可以完全依照玩家的佈局以及創造力, 而產生不同的遊戲結果。由於加入了隨機要素,,就算是相同塔的佈局方式, 所呈現的結果也會不同。在 MeteorTD 裡面,摒除了以往透過金錢讓塔升級的方式,而採用合成系統。目前 MeteorTD 的合成系統與合成方式多達二三十種。 另外也提供了特定的隱藏版合成塔,供玩家探索,MeteorTD 的怪物系統中,怪物本身也會透過合成而變強,以及最終魔王「黑洞」,這都是在過去的塔防類型遊戲中前所未見的。
    Visit Site
  • iTunesArtwork_300x300

    考試秘書

    APP

    Layer 1
    iTunesArtwork_300x300

    考試秘書

    Category: APP

    Client: 千華出版社

    《考試秘書》是千華數位文化專為考生所開發的產品,整合考試快遞、上榜推薦、考試日程、最新法規、歷屆考題以及適合我的考試等六大功能,為考生提供全方位的考試服務。
    Visit Site
  • iTunesArtwork_300x300

    法規更新服務

    APP

    Layer 1
    iTunesArtwork_300x300

    法規更新服務

    Category: APP

    Client: 千華出版社

    適用於高普初考、地方特考三四五等的一般行政類科,整合該應考類科中適用的法規,具有法規更新提醒功能,考生不需要每天花時間整理最新修正條文。 各條條文結合相關法規、法學概念、新舊法規對照、立法理由、歷屆考題等內容,運用目錄、收藏我的最愛、法規檢索、法規沿革等服務功能,有效提升學習效率。 【法規種類】 中華民國憲法、中華民國憲法增修條文、民法、公司法、票據法、海商法、保險法、中華民國刑法、消費者保護法、著作權法、勞動基準法、勞工保險條例、性別工作平等法、全民健康保險法、民法總則施行法、地方制度法、行政訴訟法、中央法規標準法、公務員懲戒法...等近百種法規。
    Visit Site
  • SOTA_screen

    SotA

    APP, 遊戲

    Layer 1

    SotA

    Category: APP, 遊戲

    Client: ERAWPPA

    遠古時代的鬼神大亂鬥!Sota 是一款很容易玩上癮的方塊遊戲。你可以挑戰5個不同的經典模式,或是選擇任何一個鬼神與透過 game center 或藍芽進行多人連線對戰。 簡單的遊戲規則,自由的移動方式讓你很容易的產生多重消除。對手畫面即時呈現,與豐富的角色招式道具,讓你在對戰的時候適當時機幫助自己或者是陷害對手。另外只要解開獨特的封印拼圖,就可以召喚出封印的鬼神。
    Visit Site
  • smasrv480x800

    樂生活

    APP

    Layer 1
    smasrv480x800

    樂生活

    Category: APP

    Client: 智慧人

    訂餐APP,結合雲端伺服器完成訂餐程序。
    Visit Site
  • bloodtest_2_result

    檢測血糖APP

    APP

    Layer 1
    bloodtest_2_result

    檢測血糖APP

    Category: APP

    客戶用來作為血糖偵測 demo 用途的一個 APP
  • amaryllo_screen568x568

    ICam HD

    APP, 硬體整合

    Layer 1
    amaryllo_screen568x568

    ICam HD

    Category: APP, 硬體整合

    Client: 愛瑪麗歐有限公司

    整合 IP Camera 應用的 APP
    Visit Site
  • Icon_512x512

    音源線資料傳輸

    APP, 硬體整合

    Layer 1
    Icon_512x512

    音源線資料傳輸

    Category: APP, 硬體整合

    Client: 隱藏

    透過音源輸出與硬體整合的一個APP

Copyright © Erawppa Technology, 2016

伊洛帕科技專業APP製作團隊幫您的公司或產品量身打造專屬的APP。 提供iOS, Android 客製化應用程式(APP)視覺設計、行銷企劃與程式開發服務。

伊洛帕科技於2010年12月成立於新竹工業技術研究院育成中心, 創始成員皆為來自新竹科學園區手機軟體開發界的佼佼者, 在此領域有近十年的開發經驗。

 

我們致力於開發 ios 以及 android 上的遊戲,應用程式以及資訊科技相關服務。 如果您有任何相關的問題,請與我們連絡。

電子信箱: info@erawppa.com

 

連絡電話:+886-4-23287888

 

地址:408 台中市南屯區大光街176巷17號

Copyright © Erawppa Technology, 2016

客製化手機遊戲開發

跨平台移植遊戲產品到智慧型手機上;或將您的創意點子,付諸實現於手機遊戲

客製化手機應用軟體(APP)開發

針對需求,為您量身訂做手機應用軟體(APP)

智慧型手機遊戲、應用軟體(APP)企劃

我們熟稔手機使用者操作行為,可設計企劃最適合目標客戶群的遊戲或應用軟體(APP)

網站與後台管理系統建置

包含網站視覺設計、製作與維運。同時建置方便操作的後台管理系統,即使不懂網頁也能讓您輕鬆管理網站

資料庫與系統平台建置

提供多元多功且高度人性化使用介面的E化系統平台服務;整合資訊架構、軟硬體設施、檔案伺服器、資料庫等

Copyright © Erawppa Technology, 2016

炒作蘋果App排名調查:大量僵屍用戶結成行業

誰在炒作蘋果App排名? 一些開發者發現,在蘋果中國應用商店中,如“超級手機號碼追蹤器”之類的欺詐型App越來越多,且其中的佼佼者往往位居“排行榜”高位。在這些欺詐App的後面,存在著一群刷排名、評價的專業“僵屍”用戶,一些App開發商,共用這些“僵屍”來刷評論、給好評、甚至購買,以此沖淡大量受騙用戶的負面評價,反復衝入蘋果的銷售排行榜。 360的App下架風波暫時告一段落,一個新的地下產業卻浮出水面:蘋果應用商店(App Store)中的排名炒作行業(他們自稱為“下載量優化”)。其後,媒體追蹤到了一些排名炒作的企業,卻沒有回答一個問題:誰在“消費”這些炒作? 2012年1月,在不斷的被投訴五個月後,一款叫做“超級手機號碼追蹤器”的應用從蘋果App Store中下架了。對於這一結果,一直“追殺”該應用的王淩在滿意之外仍感到無奈。在這五個月中,他堅持在博客和推特上更新他的“欺詐App追殺記”,並通過各種渠道向蘋果舉報。 “十幾個欺詐App只下架了一個,九家開發商只關了一家。而且,幾乎一模一樣的騙局在不斷繼續上演 ;殺死了‘超級手機號碼追蹤器’,還有手機追蹤器,超級手機追蹤器,手機追蹤電話追蹤定位器。”王淩說。 結成團夥炒作銷量與好評 王淩是一名iOS開發者,曾經在蘋果平臺上開發出了頗受歡迎的效率日程App Voodo。2011年8月19日,王淩發現,一款名為“超級手機號碼追蹤器”的App進入了蘋果中國應用商店的暢銷前十名,在付費App中排名第四,前三項是大名鼎鼎的水果忍者、植物大戰僵屍和高德導航。 熟知蘋果系統的王淩知道,未遭破解的蘋果系統不可能提供手機號碼追蹤的功能供第三方開發者調用,相似功能僅僅在蘋果官方提供的“Find my iPhone”應用中提供。隨後王淩發現,這個欺詐App的後面,其實存在一群刷排名、評價的專業“僵屍”用戶;而順著這些用戶的評論足跡,他又發現,有幾個App開發商,共用這些僵屍用戶來刷評論。通過這些用戶集中給好評、甚至購買,欺詐App得以沖淡了大量受騙用戶的負面評價,反復衝入蘋果的銷售排行榜。 進入蘋果銷售排行榜的好處顯而易見。據一些開發者介紹,如果App進入分類排行榜的前三名,日下載量可能會達到一萬多。這些下載量又足以使其保持在分類排行榜前列,如此累積,不到一個月的工夫,就可以累積數十萬下載量。對於收費App來說,大量下載量意味著直接收入;即使是免費App,也可以通過內置廣告、推薦和巨大品牌影響力來獲取間接收益。 自購加好評維持App排名 至於如何提高App的排名,則需要針對App Store的排名規則來下手。因此,“評價炒作”行業應運而生。 開發AR瀏覽器的觸景無限負責人表示,欺詐App雖然對免費軟件影響較小,但對收費軟件的開發者影響很大。 王淩為記者分析了整個欺詐App產業鏈的運作過程:欺詐App上線後,通過黑卡購買、使用僵屍賬戶等方式拉高其在應用商店中的排名,誘使大量不了解內幕的消費者購買;欺詐App開發者再用這些資金繼續自購App,維持其排名;當消費者發現應用功能與描述不符時,App開發者購買或共用大量僵屍用戶,使用“評價炒作”團隊大量發出五星評價,沖淡受騙用戶的負面評價,繼續維持App在應用商店中的排名,誘使更多消費者受騙購買。 淘淘鏡開發者王豫鵬認為,這對小的App開發者非常不利。大的開發者有資金基礎,可以花費幾十萬刷流量,小App開發者則做不到這點,往往是“應用還沒有露面就不見了”。 王淩發現,圍繞著“超級手機號碼追蹤器”這款欺詐App,有部分僵屍用戶進行了好評投票、這部分用戶同時又給深度睡眠、十倍睡眠等毫無科學根據的App同樣投了好評票(本報去年曾報道過的超級驅蚊器等App亦屬此列)。 當面向蘋果舉報方獲解決 2010年8月,王淩先後給蘋果官方公佈的投訴郵箱發了兩封舉報郵件,但均未獲回應。同時,王淩還委託人與蘋果中國市場部聯絡,並自己在應用商店中欺詐App的頁面上直接使用“報告問題”按鈕進行舉報。但一直沒有效果。 2010年12月5日,蘋果在北京組織開發者技術交流,王淩利用這一機會,當面向蘋果的兩個技術團隊提出舉報。這兩個團隊給了王淩一個通過iTunes投訴虛假評論的渠道。王淩用這一渠道再次進行了投訴。 一個月之後,2012年1月7日,蘋果的回復電子郵件終於到來。1月11日,蘋果再次發出跟進郵件,聲稱他舉報的問題已經轉給相關團隊。1月20日,中國農曆新年前夕,王淩發現“超級手機號碼追蹤器”已經被下架。此時,距他第一次向蘋果正式發郵件舉報該App,已經過去了整整五個月。 業內說法 開發者指蘋果監管不力 欺詐App在蘋果中文應用市場形成產業,首先來自於這一行業巨大的利潤。與鉅額收入形成對比的,則是應用市場日益激烈的競爭。 王淩表示,現在應用商店中“競爭慘烈”,在這種激烈競爭下,有些App只能採用炒排名、刷好評等非正常方式製造銷售量。 王淩認為,蘋果公司在執行制度上的不盡責也為欺詐App橫行留下了空間。根據中國的《消費者權益保護法》,虛假的產品說明、雇用他人進行銷售誘導,均屬於違法行為。儘管蘋果商店有投訴App甚至投訴評論的渠道,但各種投訴都無人理會;郵件給專用的投訴郵箱,卻要靠半年後的面談才能見到曙光。 蘋果“審核”壓力過大 iOS系統上的閱讀平臺唐茶總監李如一對記者表示,從他的經歷來看,蘋果應用商店對違規App的投訴通道還算暢通。他舉例稱,自己曾經在應用商店上發現有日本作家東野圭吾的盜版書應用,遂將應用名、開發商等信息通過與王淩所用相同的投訴郵箱發送給蘋果。一週之後即接收到回復。 對於王淩投訴的處理週期長達五個月、自己投訴僅一週後即得到回復的懸殊對比,李如一猜測:“這些處理工作畢竟都是人工完成,某些環節出現疏忽、脫節或遺忘也不是不可能”。 醫療垂直社區丁香園CTO馮大輝對蘋果中國的應用商店管理流程也感觸頗深。“總的來說,應用商店的管理態度還是積極的。但蘋果在開發者管理方面顯得手段過於單一,有些開發賬號一口氣投放幾百款應用,都用一些挑逗性畫面、文字作為賣點,只要有幾款通過審查,它們引起的下載潮就會把原有的分類秩序衝擊得亂七八糟。” 另一位iOS開發者、App推薦網站iApp4me創始人郝培強表示,蘋果在這方面的確存在巨大的審核壓力。蘋果應用商店中有50萬以上的應用,可能有幾萬的開發商,蘋果的審核壓力很大。本來蘋果審核中文App就很難保證審核得很好,審核內容是否欺詐就更難了。 黑卡肆虐國內蘋果生態圈 與免費App可直接刷卡、刷榜類似,針對收費的App,iOS產業鏈上也有不少中間商提供個性化的“黑卡”服務。 所謂黑卡,就是與iTunes賬戶綁定的來源不明信用卡。先由美國色情網站、釣魚網站等以各種手段獲取用戶的信用卡有效期和卡號最後三位數。然後中間商從這些網站手裏購買美國人信用卡信息,這些信用卡就變成黑卡。 接下來中間商開始在各個論壇上發出廣告,接受普通消費者或者App開發者訂單,大量刷卡下載App應用。對消費者來講,可以花一元人民幣的價格,買到一美元的應用或者遊戲道具,而對App開發者來說,購買黑卡“服務”,可以讓其應用在短時間內獲得巨大下載量,在排行榜上的位置扶搖直上。 此前,一些開發者抱怨、投訴稱黑卡造成了大量的壞賬。對此,進步思創CEO湯仲寧告訴記者,最近半年裏,這種狀況很大一部分是開發者利用這一途徑,刷排名造成的。“從這個角度講,是開發者自己在毀掉這個系統。” “那些刷排名的軟件,仔細觀察很容易就能看出來。這些遊戲往往評價非常低,到不了三星,但排名卻能很靠前。在行業裏,我們管這種行為叫做自消費,以前自消費用的是真實人民幣,這也無可厚非,但現在就演變成用黑卡。目的無非是吸引投資機構注意,節省廣告費。”湯仲寧認為,“聽說有的投資者居然支持這種行為,這對開發環境很不好。” 2012-02-16 08:38:27 來源: 新京報網絡版

研調:Android似乎在App戰爭中節節敗退

轉載自: 精實新聞 2012-02-15 15:52:14 記者 賴宏昌 報導 businessweek.com 14日報導,根據科技研調機構Flurry Analytics的追蹤調查(樣本數超過55,000),今年1月行動應用軟體開發商替蘋果(Apple Inc.)iOS、Google Android平台開發新軟體的比例為三比一。一年前,此一比例為三比二。iOS平台目前有超過55萬款應用程式(App),而Android則為40萬款。 根據Appcelerator、IDC針對2千名應用軟體開發商所做的調查,2011年11月有意為Android平板/智慧型手機開發軟體的業者比去年6月時還要少。Flurry行銷副總Peter Farago直言,軟體開發商從iOS平台得到的報酬較高。相較之下,Android裝置硬體規格太多、太雜,許多業者根本沒有足夠人力可以應付。 蘋果、谷歌(Google Inc.)在行動App市場上的實力消長似乎也反映在兩家公司的市值上。蘋果目前(截至2月14日收盤為止)為4,750.1億美元,較谷歌(1,982.6億美元)高出140%。 AppleInsider去年12月報導,根據Flurry發表的報告,對於同時在iOS、Android平台銷售軟體的開發商來說,iOS版每創造1美元的營收,Android版僅有0.24美元的對應收入。Android的累計銷售量不是遠高於iOS嗎?為何軟體開發商賺不到錢? Flurry認為,問題出在Android平台並未要求使用者在設立帳號時必須登錄信用卡或其他付費方式資料。Flurry的統計顯示,2011年第1季新軟體開發計劃有37%選擇Android平台,到了第3季則是降至25%。 英國金融時報報導,蘋果App store擁有超過2億筆的客戶付款資料,遠遠高於競爭對手。Zeptolab執行長Misha Lyalin告訴英國金融時報,來自iOS的單月營收大概是Android的10-20倍。Zeptolab為熱門益智遊戲軟體「Cut the …

嚴選!2013年度11大Google Play最佳APP

2013即將進入尾聲,今年不乏有許多優秀的APP出爐,Google Play商店公布了年度11大最佳APP,究竟是哪些APP上榜,快跟著GQ一起來瞧瞧! 1. Whoscall Free 科技始終來自於人性,因應時下詐騙電話猖獗,《Whoscall》讓你聰明選擇是否要接該通電話,來電時顯示相關資訊,重要電話不漏接,至於那些不想接的電話,瀟灑block掉! 2. ColorNote Free 在這個e化的時代,連便條紙也無法逃過!行事曆、記事本、代辦清單功能全部網羅,迅速簡單好上手,還可以選擇使用顏色區分屬性,筆記控快下載就對了。 3. TuneIn Radio Free 《TuneIn Radio》跟上「量身打造」風潮,設定8種音樂類型,即可隨意收聽全球直播電台,聽聽外國新聞電台練聽力,Oh~What a Small World! 4. Magisto Video Editor & Maker Free 安卓用戶不能用《Roadmovies》別怨嘆,《Magisto Video Editor & Maker》這不就來了嘛,多款主題特效、音樂任選是一定要的,軟體還會剪接你的影片精華片段,讓人想大喊:「傑克,實在太神奇了!」而畫質不好就當作是老電影風格囉! 5. Timely Free 號稱「最美的Android鬧鐘APP」,簡約多彩的介面設計是《Timely》主要賣點,再推薦「智能喚醒功能」,在鬧鐘前30分鐘偵測淺眠期,用舒緩的鈴聲讓你從深層睡夢中風度翩翩起床! 6. Runtastic Free 路跑APP前陣子介紹過,現在再加入《Runtastic》紀錄路線、里程數、消耗卡路里數的基本功能當然都沒少,但如果天氣不允許,使用其他《Runtastic》系列APP在家運動也不賴。 7. Expedia …

網路趨勢女王Mary Meeker:移動互聯網使用量正在超越桌面互聯網使用量

騰訊科技訊(童雲)北京時間5月31日消息,華爾街著名證券分析師和投資銀行家、有“網絡女皇”之稱的瑪麗·米克爾(Mary Meeker)今天在D10數字大會上發布了其著名的互聯網趨勢報告。 以下為其演講環節要點: ---互聯網增長仍舊表現強勁;移動設備使用率迅速增長,而且仍處於早期階段; ---2011年全球互聯網用戶總數為23億人;新興市場正在推動互聯網用戶人數增長; ---全球移動3G用戶人數已達11億人,仍在實現非常迅速的增長; ---iPad用戶人數的增長速度超過iPhone,而後者的增長速度則快於iPod; ---Android設備的用戶人數增長速度超過iPhone; ---29%的美國人擁有平板電腦或是電子書閱讀器; ---全球移動互聯網流量迅速增長,在互聯網總流量中所佔比例升至10%,比2008年底增長2%。美國市場上,移動電子商務在總電子商務市場上所佔比重為8%。移動互聯網業務的商業化進程正在改善,但大多數來自於應用而非廣告; ---互聯網廣告支出與用戶在互聯網上所花費的時間大致對等,但移動互聯網廣告支出仍舊落後於用戶在移動互聯網上所花費的時間。廣告收入仍主要來自於桌面互聯網; ---印度市場上5月份的移動互聯網使用量首次超越桌面互聯網使用量;大多數市場上都將出現這種趨勢;移動互聯網的CPM遠低於桌面互聯網; ---1995年全球互聯網收入為5500萬美元,現在則為730億美元; ---所有一切都在被重新構想:生活方式、新聞和信息流、做筆記、畫畫、照相、剪貼簿、雜誌、音樂、視頻創造和製作、人才的商業化、家庭娛樂、電視、導航和實時交通、體育信息、家庭裝修、打電話叫出租車、團購、現金出納機、個人服務、想法構建、個人借款、招募和招聘、焦點討論、簽名、學習、回報和滿意度、通信、恆溫控制器。諸如此類; ---按市值計算,全球市場擁有36萬億美元的市場機會; ---經濟趨勢表現不一,帶有負面的傾向。在股票市場上,10週走勢表現不佳。消費者信心接近於4年高點,但仍遠低於30年平均值。49%的美國人認為經濟狀況疲弱,好於一年以前的52%,但仍舊是個糟糕的數字。預計歐洲經濟將陷入衰退; ---在技術方面,有很多東西讓人激動,如iOS、Android和Windows Mobile等; ---美國應得權益項目和利息支出將在15年時間裡超過收入; ---互聯網泡沫已經產生?最近以來的IPO表現並不搶眼,許多股票的價格都接近於最初的IPO定價區間。與私募市場投資者相比,公開市場投資者更加持有懷疑態度。職業社交網站LinkedIn表現良好,2011年5月份以每股45美元的IPO定價籌集了3.53億美元資金,去年11 月份股價達到71美元。           報告顯示,去年第四季度全球移動3G用戶總數已達11億人,比上年同期增長37%,但滲透率僅為18%;與此相比,第四季度全球互聯網用戶總數為23億人,比上年同期僅增長8%。 KPCB合夥人瑪麗·米克在D10大會上演講(騰訊科技配圖)   以下為其演講內容與現場幻燈: 圖一:全球3G用戶數已達11億,同比增長37%,3G滲透率18%。           智能設備新使用率的增長速度超出以往任何時候,其中iPad和Android設備的增長曲線遠比iPhone的增長曲線呈現出急劇增長的趨勢。但未來仍有很長一段路要走,原因是全球智能手機使用量僅為9.53億部,而手機使用量則為61億部。 圖二:雖然到目前為止已實現龐大增長,但智能手機用戶使用率仍有很大上升空間。           …

Copyright © Erawppa Technology, 2016

您有制作開發APP的需求嗎? 您有網頁設計或是網站架設的需求嗎? 請立即填寫表格,我們將有專人與您聯絡

* (表示為必填欄位)

Copyright © Erawppa Technology, 2016

Android應用打破65K方法數限制

近日,Android Developers在Google+上宣佈了新的Multidex支持庫,為方法總數超過65K的Android應用提供了官方支持。 如果你是一名幸運的Android應用開發者,正在開發一個前景廣闊的應用,不斷地加入新功能、添加新的類庫,那麼終有一天,你會不幸遇到這個錯誤: Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 這個錯誤是Android應用的方法總數限製造成的。Android平台的Java虛擬機Dalvik在執行DEX格式的Java應用程序時,使用原生類型short來索引DEX文件中的方法。這意味著單個DEX文件可被引用的方法總數被限制為65536。通常APK包含一個classes.dex文件,因此Android應用的方法總數不能超過這個數量,這包括Android框架、類庫和你自己開發的代碼。 這個問題可以通過將一個DEX文件分拆成多個DEX文件解決。Facebook介紹了為Android應用開發的Dalvik補丁;Android Developers博客介紹了通過自定義類加載過程的方法來解決此問題。但這些方法有些複雜而且並不優雅。 隨著新的MultiDex支持庫發佈,Google正式為解決此問題提供官方支持。構建超過65K方法數的應用介紹了如何使用Gradle構建多DEX應用。 首先使用Android SDK Manager升級到最新的Android SDK Build Tools和Android Support Library R21。然後進行以下兩步操作: 1.修改Gradle配置文件,啓用MultiDex並包含MultiDex支持: android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' } 2.讓應用支持多DEX文件。在MultiDexApplication JavaDoc中描述了三種可選方法: 在AndroidManifest.xml的application中聲明android.support.multidex.MultiDexApplication; 如果你已經有自己的Application類,讓其繼承MultiDexApplication; 如果你的Application類已經繼承自其它類,你不想/能修改它,那麼可以重寫attachBaseContext()方法: @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } 經過以上步驟,你的應用已經可以實現多個DEX文件了。當應用構建時,構建工具會分析哪些類必須放在第一個DEX文件,哪些類可以放在附加的DEX文件中。當它創建了第一個DEX文件(classes.dex)後,如果有必要會繼續創建附加的DEX文件,如classes2.dex, classes3.dex。Multidex的支持類庫將被包含在應用的第一個DEX文件中,幫助實現對其它DEX文件的訪問。 文中還介紹了在開發多DEX應用時,通過設置productFlavors提高開發效率以及多DEX應用的測試方法。 Android 5.0和更高版本使用名為ART的運行時,它原生支持從APK文件加載多個DEX文件。在應用安裝時,它會執行預編譯,掃描classes(..N).dex文件然後將其編譯成單個.oat文件用於執行。瞭解更多關於ART的信息。 雖然Google解決了應用總方法數限制的問題,但並不意味著開發者可以任意擴大項目規模。Multidex仍有一些限制: DEX文件安裝到設備的過程非常複雜,如果第二個DEX文件太大,可能導致應用無響應。此時應該使用ProGuard減小DEX文件的大小。 由於Dalvik linearAlloc的Bug,應用可能無法在Android 4.0之前的版本啓動,如果你的應用要支持這些版本就要多執行測試。 同樣因為Dalvik linearAlloc的限制,如果請求大量內存可能導致崩潰。Dalvik linearAlloc是一個固定大小的緩衝區。在應用的安裝過程中,系統會運行一個名為dexopt的程序為該應用在當前機型中運行做準備。dexopt使用LinearAlloc來存儲應用的方法信息。Android 2.2和2.3的緩衝區只有5MB,Android 4.x提高到了8MB或16MB。當方法數量過多導致超出緩衝區大小時,會造成dexopt崩潰。 Multidex構建工具還不支持指定哪些類必須包含在首個DEX文件中,因此可能會導致某些類庫(例如某個類庫需要從原生代碼訪問Java代碼)無法使用。 避免應用過大、方法過多仍然是Android開發者要注意的問題。Mihai Parparita的開源項目dex-method-counts可以用於統計APK中每個包的方法數量。 通常開發者自己的代碼很難達到這樣的方法數量限制,但隨著第三方類庫的加入,方法數就會迅速膨脹。因此選擇合適的類庫對Android開發者來說尤為重要。 開發者應該避免使用Google Guava這樣的類庫,它包含了13000多個方法。盡量使用專為移動應用設計的Lite/Android版本類庫,或者使用小類庫替換大類庫,例如用Google-gson替換Jackson JSON。而對於Google Protocol Buffers這樣的數據交換格式,其標準實現會自動生成大量的方法。採用Square Wire的實現則可以很好地解決此問題。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


7 + 3 =

Copyright © ItemBridge inc., 2013

你相信嗎?庫克:我每天都戴著 Apple Watch,根本不想拿下來

apple watch
Apple Watch 即將在下月開賣,對於蘋果能不能為大眾在穿戴裝置領域開啟新的想像,大家都很好奇。執行長庫克日前接受《Fast Company》專訪,言談中不僅流露出自己對 Apple Watch 的自豪,也說明賈伯斯的價值觀如何型塑了蘋果的企業文化。

革命性的產品無法被預測

庫克表示,推出 Apple Watch 以前,蘋果團隊花費了數年時間不斷嘗試與改進。「在還沒準備好之前,我們不會讓產品上市。保持耐心,把產品調整到最佳狀態。我們對於智慧手錶也是採取同樣的態度。」庫克說,蘋果不是第一家做 MP3 Player 的公司,不是第一家做平板電腦的公司,也不是第一家做智慧手機的公司,但是蘋果卻推出了第一款現代化的智慧手機。同理,Apple Watch 也會是第一款現代化的智慧手錶。 庫克表示,Apple Watch 必須搭配 iPhone 5、iPhone 6 或 iPhone 6 Plus 才能發揮功用,對消費者來說多了一道門檻。不過他對於 Apple Watch 的市場反應相當樂觀,並說自己早就「每天戴著 Apple Watch,根本不想拿下來」。 面對大眾對於智慧手錶的質疑,庫克說,過去人們也無法想像自己為什麼需要 iPod 和 iPhone,iPad 剛推出時甚至遭受嚴厲批評。「但是,我認為革命性的產品無法被預測。大家得到事後才看出產品真正的價值。智慧手錶的情況也是一樣。」  

「賈伯斯是我最好的老師」

而庫克對賈伯斯的景仰,在訪談中也表露無疑。 他說,賈伯斯認為大多數人都活在小框架中,認為自己無法影響或改變週遭,但賈伯斯從來不接受這種想法。「如果你認為自己能做的事情無窮無盡,那麼你就可以在歷史上留下足跡、可以改變世界。」賈伯斯認為,如果蘋果可以為使用者創造出偉大的產品和工具,那麼使用者就能在這個基礎之上,建構出偉大的事物。庫克表示,蘋果團隊對這樣的想法仍然深信不疑,而這也是這家公司的核心價值。 此外,庫克也說,賈伯斯做過最重要的事情就是塑造企業文化,以及挑選出一支偉大的團隊,而這些作為都形成了正向循環。「他是我人生中最棒的老師」庫克說。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 6 = 1

Copyright © ItemBridge inc., 2013

利用 bash shell 寫入 plist

defaults write ~/Documents/test layer-gadgets -array-add "xxx" "XXX" ....

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


6 − 2 =

Copyright © ItemBridge inc., 2013

UIImage To CCTexture2D

-(CCTexture2D*) UIImageToCCTexture2D:(NSString*)pszFileName
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:pszFileName];

 	UIImage *image = [[UIImage alloc] initWithContentsOfFile:path];
 	CGImageRef imageref = [image CGImage];
 	CCTexture2D *tex = [[CCTextureCache sharedTextureCache] addCGImage:imageref forKey:pszFileName];
	return tex;    
}

-(void) addUIImageToSpriteFrameCache:(NSString*)pszFileName
{
    CCTexture2D* tex = [self UIImageToCCTexture2D:pszFileName];
    CCSpriteFrame* frame = [CCSpriteFrame frameWithTexture:tex 
                                                      rect:CGRectMake(0, 0, [tex contentSize].width, [tex contentSize].height)];
    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFrame:frame name:pszFileName];
}

Leave a Reply

Copyright © ItemBridge inc., 2013

獲得安裝目錄中的 document 路徑

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *path = [documentsDirectory stringByAppendingPathComponent:@"xxx.png"];

Leave a Reply

Copyright © ItemBridge inc., 2013

iOS URL Schemes

URLEncode 當URL含有特殊字元時會需要先encode: URL Encoding Reference

/** 有些特殊字元會沒有被encode 如 & = : */
[myNSString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
這個會是比較完整的方法:
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                        (CFStringRef)textToEncode,
                                        NULL,
                                        (CFStringRef)@";/?:@&=+$,",
                                        kCFStringEncodingUTF8);
Safari 開始格式: "http://" 限制:不能包含 maps.google.com (開啓map) 或是 www.youtube.com (開啓youtube)
[[UIApplication​ sharedApplication]
​​​​​​​​openURL:[NSURL​URLWithString:​@”http://www.apple.com”]];
NSString *youTubeUrl = @"http://www.youtube.com/watch?v=A34BDf31SdA";
/** pattern: title@latitude,longitude&z=zoom */
NSString *mapUrl = @"http://maps.google.com/maps?q=someTitle@23.000002,9.004000&z=13";
NSString* mapUrl = @"http://maps.google.com/maps?daddr=ADDRESS_A&saddr=ADDRESS_B";
NSString *iTunesUrl = @"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=1234567890&id=1234567890&s=143441";
NSString *appStoreUrl = @"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=251123002&mt=8";
NSString *iBookUrl = @"itms-books:";
Phone 開始格式: "tel:" 限制:不能包含空白字元" "或是括號 "(" ")",但可以包含 "-" "+"
[[UIApplication​ sharedApplication] ​​​​​​​​
openURL:[NSURL​URLWithString:​@”tel:96924065”]];
SMS 開始格式: "sms:"
[[UIApplication​ sharedApplication]
​​​​​​​​​openURL:[NSURL​URLWithString:​@”sms:96924065”]];
Email 開始格式: "mailto:"
[[UIApplication​ sharedApplication]
​​​​​​​​​openURL:[NSURL​URLWithString:​@”mailto:test@erawppa.com”]];
Email 完整
NSString *subject = @"Message subject";
NSString *body = @"Message body";
NSString *address = @"test1@erawppa.com";
NSString *cc = @"test2@erawppa.com";
NSString *path = [NSString stringWithFormat:@"mailto:%@?cc=%@&subject=%@&body=%@", address, cc, subject, body];
NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


3 + 6 =

Copyright © ItemBridge inc., 2013

iPad程序下載量達30億次 Android平板4億次

根據市場諮詢公司ABI Research本週三公佈的數據,蘋果iPad下載的程序數量已經達30億。 2010年,蘋果正式發布9.7寸平板電腦iPad。 ABI Research的研究發現,在App Sotore程序下載量中,iPad下載的程序量佔19%,它達到30億目標的時間比iPhone短6個月。 iPhone花了2年才達到30億下載量目標。 在蘋果產品線內部競爭中iPad獲勝,但它面臨外部挑戰。 ABI Research表示,Android平板至今程序下載量只有​​4億次。分析師認為之所以如此,主要是因為Anroid平板太碎片化。報告中寫道:“許多市面上的Andr​​oid平板仍然使用老版本的Andr​​oid系統,這使得用戶沒法享用到利用先進工具開發的程序。” 更多選擇,質量也更好,這是蘋果平台的優勢。 ABI Research還指出,2011年三季度,共有12萬款程序專門提供給iPad平台。到目前為止,Android Market共有40萬款程序,它們包括智能手機和平板程序。 新聞來源 : http://www.cocoachina.com/appstore/sales/2012/0106/3838.html

Leave a Reply

Copyright © ItemBridge inc., 2013

UIActionSheet 範例

UIActionSheet *as = [[UIActionSheet alloc]
                            initWithTitle:nil
                                 delegate:self
                       cancelButtonTitle:@"cancelButtonTitle"
                  destructiveButtonTitle:@"destructiveButtonTitle"
                       otherButtonTitles:nil];
[as showInView:self.view];
- (void)actionSheet:(UIActionSheet *)actionSheet
                    clickedButtonAtIndex:(NSInteger)buttonIndex
{
   if (buttonIndex == 0)
   {
    // destructiveButton index
   }
}

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


9 − = 5

Copyright © ItemBridge inc., 2013

使用 Xcode 開發時, 時常會遇到重複的 code 需要不斷的重新撰寫, 此時可以利用 Xcode 本身的 File Template功能, 減少開發時間, 將附件下載到 /Users/xxxxxx/Library/Developer/Xcode/Templates/File Templates/HelloTemplate (HelloTemplate 目錄需要新建立) 執行完上述步驟之後, 在  Xcode 選單中 (File | New | New File) 就可以看到剛剛所新增的 HelloTemplate 分類群組 template 範例 HelloTemplate class.xctemplate ___FILEBASENAME___.h

//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  Copyright ___YEAR___ Erawppa Co., Ltd.. All rights reserved.
//

#ifndef _____FILEBASENAMEASIDENTIFIER_____NODE_H__
#define _____FILEBASENAMEASIDENTIFIER_____NODE_H__

class ___FILEBASENAMEASIDENTIFIER___ 
{
public:
    ___FILEBASENAMEASIDENTIFIER___();
    ~___FILEBASENAMEASIDENTIFIER___();
    void HelloWorld();
private:
};
#endif // _____FILEBASENAMEASIDENTIFIER_____NODE_H__
___FILEBASENAME___.cpp
//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  Copyright ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
//
#include "___FILEBASENAME___.h"

___FILEBASENAME___::___FILEBASENAME___()
{
}
___FILEBASENAME___::~___FILEBASENAME___()
{
}
void ___FILEBASENAME___::HelloWorld()
{
    printf("HelloWorld\n");
}
若是要修改或新增 template, 只要依照如下步驟即可 1. 依照範例新增自己所需要的 template file 2. 在TemplateInfo.plist參數 Options | Item 0 | Values 欄位中加入新的 template 名稱

Leave a Reply

Copyright © ItemBridge inc., 2013

interface 的 private member 宣告方式

若實作的 class 有不想放在 .h 中的 variable / function , 可以透過在 .m 中去宣告. xxx.h

@interface Sample : NSObject {
    
}
@end
xxx.m
@interface()
@property (nonatomic, assign) int testInt_;
-(void) test;
@end

@implementation
@synthesize testInt_;
-(void) test
{
}
@end

Leave a Reply

Copyright © ItemBridge inc., 2013

在 Lion 中顯示 Library 資料夾

Apple 因為安全考量, 所以在 Lion 中預設將 Library 資料夾隱藏, 要能夠顯示 Library 有兩個方式 1. 開啓 console 並輸入 : chflags nohidden ~/Library 2. Finder -> 選擇選單"前往" 並同時按住 "option" , 此時應該可以看到 Library 目錄出現可供選擇

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


9 − 9 =

Copyright © ItemBridge inc., 2013

使用 UILocalNotification 實現提醒功能

iOS4.0 後提供 UILocalNotification 讓 app 能夠在沒有開啓的狀態下顯示提醒內容,並且有機會喚起 app 官方詳細文件:<Local and Push Notification Programming Guide>

UILocalNotification *notification = [[UILocalNotification alloc] init];
/** 從現在開始多少秒後發出提醒 */
notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:15];
/** 使用預設時區 */
notification.timeZone = [NSTimeZone defaultTimeZone];
/** 使用系統預設鬧鈴聲 */
notification.soundName = UILocalNotificationDefaultSoundName;
/** 桌面icon右上角顯示提醒數量 */
notification.applicationIconBadgeNumber = 1;
/** 提醒內容文字 */
notification.alertBody = @"提醒內容";
/** 確定按鈕內容,如果沒有指定,則不會進入APP */
notification.alertAction = @"確定";
/** 設定提醒後進入APP所帶回的內容 */
NSDictionary *userDict = [NSDictionary dictionaryWithObject:@"some data"
                                                     forKey:@"kAlertKey"];
notification.userInfo = userDict;

[[UIApplication sharedApplication]scheduleLocalNotification:notification];
提醒發生後,app 當下可能正處在以下三種狀態,程式進入點會是: 1. app 是關閉狀態,並未被執行
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   /** 取出之前自訂項目 */
   UILocalNotification *notification = [launchOptions objectForKey:
                        UIApplicationLaunchOptionsLocalNotificationKey];
   if (notification) {
      SomeObj *obj = [notification.userInfo objectForKey:@"kAlertKey"];
   }
   /** 將提示數量重設為 0 */
   application.applicationIconBadgeNumber = 0;
   ...
}
2. app 處在背景執行 3. app 正開啓
- (void)application:(UIApplication *)application
        didReceiveLocalNotification:(UILocalNotification *)notification {
   if (state == UIApplicationStateInactive) {
      /** app 正處於背景執行狀態 */
   }
   else {
      /** app 正在執行狀態 */
   }
   ...
}

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


4 − 3 =

Copyright © ItemBridge inc., 2013

xCode 除錯技巧

1. 使用 NSZombie 當有發生記憶體非法使用時會跳出assert,如:操作一個已經被釋放的object 使用方法:

在 xCode -> Product -> Edit Scheme -> Run -> Arguments
新增 Environment Variables
name:NSZombieEnabled
value:YES
2. 使用 objc_exception_throw 會在系統即將掛掉前的地方進入中斷點 使用方法:
在 xCode -> Breakpoint Navigator (或是按 cmd + 6)
新增 Symbolic Breakpoint
symbol:objc_exception_throw
3. 使用 GDB 命令 xCode 內建 GDB, 可以在 console 輸入GDB指令 3.1 po:(print object 縮寫),可以印出 object 的 description
(gdb) po myObjectInstance
3.2 print:可自訂需要印出的資訊
(gdb) print (char *)[[myObj description] cStringUsingEncoding:4]
[註:4 = NSUTF8StringEncoding] 3.3 info symbol:可查看該記憶體位置的一些相關資訊
(gdb) info symbol 0xb200
3.4 info line:可查看該記憶體位置的相關程式碼資訊
(gdb) info line 0xb200
3.5. help:查詢命令使用方法
(gdb) help info

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


6 − 2 =

Copyright © ItemBridge inc., 2013

如何用 Mac 連接 windows 印表機

Windows端 1. 開啓印表機共用 1.1 進入控制台 > 裝置與印表機 在想要共用的印表機上按滑鼠右鍵,選擇印表機內容 1.2 進入共用 > 勾選「共用這個印表機」並給他一個名稱。如:MyPrinter 2. 開啓 LPD,LPR印表機服務 2.1 進入控制台>程式與功能 2.2 開啓或關閉Windows功能 > 列印和文件服務 勾選 LPR 以及 LPD Mac端 1. 進入系統偏好 > 印表機 & 傳真機 點選 『+』 2. 在新增印表機畫面上方選單區任一地方按 「control + 滑鼠左鍵」或直接按滑鼠右鍵 2.1 選客製化工具列 (Customize Toolbar) 2.2 將「進階」(Advenced)拖曳至工具列 3. 點選「進階」 3.1 「類別」選擇 LPD/LPR Host on Printer 3.2 「URL」填寫:lpd://你的印表機主機ip/印表機名稱 如:lpd://192.168.1.1/MyPrinter 3.3 「名稱」填寫指定給這台印表機的一個名稱,隨便取 3.4 「印表機使用」選擇「選取印表機軟體」然後選取該印表機型號的軟體   確認後即可使用印表機

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 1 = 8

Copyright © ItemBridge inc., 2013

Unknown class in Interface Builder file

出現這個錯誤主要是因為這個class只有在IB內出現或是只有當作IBOutlet宣告,其他的地方都沒有被引用。 解決方法: 1. 任何一個.m檔內使用該class,例如 NSLog(@"%@",MyClass.class); 2. 在project 的 info 裡的 Link Flag 處增加 -all_load

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


2 + 9 =

Copyright © ItemBridge inc., 2013

在 Mac OS X Server 10.6.8 下安裝 Redmine

Redmine網站:http://www.redmine.org/ 下載 官方 1.3.1 (2012-02-26):RubyForge 或是安裝 Bitmine的 redmine版 http://bitnami.org/stack/redmine (Include all the dependencies necessary to run the application, such as Apache, MySQL, Ruby, Rails and Subversion.) 官方版本安裝步驟: 1. 所需 gem 版本:

RubyGems 1.7.2 Rails 2.3.14 ruby 1.8.7 Rake 0.8.7 Rack 1.1.x
I18N 0.6.0 mySQL 2.8.1 Mongrel 1.1.5 rdoc 2.4.2
安裝RubyGem 1.7.2
$ gem install -v 1.7.2 rubygems-update
$ update_rubygems _1.7.2_
$ gem install rails --version=2.3.14
$ gem install rake --version=0.8.7
$ gem install rake --version=0.8.7
$ gem install rack --version=1.1.3
$ gem install rdoc --version=2.4.2
$ gem install mongrel --version=1.1.5
$ gem install i18n
直接安裝mysql會遇到一些問題 首先先下載官方mysql原始碼 http://www.opensource.apple.com/other/MySQL-55.binaries.tar.gz 解壓後執行
$ sudo tar -xvzf ~/Downloads/MySQL-55.root.tar.gz -C /
$ gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
建立資料庫
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';
修改 config/database.yml
production:
 adapter: mysql
 database: redmine
 host: localhost
 username: redmine
 password: my_password
從configuration.yml裡設定email (gmail)
default:
 # Outgoing emails configuration (see examples above)
 email_delivery:
 delivery_method: :smtp
 smtp_settings:
 tls: true
 enable_starttls_auto: true
 address: smtp.gmail.com
 port: 587
 domain: smtp.gmail.com
 authentication: :plain
 user_name: "yourname@domain.com"
 password: "yourpassword"
進入redmine安裝目錄裡執行下面命令
$ rake generate_session_store
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake redmine:load_default_data
啓動server
$ ruby script/server -e production

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 2 = 10

Copyright © ItemBridge inc., 2013

如何使用 NSDateFormatter

 

Pattern Result (in a particular locale)
yyyy.MM.dd G 'at' HH:mm:ss zzz 1996.07.10 AD at 15:08:56 PDT
EEE, MMM d, ''yy Wed, July 10, '96
h:mm a 12:08 PM
hh 'o''clock' a, zzzz 12 o'clock PM, Pacific Daylight Time
K:mm a, z 0:00 PM, PST
yyyyy.MMMM.dd GGG hh:mm aaa 01996.July.10 AD 12:08 PM
  NSDateFormatter *df = [[NSDateFormatter alloc]init]; df.dateFormat = @"yy/M/d h:m"; NSDate = [df dateFromString:[dict objectForKey:@"12/03/31 9:21"]];

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 5 = 14

Copyright © ItemBridge inc., 2013

iPhoneBluetooth

Introduction

The 2.x OS on the iPhone and the iPod touch did only support Bluetooth headsets. However, this is not a limitation of the used Bluetooth chipset, but of an incomplete Bluetooth stack. OS 3.0 provides support for headsets (mono/stereo), networking via the PAN/BNEP protocol and support for "Made for iPhone" devices which require a proprietary Bluetooth protocol. Still, not even basic OBEX support is included (available with any low-price mobile phone), and no API is available to connect to arbitrary Bluetooth devices. It also extents the GameKit API to allow for iOS-to-iOS communication. OS 4.0 added support for A2DP and braille readers over RFCOMM. OS 5.0 on the new iPhone 4S added support for Bluetooth Low Energy device by the public CoreBluetooth framework (also available on 10.7.2 with appropriate Bluetooth 4.0 modules, e.g. in the 2011 series of MacBook (Pro) and Mac mini)

Bluetooth Accessories - Made for iPhone

Apple's External Accessory API introduced in 3.0 allows to register for external accessories which can be connected either via the Dock connector or via Bluetooth. It then allows to specify an accessory based on a so-called "protocol" string and provides a socket-like connection to the device. Almost 2 years later, devices using MfI appear on the market, e.g. the UnityRemote by Gear4.com. To use this API, you'll have to sign up and get accepted into the "Made for iPhone" (MfI) program, and sign an NDA (or more...). If you get accepted into Mfi, you can purchase a MfI developer board. Such boards are currently provided by:   From the limited information available, it is reasonable to assume that Apple uses their iPod Accessory Protocol, which uses a basic UART on the iPod dock connector, over Bluetooth. Both make use of a proprietary "authentication chip" which is exclusively sold by Apple.

Peer-to-Peer Gaming

Apple's GameKit API in 3.0 allows to connect nearby iPhones via Bluetooth and to use normal IP networking (TCP, UDP, Bonjour..). The main goal of this is to simplify the pairing procedure which does not involve PINs. It makes use of the Extended Inquiry procedure of Bluetooth 2.1 and higher. The extended inquiry response (EIR) contains a list of SDP service records of which one is a "vendor-specific" extension. If a device provides such a EIR, the iPhone will connect to the foreign device and query its SDP for more details. More analysis is needed to provide peer-to-peer gaming for non-Apple devices.

Bluetooth Tethering

On 3.0, the iPhone is provides Bluetooth PAN/BNEP support. If the devices are paired and Bluetooth is enabled on the iPhone, a network connection can directly be established from another device, e.g., a laptop. Internet Tethering will activated automatically. The iPhone acts as a normal home router and allows direct TCP/IP connections in both directions. The use of standard TCP/IP communication might be sufficient for most connections between networked devices like netbooks and laptops and the iPhone. However, connecting to standard Bluetooth devices is not possible by this.

Bluetooth Low Energy via CoreBluetooth

On devices with Bluetooth 4.0, e.g. the new iPhone 4S, the public CoreBluetooth framework is available. From Apple's docs:
The Core Bluetooth framework (CoreBluetooth.framework) allows developers to interact specifically with Bluetooth Low-Energy ("LE") accessories. The Objective-C interfaces of this framework allow you to scan for LE accessories, connect and disconnect to ones you find, read and write attributes within a service, register for service and attribute change notifications, and much more.
For more information about the interfaces of the Core Bluetooth framework, see the header files.

Hardware Details

Both generation of the iPhone (2G and 3G versions) use Bluetooth chipsets from Cambridge Silicon Radio (CSR), one of the leading Bluetooth vendors. CSR provides a wealth of documentation in their technical support area (free login required). The first generation iPhone contains a BlueCore 4, the second generation (current 3G models) contains a BlueCore 6 chipset. All newer devices, from the iPod touch second generation and the new iPhone 3GS on, contain Broadcom chipsets, a company not famous for providing developer information. The Bluetooth modules are connected via an UART integrated in the ARM CPU. It is accessibly as /dev/tty.bluetooth. There are 2 virtual devices: /dev/btwake and /dev/btreset which probably are used to simply wake or reset the Bluetooth module via POSIX API instead of using some obscure internal library.

Software Details

On the iPhone and the iPod touch, the Bluetooth functionality is provided by BTserver, a background daemon. No further information is available about it. However, to control the Bluetooth chipset, the BTserver makes use of the BlueTool. The BlueTool tool provides a command-line interface for changing the operation mode (on/off/sleep..) and to configure various details of the Bluetooth chipset. The configuration used on the iPhone is rather complex, but fortunately, Apple provides commented initialization scripts in /etc/bluetool. By just feeding the script for the actual Bluetooth chipset to BlueTool, Bluetooth is fully initialized. The iPhones are configured for the H5 transport protocol and a baudrate of 2.4 megabit per second. On the iPod touch, the firmware for the Broadcom chipset is loaded first before it is also configured for 2.4 mbps. In contrast to the iPhone, the basic H4 transport protocol is used. As part of the init script the the Bluetooth MAC address is set by the BlueTool as the initial one in the CSR chipsets is differs to the one reported by the About panel, and is zero for the Broadcom chipset. From OS 4.x, BlueTool has the configuration scripts compiled in.

BTstack on the iPhone / iPod touch

Support for the integrated Bluetooth chipsets

So far, BTstack only support the H4 transport mode. Support for the H5 or the CSR BCSP protocol might be implemented later. In order to use the CSR module in H4 mode, the script provided by Apple is parsed and modified on-the-fly before it is fed into BlueTool. Baud rates from 57600-921600 can be used. Higher baud rates are not supported by the standard IOCTL call.

launchd integration

For a resource-limited device as the iPhone, the BTstack resp. the BTdaemon should only run, when Bluetooth functionality is needed/used by a client application. For Mac OS X, Apple recommends the use of Unix Domain sockets for IPC in general and to use launchd to start background daemons such as the BTdaemon on demand in their [http://developer.apple.com/mac/library/technotes/tn2005/tn2083.html Technical Note TN2083 Daemons and Agents]. A nice introduction is also given in the Google Tech Talk on launchd by its creator Dave Zarzycki. BTstack can be compiled with launchd support.

Bluetooth Icon in Springboard Status

A background daemon cannot set an icon in the status bar (AFAIK). The new SpringBoardAccess MobileSubstrate extension hooks into the SpringBoard and allows to control the icons from anywhere. It might also be used to pop-up a message like "connection lost"

Apple's Bluetooth Stack

Only one Bluetooth Stack can run at the same time. When BTdaemon is asked to enable Bluetooth, it tries to access the Bluetooth resource. If it cannot access the Bluetooth module, an error is reported back to the client, which in turn can infrom the user. After the user turns off the original Bluetooth stack, a BTstack-based app can be started again. Later, we could add the option to display a warning and disable the original stack automatically.   資料來源:http://code.google.com/p/btstack/wiki/iPhoneBluetooth

Leave a Reply

Copyright © ItemBridge inc., 2013

App Store下載即將達250億次

蘋果在2007年推出iPhone,2008年七月開放App Store,目前約有50萬種iOS軟體。App Store開放第一年下載次數達15億次,兩年半後達100億次,現在則準備迎接250億次。
蘋果iOS線上軟體商店App Store軟體下載次數即將超越250億次,蘋果再次舉辦贈獎活動,將送給第250億次下載的幸運用戶一萬美元的iTunes Store禮券。使用者只要透過iTunes下載App就會被視為參加活動。 去年一月份App Store軟體下載次數將近100億次時,蘋果也舉辦同樣的活動,當時由一位英國的13歲使用者Connor Mulcahey贏得一萬美元的獎項,蘋果公司還加贈她iPod Touch、MacBook Pro和Time Capsule各一台。 蘋果在2007年推出iPhone,2008年七月開放App Store,集中提供第三方廠商開發的應用程式讓使用者下載,目前約有50萬種iOS軟體。App Store開放第一年下載次數達15億次,兩年半後達100億次。 iOS主要競爭對手Google Android在線上軟體下載方面也緊追在後。去年3月Google宣布下載次數達30億次、7月達60億次,12月則宣布Android Market下載次數已經超越100億次。
新聞來源:http://www.ithome.com.tw/itadm/article.php?c=72240

Leave a Reply

Copyright © ItemBridge inc., 2013

事前準備

  • 下載相關檔案

    1. JAVA環境
    2. Android SDK
      1. Android SDK 下載
    3. 開發環境
      1. Eclipse (建議下載 Eclipse Classic)
      2. 安裝ADT
    4. xx
  • 安裝開發環境

    1. 安裝SDK
      • 將 SDK解壓縮至適當開發目錄,產生出的 android-sdk-<machine-platform> 將會是之後的根目錄
    2. 安裝ADT
      • 開啓Eclipse,於 Help > Install new Software
      • 點選 "Add" > 新增
      •    name: ADT
      •    Location: http://dl-ssl.google.com/android/eclipse/
      • 選擇 Developer Tools > 下一步 > 安裝完畢
      • 重新啓動Eclipse
    3. 新增platforms
      • 於 Window > Android SDK Manager 安裝所需platforms以及相關檔案
    4. 新增device
      • 於 Window > AVD Manager 新增一個對應platform的device 如 android 2.3
  • 用戶使用版本比例

      • 截止至2011年12月1日,不同的Android操作系統版本的用戶比例。
        版本名稱 API level  %
        4.0 冰淇淋三明治 14-15 0%
        3.x.x 蜂巢 11-13 2.4%
        2.3.x 薑餅 9-10 50.6%
        2.2 凍酸奶 8 35.3%
        2.1 閃電泡芙 7 9.6%
        1.6 甜甜圈 4 1.3%
        1.5 紙杯蛋糕 3 0.8%

Leave a Reply

Copyright © ItemBridge inc., 2013

炒作蘋果App排名調查:大量僵屍用戶結成行業

誰在炒作蘋果App排名? 一些開發者發現,在蘋果中國應用商店中,如“超級手機號碼追蹤器”之類的欺詐型App越來越多,且其中的佼佼者往往位居“排行榜”高位。在這些欺詐App的後面,存在著一群刷排名、評價的專業“僵屍”用戶,一些App開發商,共用這些“僵屍”來刷評論、給好評、甚至購買,以此沖淡大量受騙用戶的負面評價,反復衝入蘋果的銷售排行榜。 360的App下架風波暫時告一段落,一個新的地下產業卻浮出水面:蘋果應用商店(App Store)中的排名炒作行業(他們自稱為“下載量優化”)。其後,媒體追蹤到了一些排名炒作的企業,卻沒有回答一個問題:誰在“消費”這些炒作? 2012年1月,在不斷的被投訴五個月後,一款叫做“超級手機號碼追蹤器”的應用從蘋果App Store中下架了。對於這一結果,一直“追殺”該應用的王淩在滿意之外仍感到無奈。在這五個月中,他堅持在博客和推特上更新他的“欺詐App追殺記”,並通過各種渠道向蘋果舉報。 “十幾個欺詐App只下架了一個,九家開發商只關了一家。而且,幾乎一模一樣的騙局在不斷繼續上演 ;殺死了‘超級手機號碼追蹤器’,還有手機追蹤器,超級手機追蹤器,手機追蹤電話追蹤定位器。”王淩說。 結成團夥炒作銷量與好評 王淩是一名iOS開發者,曾經在蘋果平臺上開發出了頗受歡迎的效率日程App Voodo。2011年8月19日,王淩發現,一款名為“超級手機號碼追蹤器”的App進入了蘋果中國應用商店的暢銷前十名,在付費App中排名第四,前三項是大名鼎鼎的水果忍者、植物大戰僵屍和高德導航。 熟知蘋果系統的王淩知道,未遭破解的蘋果系統不可能提供手機號碼追蹤的功能供第三方開發者調用,相似功能僅僅在蘋果官方提供的“Find my iPhone”應用中提供。隨後王淩發現,這個欺詐App的後面,其實存在一群刷排名、評價的專業“僵屍”用戶;而順著這些用戶的評論足跡,他又發現,有幾個App開發商,共用這些僵屍用戶來刷評論。通過這些用戶集中給好評、甚至購買,欺詐App得以沖淡了大量受騙用戶的負面評價,反復衝入蘋果的銷售排行榜。 進入蘋果銷售排行榜的好處顯而易見。據一些開發者介紹,如果App進入分類排行榜的前三名,日下載量可能會達到一萬多。這些下載量又足以使其保持在分類排行榜前列,如此累積,不到一個月的工夫,就可以累積數十萬下載量。對於收費App來說,大量下載量意味著直接收入;即使是免費App,也可以通過內置廣告、推薦和巨大品牌影響力來獲取間接收益。 自購加好評維持App排名 至於如何提高App的排名,則需要針對App Store的排名規則來下手。因此,“評價炒作”行業應運而生。 開發AR瀏覽器的觸景無限負責人表示,欺詐App雖然對免費軟件影響較小,但對收費軟件的開發者影響很大。 王淩為記者分析了整個欺詐App產業鏈的運作過程:欺詐App上線後,通過黑卡購買、使用僵屍賬戶等方式拉高其在應用商店中的排名,誘使大量不了解內幕的消費者購買;欺詐App開發者再用這些資金繼續自購App,維持其排名;當消費者發現應用功能與描述不符時,App開發者購買或共用大量僵屍用戶,使用“評價炒作”團隊大量發出五星評價,沖淡受騙用戶的負面評價,繼續維持App在應用商店中的排名,誘使更多消費者受騙購買。 淘淘鏡開發者王豫鵬認為,這對小的App開發者非常不利。大的開發者有資金基礎,可以花費幾十萬刷流量,小App開發者則做不到這點,往往是“應用還沒有露面就不見了”。 王淩發現,圍繞著“超級手機號碼追蹤器”這款欺詐App,有部分僵屍用戶進行了好評投票、這部分用戶同時又給深度睡眠、十倍睡眠等毫無科學根據的App同樣投了好評票(本報去年曾報道過的超級驅蚊器等App亦屬此列)。 當面向蘋果舉報方獲解決 2010年8月,王淩先後給蘋果官方公佈的投訴郵箱發了兩封舉報郵件,但均未獲回應。同時,王淩還委託人與蘋果中國市場部聯絡,並自己在應用商店中欺詐App的頁面上直接使用“報告問題”按鈕進行舉報。但一直沒有效果。 2010年12月5日,蘋果在北京組織開發者技術交流,王淩利用這一機會,當面向蘋果的兩個技術團隊提出舉報。這兩個團隊給了王淩一個通過iTunes投訴虛假評論的渠道。王淩用這一渠道再次進行了投訴。 一個月之後,2012年1月7日,蘋果的回復電子郵件終於到來。1月11日,蘋果再次發出跟進郵件,聲稱他舉報的問題已經轉給相關團隊。1月20日,中國農曆新年前夕,王淩發現“超級手機號碼追蹤器”已經被下架。此時,距他第一次向蘋果正式發郵件舉報該App,已經過去了整整五個月。 業內說法 開發者指蘋果監管不力 欺詐App在蘋果中文應用市場形成產業,首先來自於這一行業巨大的利潤。與鉅額收入形成對比的,則是應用市場日益激烈的競爭。 王淩表示,現在應用商店中“競爭慘烈”,在這種激烈競爭下,有些App只能採用炒排名、刷好評等非正常方式製造銷售量。 王淩認為,蘋果公司在執行制度上的不盡責也為欺詐App橫行留下了空間。根據中國的《消費者權益保護法》,虛假的產品說明、雇用他人進行銷售誘導,均屬於違法行為。儘管蘋果商店有投訴App甚至投訴評論的渠道,但各種投訴都無人理會;郵件給專用的投訴郵箱,卻要靠半年後的面談才能見到曙光。 蘋果“審核”壓力過大 iOS系統上的閱讀平臺唐茶總監李如一對記者表示,從他的經歷來看,蘋果應用商店對違規App的投訴通道還算暢通。他舉例稱,自己曾經在應用商店上發現有日本作家東野圭吾的盜版書應用,遂將應用名、開發商等信息通過與王淩所用相同的投訴郵箱發送給蘋果。一週之後即接收到回復。 對於王淩投訴的處理週期長達五個月、自己投訴僅一週後即得到回復的懸殊對比,李如一猜測:“這些處理工作畢竟都是人工完成,某些環節出現疏忽、脫節或遺忘也不是不可能”。 醫療垂直社區丁香園CTO馮大輝對蘋果中國的應用商店管理流程也感觸頗深。“總的來說,應用商店的管理態度還是積極的。但蘋果在開發者管理方面顯得手段過於單一,有些開發賬號一口氣投放幾百款應用,都用一些挑逗性畫面、文字作為賣點,只要有幾款通過審查,它們引起的下載潮就會把原有的分類秩序衝擊得亂七八糟。” 另一位iOS開發者、App推薦網站iApp4me創始人郝培強表示,蘋果在這方面的確存在巨大的審核壓力。蘋果應用商店中有50萬以上的應用,可能有幾萬的開發商,蘋果的審核壓力很大。本來蘋果審核中文App就很難保證審核得很好,審核內容是否欺詐就更難了。 黑卡肆虐國內蘋果生態圈 與免費App可直接刷卡、刷榜類似,針對收費的App,iOS產業鏈上也有不少中間商提供個性化的“黑卡”服務。 所謂黑卡,就是與iTunes賬戶綁定的來源不明信用卡。先由美國色情網站、釣魚網站等以各種手段獲取用戶的信用卡有效期和卡號最後三位數。然後中間商從這些網站手裏購買美國人信用卡信息,這些信用卡就變成黑卡。 接下來中間商開始在各個論壇上發出廣告,接受普通消費者或者App開發者訂單,大量刷卡下載App應用。對消費者來講,可以花一元人民幣的價格,買到一美元的應用或者遊戲道具,而對App開發者來說,購買黑卡“服務”,可以讓其應用在短時間內獲得巨大下載量,在排行榜上的位置扶搖直上。 此前,一些開發者抱怨、投訴稱黑卡造成了大量的壞賬。對此,進步思創CEO湯仲寧告訴記者,最近半年裏,這種狀況很大一部分是開發者利用這一途徑,刷排名造成的。“從這個角度講,是開發者自己在毀掉這個系統。” “那些刷排名的軟件,仔細觀察很容易就能看出來。這些遊戲往往評價非常低,到不了三星,但排名卻能很靠前。在行業裏,我們管這種行為叫做自消費,以前自消費用的是真實人民幣,這也無可厚非,但現在就演變成用黑卡。目的無非是吸引投資機構注意,節省廣告費。”湯仲寧認為,“聽說有的投資者居然支持這種行為,這對開發環境很不好。” 2012-02-16 08:38:27 來源: 新京報網絡版

Leave a Reply

Copyright © ItemBridge inc., 2013

研調:Android似乎在App戰爭中節節敗退

轉載自: 精實新聞 2012-02-15 15:52:14 記者 賴宏昌 報導 businessweek.com 14日報導,根據科技研調機構Flurry Analytics的追蹤調查(樣本數超過55,000),今年1月行動應用軟體開發商替蘋果(Apple Inc.)iOS、Google Android平台開發新軟體的比例為三比一。一年前,此一比例為三比二。iOS平台目前有超過55萬款應用程式(App),而Android則為40萬款。 根據Appcelerator、IDC針對2千名應用軟體開發商所做的調查,2011年11月有意為Android平板/智慧型手機開發軟體的業者比去年6月時還要少。Flurry行銷副總Peter Farago直言,軟體開發商從iOS平台得到的報酬較高。相較之下,Android裝置硬體規格太多、太雜,許多業者根本沒有足夠人力可以應付。 蘋果谷歌(Google Inc.)在行動App市場上的實力消長似乎也反映在兩家公司的市值上。蘋果目前(截至2月14日收盤為止)為4,750.1億美元,較谷歌(1,982.6億美元)高出140%。 AppleInsider去年12月報導,根據Flurry發表的報告,對於同時在iOS、Android平台銷售軟體的開發商來說,iOS版每創造1美元的營收,Android版僅有0.24美元的對應收入。Android的累計銷售量不是遠高於iOS嗎?為何軟體開發商賺不到錢? Flurry認為,問題出在Android平台並未要求使用者在設立帳號時必須登錄信用卡或其他付費方式資料。Flurry的統計顯示,2011年第1季新軟體開發計劃有37%選擇Android平台,到了第3季則是降至25%。 英國金融時報報導,蘋果App store擁有超過2億筆的客戶付款資料,遠遠高於競爭對手。Zeptolab執行長Misha Lyalin告訴英國金融時報,來自iOS的單月營收大概是Android的10-20倍。Zeptolab為熱門益智遊戲軟體「Cut the Rope」的開發商。 谷歌執行董事長施密特(Eric Schmidt)去年12月7日在巴黎所舉行的網際網路大會「LeWeb`11」上表示,6個月後行動應用軟體開發商的優先開發平台將會是Android,而不是蘋果iOS。 *編者按:本文僅供參考之用,並不構成要約、招攬或邀請、誘使、任何不論種類或形式之申述或訂立任何建議及推薦,讀者務請運用個人獨立思考能力,自行作出投資決定,如因相關建議招致損失,概與《精實財經媒體》、編者及作者無涉。 全文網址: http://www.moneydj.com/KMDJ/News/NewsViewer.aspx?a=5bed1b1b-c2f2-4ac5-9337-7f3759f77390#ixzz1mSpxuRAx MoneyDJ 財經知識庫 

Leave a Reply

Copyright © ItemBridge inc., 2013

嚴選!2013年度11大Google Play最佳APP

2013即將進入尾聲,今年不乏有許多優秀的APP出爐,Google Play商店公布了年度11大最佳APP,究竟是哪些APP上榜,快跟著GQ一起來瞧瞧!
1. Whoscall Free 科技始終來自於人性,因應時下詐騙電話猖獗,《Whoscall》讓你聰明選擇是否要接該通電話,來電時顯示相關資訊,重要電話不漏接,至於那些不想接的電話,瀟灑block掉! 2. ColorNote Free 在這個e化的時代,連便條紙也無法逃過!行事曆、記事本、代辦清單功能全部網羅,迅速簡單好上手,還可以選擇使用顏色區分屬性,筆記控快下載就對了。 3. TuneIn Radio Free 《TuneIn Radio》跟上「量身打造」風潮,設定8種音樂類型,即可隨意收聽全球直播電台,聽聽外國新聞電台練聽力,Oh~What a Small World! 4. Magisto Video Editor & Maker Free 安卓用戶不能用《Roadmovies》別怨嘆,《Magisto Video Editor & Maker》這不就來了嘛,多款主題特效、音樂任選是一定要的,軟體還會剪接你的影片精華片段,讓人想大喊:「傑克,實在太神奇了!」而畫質不好就當作是老電影風格囉! 5. Timely Free 號稱「最美的Android鬧鐘APP」,簡約多彩的介面設計是《Timely》主要賣點,再推薦「智能喚醒功能」,在鬧鐘前30分鐘偵測淺眠期,用舒緩的鈴聲讓你從深層睡夢中風度翩翩起床! 6. Runtastic Free 路跑APP前陣子介紹過,現在再加入《Runtastic》紀錄路線、里程數、消耗卡路里數的基本功能當然都沒少,但如果天氣不允許,使用其他《Runtastic》系列APP在家運動也不賴。 7. Expedia Hotels & Flights Free 連續兩年以提供即時旅館、機票預訂服務獲得最佳APP殊榮,簡單上手好操作不需要多背書,春節出國旅遊就靠它!但如果有新台幣選項顯示就更棒了。 8. Duolingo: Learn Languages Free 沒有廣告又免費的APP真是佛心來著!《Duolingo: Learn Languages》提供法、葡、義、德、西等五種外文學習,之後也會陸續新增其他語文,用圖文互動方式、翻譯考你是否真的融會貫通,無聊拿來殺時間也長知識。 9. Allthecooks Recipes Free 「今晚家裡吃甚麼?」答不出來沒關係,《Allthecooks Recipes》不僅有多種類型佳餚瀏覽,還提供食譜教你一步步照著做,不會的話就留言發問,但最大問題是要找個英文好的人在旁邊幫忙翻譯才行。 10. We Heart It Free 圖像時代來很久了,每天都充斥著一張張美圖,多到你連儲存、擷圖都覺得麻煩,《We Heart It》用雲端服務管理圖片,收藏圖片連結讓你想看就點,但是大愛的照片還是按右鍵儲存下載比較保險。 11.Toca Hair Salon 2 NT$30 今年度唯一款的遊戲類APP,充滿童趣的《Toca Hair Salon》適合全家大小,生動的將頭髮做任何造型、染色動作,玩家可以盡情發揮創意設計,但非常容易變成惡搞髮型就是了 完整文章

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 9 = 16

Copyright © ItemBridge inc., 2013

objective-c 中如何使用類似 java 裡的 myString.trim()

// 先將所有'tab'換成'空白'
NSString *str = [str stringByReplacingOccurrencesOfString:@"\t" withString:@" "];
str = [str stringByTrimmingCharactersInSet:
           [NSCharacterSet whitespaceAndNewlineCharacterSet]];

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


2 − = 0

Copyright © ItemBridge inc., 2013

遇到 INSTALL_FAILED_INSUFFICIENT_STORAGE 怎麼辦

在安裝 app 時如果發生 INSTALL_FAILED_INSUFFICIENT_STORAGE 的錯誤就表示系統空間用完了 解決辦法: 1. 在 console 啓動 emulator 時附帶參數 -partition-size

./emulator -avd my_avd_name -partition-size 128
2. 或者是在 elcipse 中設置參數 以上方法需要重新至 AVD_MANAGER 中新設置一臺裝置才會有作用,套用既有的avd是無效的

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


4 − 3 =

Copyright © ItemBridge inc., 2013

Cannot delete or update a parent row: a foreign key constraint fails

當修改或刪除資料庫表單內容時,如果有其他表單共用到foreign key 會造成資料保護而無法刪除的狀態。 解決方法如下:

SET FOREIGN_KEY_CHECKS=0;
DELETE FROM mytable;
SET FOREIGN_KEY_CHECKS=1;

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


2 + 3 =

Copyright © ItemBridge inc., 2013

提升App在Google Play排名的10大免費策略

        作為獨立開發商,要想應用或遊戲在Google Play靠前,恐怕是一件非常艱難的事情,也許成千上萬的美元換不來一絲變化,不過,如果你知道這10個排名靠前的秘密,就有可能不會一分一文,讓你的排名一躍而上。 1. 關注激勵機制         怎麼樣才能讓遊戲登頂?這是理解遊戲價值的關鍵,一個排名高的遊戲對你遊戲收入的影響是非常巨大的,至少每日安裝量為15000才能進前20,每日25000的安裝量才有可能進入前10名。         每日15000安裝量應該等同於多少收入呢?假設你的遊戲是免費增值,具有良好的留存率和貨幣化,虛擬物品的ARP DAU是0.10美元,那麼你就應該想到20,000DAU至少每天2000美元的收入。         加把勁增加點黏性,可能每天賺到幾萬美金也說不定。 2. 理解排名演算法         發佈時間:演算法與事件有關,越新的遊戲,更易於在時間排名上佔優勢,由於用戶總是喜歡嘗試新上線的遊戲,所以新遊戲就有機會了,Play Store的演算法會對你的遊戲進行簡單測試,看看用戶是否真的喜歡你的遊戲,如果喜歡,就有向前靠的機會。         留存率:Google對此的具體演算法還不是特別清楚,但應該遊戲啟動情況以及粘性因素如DAU/MAU有關,簡單點說就是,高質有趣的遊戲更容易排名靠前。         用戶流覽量:應用得分非常重要,但由於可以人為操作,所有效果被誇大了,但仍舊歲用戶決定是否玩一個遊戲其很大左右,因為很多人可能相信這方面的排名,就跟在淘寶買東西一樣,看一個店鋪的得分或評價都不錯,興趣就會更濃,玩遊戲也如此,看評價好了,得分高了,有的用戶可能被吸引去下載安裝,試玩。         每日安裝量: Driving installs 會影響你的遊戲在商店的排名,並會刺激更多的安裝. 這種自我螺旋式增長也會對你的遊戲如何上榜產生不小的影響。   3. 緊盯應用每日排名         知道有個網站叫App Annie麼?一個免費的可以查找Android排名的工具!如果你準備推自己的遊戲了,請緊盯每日的排名並且做好排名變化的記錄。   4. 添加社交性並選擇免費增值         讓遊戲具備社交性並且選擇免費增值模式,會讓你遊戲的用戶進入門檻變低。讓免費玩家和付費玩家都覺得有趣,一個有趣的免費增值遊戲會讓5-15%的用戶從免費用戶變成付費用戶。這並不是說可以不關注那些免費玩家,如果這些用戶都喜歡你的遊戲,那麼他們貢獻給你的就不只是收入了。他們還是你的免費遊戲宣傳頻道啊!這樣非付費用戶也有可能變成付費用戶了。         利用社交功能來優化遊戲,分享和社交功能會讓遊戲的非同步性變得很有效。   5. 設一個封閉的beta測試         在主要bug修復以及有收入之前,把遊戲放到Google Play上面是相當有壓力的。所以需要抵制住誘惑,千萬不要提早提交到Google Play。在第一個月,遊戲都會有一個小的視窗期來獲得商店的叫好排名,因此上架的第一周和第一個月都是極其關鍵的。如果你錯過了這些,就得花大力氣投資在市場行銷上了。   6. 收集回饋和監控指標         從beta版小白鼠身上手機回饋,確定使用者的系統版本和手持設備的樣式。密切跟蹤的關鍵指標應該是每天的保留率,活躍的安裝率,K因數,ARPDAU。據此清除阻礙遊戲或應用程式崩潰的主要錯誤應該是擺在第一位的任務。可以安裝Flurry或者Google Analytics。         建立系統收集使用者回饋。Android市場的評論可以是一個很不錯的開始地點,但只允許每個用戶一條評論。一個給使用者回饋的移動資訊留言板效果會更加好,不要只是beta版用,而是長期使用。   7. 新舊結合         確保你的遊戲版本頁面可以不斷刷新,這真的有必要,因為這樣Play Store會在排序的時候再次將你的遊戲當做是一款全新的遊戲來對待。一定要讓那些beta版的測試者都安裝新版本,但必須保證他們的帳戶以及之前的道具都還在。提供獎金作為安裝新版本的進一步激勵項目。這些用戶和新用戶一起湧入,你的遊戲排名自然有新高。   8. 把icons,原圖和文本都儘量做得優雅得體         可以參考雷鋒網之前的一篇文章《卓越用戶體驗的5個共同點》。   9. 有準備的評論和公關         創建一個應用和遊戲網站的清單,聯繫記者,不管是直接還是第一次在twitter,facebook或者別的blog上聯繫他們。不要有太高期望,這可以作為你們建立聯繫的起點。提供一些有趣的視頻或者描述,給他們展示遊戲最有趣的部分。也可以提供一些邀請碼或者虛擬物品之類的。   10. 結合移動社交遊戲平臺的推送         如果遊戲優化充分然後發佈,黏性使用者依然會在你需要時自然螺旋增長。在beta版結束後,你也會推出新版,就會有一直在等待的老用戶和新用戶湧入。         好玩的遊戲都會合理利用社交功能,我們會將這些作為用戶基礎。我們會建遊戲發現平臺,交叉促進我們自己的遊戲,舉辦社區競賽和發送pMails給數以百萬計的最活躍用戶。   From:雷鋒網

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 9 = 11

Copyright © ItemBridge inc., 2013

iOS App Icon 自動產生器

開發iOS app 最常遇到的一件麻煩事就是要resize 不同大小的icon, 這邊提供一個自動產生範本 註1: 確保執行目錄內有 iTunesArtwork.png 的圖檔 註2:需要事先下載安裝 PIL http://effbot.org/media/downloads/PIL-1.1.7a2-py2.5-macosx10.5.mpkg.zip

import Image
sizesAndNames = { 57 : "Icon",
                 114 : "Icon@2x",
                  72 : "Icon-72",
                  29 : "Icon-Small",
                  58 : "Icon-Small@2x",
                  50 : "Icon-Small-50"}

imageFile = "iTunesArtwork.png"
img = Image.open(imageFile)
def resizeAndWrite(sizeAndName) :
   out = img.resize((sizeAndName[0], sizeAndName[0]), Image.ANTIALIAS)
   out.save(sizeAndName[1] + ".png")
map(resizeAndWrite, sizesAndNames.items());

Leave a Reply

Copyright © ItemBridge inc., 2013

iOS 6上最值得關注的5大新特性

        此次WWDC大會上推出的iOS 6 大大小小共計有200多項更新,蘋果展示了其中的10項重大功能,經過挑選,我們認為TOP 5 功能如下: 1. 電話         儘管iPhone 上的電話功能從2007開始就沒有任何變化,但估計在意的人並不多,畢竟,比起打電話,iPhone 用戶做的更多的反而是文字輸入。         當有來電時,向上滑動底欄的電話圖示,會在“掛斷”和“接聽”按鈕下面展出“以短信回覆” (有預設便捷短信,可也自行編寫) 和“提醒稍後處理” (設定一個提示在某個時間回覆這個電話) 兩個功能。         蘋果還為電話功能新增了一個“Do Not Disturb”模式,如果你在忙可以告訴電話不提示來電(不震動、螢幕不閃),但是你可以根據通訊錄來決定哪些電話可以打進來。你還可以手動設置關閉各種可能干擾你的東西,比如消息提醒、徽章、甚至是螢幕的點亮。 2. 地圖         蘋果過去幾年連續收購了數家製圖公司Placebase、Poly9、C3 Technologies,而3D都是最為重要的技術特徵。蘋果此次推出的自己的地圖,標誌著與Google地圖徹底分道揚鑣。         這個地圖系統全由蘋果自己一手打造,除提供全程音控領航外,3D 的“Flyover (低空飛行)” 模式也很驚豔,在該模式裡,你可以傾斜、縮放、旋轉(Google 地圖的iOS應用可能要哭了)。         全程音控領航所用的聲音是大家熟悉的Siri,如果路況有變,還可為你提供不同的行進路線。此外,蘋果還借助了iOS 用戶大軍的群眾的力量,即時更新路況資訊。         蘋果稱自家的地圖應用覆蓋到了整個世界,收錄的小型商家超過1億個。 3. Facebook         如我們之前報導的一樣,iOS 6深度整合了Facebook,支援一鍵通過Facebook登陸,分享照片、連結、位置、Game Center的內容等到Facebook等,如果你正忙著騰不出手來的話,還可以讓Siri 幫你的忙。同時App Store也整合了Facebook,用戶可以直接在應用商店中Like音樂、應用、電影等。         此外,蘋果還打通了Facebook 和 iOS 6兩大平臺的通路:支援把Facebook Events 和生日資訊同步到 自己的日曆應用,同時還可以把Facebook 好友導入到通訊錄裡。         蘋果還同時向Facebook 開放了iOS 6 的API介面。 4. Siri         Siri 此次最大的更新在於你通過她直接打開應用了(儘管這一功能在許多Android 語音助手上都已實現)。我更希望的是,Siri 能在打開Temple Run 後,允許我用語音直接玩這個遊戲,或用語音控制Flipboard 的基本功能。如果實現不了這些的話,用Siri 直接打開應用這一功能就多少顯得有些雞肋了。         Siri 的更新還包括支援訪問體育、餐館、和電影資訊,也能查看Yelp 評論、評分和價格,還能通過Open Table 訂位。         蘋果還為Siri 增加了一項實用的功能——Eyes Free,將和汽車廠商合作實現,在汽車上加裝一個Siri啟動按鈕,使得使用者在開車的時候不需要用眼睛看就可以啟用iPhone的Siri功能。         最後,new iPad 也將引入Siri,使用時會佔用整個螢幕的四分之一,在與Siri 對話時也可進行其它任務。 5. Passbook         iOS 6 還新增了PassBook 這個標準應用,它可以説明使用者管理各種電子票券,包括登機牌、會員卡、球賽門票、禮券和優惠券等。         PassBook的一個獨特功能在於它能夠自動顯示附近商家的會員卡和優惠券等資訊,例如,當你經過星巴克時,PassBook就會彈出一條資訊提醒你星巴克就在附近,你可以使用相關的星巴克優惠券和禮券等。PlayBook還支援各種信息的即時更新,如果登機牌上的航班出現延遲,它會自動通知你。此外,如果不想再使用PassBook管理某一種電子票券,那麼你也可以隨心所欲將這種電子票券從PassBook裡刪除。         蘋果發佈自己的電子票券管理工具勢必會給協力廠商優惠券管理工具帶來一定的衝擊,目前,PassBook已經向協力廠商開發者開放。 轉載文章來自36氪

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 3 = 2

Copyright © ItemBridge inc., 2013

ObjC vs Java

ObjC JAVA
isKindOf  instanceof
isMemberOf getClass()
<Protocol> Interface
interface A : B (Protocol) class A extends B implements Interface
- (TYPE) method:(TYPE)A public TYPE method(TYPE A)
+ (TYPE) method:(TYPE)A static public TYPE method(TYPE A)
NSString target = "hello world"; NSString *returnValue; NSMethodSignature *signature = [target methodSignatureForSelector:@selector(substringWithRange:)]; NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; invocation.selector = @selector(substringWithRange:); NSRange range = NSMakeRange(0, 3); [invocation setArgument:&range atIndex:2]; [invocation invokeWithTarget:target]; [invocation getReturnValue:&returnValue];   String target = "hello world";Class[] paramTypes = {int.class, int.class}; Method method = target.getClass().getMethod("substring", paramTypes); Object[] paramValues = {new Integer(0), new Integer(3)}; String returnValue = (String)method.invoke(target, paramValues);

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 4 = 0

Copyright © ItemBridge inc., 2013

網路趨勢女王Mary Meeker:移動互聯網使用量正在超越桌面互聯網使用量

騰訊科技訊(童雲)北京時間5月31日消息,華爾街著名證券分析師和投資銀行家、有“網絡女皇”之稱的瑪麗·米克爾(Mary Meeker)今天在D10數字大會上發布了其著名的互聯網趨勢報告。 以下為其演講環節要點: ---互聯網增長仍舊表現強勁;移動設備使用率迅速增長,而且仍處於早期階段; ---2011年全球互聯網用戶總數為23億人;新興市場正在推動互聯網用戶人數增長; ---全球移動3G用戶人數已達11億人,仍在實現非常迅速的增長; ---iPad用戶人數的增長速度超過iPhone,而後者的增長速度則快於iPod; ---Android設備的用戶人數增長速度超過iPhone; ---29%的美國人擁有平板電腦或是電子書閱讀器; ---全球移動互聯網流量迅速增長,在互聯網總流量中所佔比例升至10%,比2008年底增長2%。美國市場上,移動電子商務在總電子商務市場上所佔比重為8%。移動互聯網業務的商業化進程正在改善,但大多數來自於應用而非廣告; ---互聯網廣告支出與用戶在互聯網上所花費的時間大致對等,但移動互聯網廣告支出仍舊落後於用戶在移動互聯網上所花費的時間。廣告收入仍主要來自於桌面互聯網; ---印度市場上5月份的移動互聯網使用量首次超越桌面互聯網使用量;大多數市場上都將出現這種趨勢;移動互聯網的CPM遠低於桌面互聯網; ---1995年全球互聯網收入為5500萬美元,現在則為730億美元; ---所有一切都在被重新構想:生活方式、新聞和信息流、做筆記、畫畫、照相、剪貼簿、雜誌、音樂、視頻創造和製作、人才的商業化、家庭娛樂、電視、導航和實時交通、體育信息、家庭裝修、打電話叫出租車、團購、現金出納機、個人服務、想法構建、個人借款、招募和招聘、焦點討論、簽名、學習、回報和滿意度、通信、恆溫控制器。諸如此類; ---按市值計算,全球市場擁有36萬億美元的市場機會; ---經濟趨勢表現不一,帶有負面的傾向。在股票市場上,10週走勢表現不佳。消費者信心接近於4年高點,但仍遠低於30年平均值。49%的美國人認為經濟狀況疲弱,好於一年以前的52%,但仍舊是個糟糕的數字。預計歐洲經濟將陷入衰退; ---在技術方面,有很多東西讓人激動,如iOS、Android和Windows Mobile等; ---美國應得權益項目和利息支出將在15年時間裡超過收入; ---互聯網泡沫已經產生?最近以來的IPO表現並不搶眼,許多股票的價格都接近於最初的IPO定價區間。與私募市場投資者相比,公開市場投資者更加持有懷疑態度。職業社交網站LinkedIn表現良好,2011年5月份以每股45美元的IPO定價籌集了3.53億美元資金,去年11 月份股價達到71美元。           報告顯示,去年第四季度全球移動3G用戶總數已達11億人,比上年同期增長37%,但滲透率僅為18%;與此相比,第四季度全球互聯網用戶總數為23億人,比上年同期僅增長8%。 KPCB合夥人瑪麗·米克在D10大會上演講(騰訊科技配圖)   以下為其演講內容與現場幻燈: 圖一:全球3G用戶數已達11億,同比增長37%,3G滲透率18%。           智能設備新使用率的增長速度超出以往任何時候,其中iPad和Android設備的增長曲線遠比iPhone的增長曲線呈現出急劇增長的趨勢。但未來仍有很長一段路要走,原因是全球智能手機使用量僅為9.53億部,而手機使用量則為61億部。 圖二:雖然到目前為止已實現龐大增長,但智能手機用戶使用率仍有很大上升空間。           在今年5月份,移動網絡使用量在互聯網總流量中所佔比重達到了10%,而去年同期僅為5%左右。 圖三:全球移動流量迅速增長,在互聯網總流量中所佔比例升至10%。           在移動網絡的商業化問題上,目前已不僅限於廣告。美國市場上,移動電子商務在總電子商務市場上所佔比重為8%。應用以及應用內付款在移動網絡商業化總收入中所佔比例已高達71%,而移動廣告則僅佔29%。米克爾認為,移動廣告擁有“巨大的上升空間”,原因是從目前看來,移動廣告收入百分比與總媒體消費百分比脫軌。 圖四:與移動網絡使用量相比,移動廣告支出大幅增長。           與此同時,移動互聯網使用量正在取代桌面互聯網使用量。本月,印度市場上的總移動互聯網使用量首次超越桌面互聯網使用量。 圖五:移動互聯網使用量迅速增長,在2012年5月份的印度市場上超越高度商業化的桌面互聯網使用量。           許多領域中都有證據能表明移動互聯網商業化與桌面互聯網商業化之間的差距。在美國市場上,有效的桌面CPM(每千人成本)為3.50美元,而移動互聯網的CPM僅為0.75美元,相當於後者的五倍。流媒體音樂服務提供商Pandora、騰訊(0700.HK)和社交遊戲公司Zynga報告的數據都表明,其移動業務的每用戶平均收入最高要低五倍。Google與Facebook業績結果表明,移動業務正在限制其營收增長         米克爾並未提供解決這些問題的方案,但她帶來了一線曙光。舉例來說,在更加成熟一些的日本市場上,移動遊戲廠商GREE的每用戶平均收入取得了迅速的增長,在2012年初的每年每用戶平均收入達到了24美元。另一家日本移動遊戲廠商Cyber​​Agent也取得了類似的增長曲線,其移動業務用戶的每付費用戶平均收入現在已經上升至418美元,超出桌面業務的表現。 圖六:日本移動遊戲廠商GREE數據表明,移動ARPU(每用戶平均收入)可迅速增長。   圖七:日本移動遊戲廠商Cyber​​Agent數據表明,移動ARPU(每用戶平均收入)應可超越桌面ARPU。           基於來自日本市場的數據,米克爾預計稱,美國市場上的移動互聯網商業化水平可能會在一到三年時間裡超過桌面互聯網業務。她認為,這種趨勢是無可避免的,但“只是需要時間”。   米克爾隨後現場接受了華爾街日報兩位知名記者的訪談。           莫斯伯格稱,他對廣告為移動設備體驗作出的貢獻之少感到驚訝。           米克爾表示,現在移動廣告還處於發展的早期階段,移動設備的顯示屏還比較小。她指出,本地化廣告和社交廣告還在發展初期,未來將有更大發展,問題只在於是未來幾個月還是幾年。           米克爾還補充稱,來自日本的數據表明,移動用戶是可以被商業化的。過渡期大概將在三到六個月時間內開始,然後六到十二個月左右走出過渡期。她表示,公司正處於商業化的最早期階段,而商業化趨勢正開始以非常有力的方式上行。對公司和商業化活動來說,整體市場狀況非常健康。在私募市場上,估值處於較高水平。上一季度中,米克爾麾下基金並未從事任何交易。           米克爾看好社交地圖和導航服務應用Waze,稱其速度很快、簡便、有趣而且有用,用戶都喜歡使用這個應用。           在估值過高的問題上,米克爾表示,公開市場正在給那些好到令人難以置信的互聯網公司潑冷水,這一事實表明,如果你是一名私募市場的投資者,那麼就需要一項退出計劃,需要知道自己的計劃是什麼;如果你計劃上市,那麼就需要能夠證明自己的估值是合理的。有一種情況是,有些私人公司以極高的估值籌集到了資金,然後對這些公司來說,想要上市和證明這種估值是合理的就變得非常困難。           如何才能糾正這種情況呢?如果估值在私募市場上持續上升,那麼私募市場投資者就會虧錢。           以Facebook IPO(首次公開招股)為例,這家公司在二級市場上的估值達到了1040億美元。從估值來看,Facebook的IPO交易很可能是世界歷史上規模最大的一樁互聯網公司IPO交易,其IPO首日的股票成交量超過歷史上的任何IPO交易,與整個紐約證券交易所(NYSE )的日均成交量大致持平。但這項IPO交易最終是一場“海嘯”。納斯達克正試圖處理這些問題。對Facebook來說,這家公司的股價正在接近於最初的IPO定價區間下限。           米克爾指出,Facebook的定價過高,這家公司及其承銷商每分鐘都在測量機構投資者的需求,不停地接受回饋信息。下單買入Facebook股票的投資者甚至都不知道自己已經成功買入。市場信心和動量是很重要的,而Facebook喪失了動量。           米克爾表示,以前從來都沒有發生過這種情況。她認為,Facebook是一家偉大的公司,隨著時間的推移未來將可做到很好。但就目前而言,還無法確定是應買入和賣出這家公司的股票。她還指出,銀行家基於既有信息而做到的事情已經是最好的;如果進行一場拍賣的話,那麼Facebook股票原本還會被抬得更高。   資料來源:騰訊科技 http://tech.qq.com/a/20120530/000331.htm 完整原文報告連結請點:http://www.scribd.com/doc/95259089/KPCB-Internet-Trends-2012

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


5 − 1 =

Copyright © ItemBridge inc., 2013

IDC:Android和iPhone已佔全球智慧型手機82%市場

文/郭和杰 2012-05-25  資料來源:  iThome 2012年第一季全球智慧型手機出貨量達1億5230萬台,其中Android佔59%約相當於近9000萬台;iOS為23%,相當於3500萬台。兩者市佔總計為82%。  圖說:2011年第一季至2012年Q1各大手機平台市佔率消長趨勢(資料來源:IDC)           IDC最新發布的研究報告指出,Android和iOS兩大平台在智慧型手機市場的成長力道不減,2012年第一季合計已佔市場八成以上的出貨。          2012年第一季全球智慧型手機出貨量達1億5230萬台,其中Android佔59%約相當於近9000萬台;iOS為23%,相當於3500萬台。兩者市佔總計為82%。相較之下,2011年同期兩大平台的市佔率只有54.4%。          兩大平台市佔率的大幅提升拉大了與市場過去的領導者之間的距離,將Symbian、BlackBerry、Linux,與Windows Phone 7等其他競爭對手遠遠拋諸在後。IDC手機技術與趨勢資深研究分析師Ramon Llamas表示,Android和iOS都擁有許多第一個推入市場的新功能,而且,兩者所創造的直覺、無縫使用者經驗也都很快讓競爭對手不得不跟進。IDC也強調,開發者在行動作業系統競爭中的重要性,因為開發者的喜愛,是一個平台是否成功的先行指標。          在各別作業系統的表現方面,Android顯然已經穩站行動平台的龍頭地位,拿下過半市場,而且Android擁有眾多的智慧型手機製造商的合作夥伴,其中貢獻最大的莫過於佔Android手機出貨45.4%的三星(Samsung)。但三星之外的其他業者,不是在萎縮就是成長趨緩。          蘋果的iOS則在iPhone 4S需求帶動下有很強大的出貨成長力道,但iOS所帶來的電信補貼與數據營收分享政策等問題也讓電信業者帶來營業壓力。          老牌的領導平台Symbian衰退最為嚴重,雖然Symbian的需求多少還是會存在,但是在Nokia轉向Windows Phone之後,IDC認為Saymbian仍然會是繼續萎縮的趨勢。          在舊平台需求下滑以及使用者對新平台BB 10的觀望之下,BlackBerry將持續走下坡。IDC指出,許多企業容許使用者自帶智慧型手機上班之下,競爭對手將因此而侵蝕到黑莓的市場。          Linux則因為三星持續支持自家的bada平台而維持一些市場佔有率。三星總計佔Linux手機的81.6%,Linux的命運可以說與三星的策略緊密相連。          Windows Mobile/Windows Phone目前產品還未大舉進入全球市場,2012年在Nokia與微軟提高出貨量,以及其他業者推出手機之下,IDC預期這個作業系統今年可有緩慢的成長。(編譯/郭和杰)  2012年第一季各大手機平台的出貨量(單位:百萬台)與市佔率  資料來源:IDC 

作業系統 1Q12 出貨量/市佔 1Q11 出貨量/市佔 YoY比較
Android 89.9 59.0% 36.7 36.1% 145.0%
iOS 35.1 23.0% 18.6 18.3% 88.7%
Symbian 10.4 6.8% 26.4 26.0% -60.6%
BlackBerry 9.7 6.4% 13.8 13.6% -29.7%
Linux 3.5 2.3% 3.2 3.1% 9.4%
Windows 3.3 2.2% 2.6 2.6% 26.9%
其他 0.4 0.3% 0.3 0.3% 33.3%
總計 152.3 100.0% 101.6 100.0% 49.9%
 

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 5 = 13

Copyright © ItemBridge inc., 2013

使用 UIPasteboard Copy & Paste

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
 pasteboard.string = @"複製內容";
 pasteboard.image = myImage;
 pasteboard.URL = myURL;
 pasteboard.color = myColor;

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


8 − 7 =

Copyright © ItemBridge inc., 2013

暗黑3 解決 error 37,自動登入 + 免排隊

自動登入 暗黑3 實在是太爛了, 每天光登入就不知道要等到何時 用程式自動登入吧 1. 首先先下載按鍵精靈 2. 建立自動腳本

rem max
KeyDown 17, 1
KeyPress 86, 1
KeyUp 17, 1
Delay 500
KeyPress "Enter", 1
Delay 1000
KeyPress "Enter", 1
Goto max
3. 調整啟動熱鍵 4. 按 <調試> 5. 先複製好你的密碼 6. 進入D3登入畫面, 調整成視窗模式, 點擊輸入密碼的格子 7. 按下啟動熱鍵 <F6> 8. 去大個便讓他自行登入, 等登入好後再把按鍵精靈停掉 <F12> 免排隊 使用vpn,我已證實是可行的,馬上就進去非常爽,請你自己要去找免費的VPN來用

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


9 − 1 =

Copyright © ItemBridge inc., 2013

Google Play下載次數達150億次 仍苦追App Store

【聯合新聞網/特約記者Delia Yeh/報導】2012/05/10         根據英國報紙The Independent報導,Google表示Google Play下載量在數週前已突破150億次。然而,令人不解的是,為何Google Play的新紀錄遲至近日才低調的公佈。           Google在今年一月時公佈現為Google Play的Android Market下載次數為110億次,然而強敵蘋果在今年三月表示App Store下載次數已達250億次,讓Google Play僅能望其項背而苦苦追趕。大致計算Google Play下載次數的增加速度,平均每月均成長10億次的下載量;然而,蘋果App Store的下載次數,平均每月增加12億5千萬次的驚人速度,再度大敗Google Play。           目前,Google Play約有50萬個應用程式,而App Store有60萬個應用程式,由此可見,Google Play不論在應用城市數量、下載次數,都需要投入更多心力才能趕上App Store的快速成長。然而,行動應用程式行銷網站Fiksu宣稱,App Store的下載率在今年3月已下降30%。           對Google來說,積極促動Google Play下載次數,主要有兩個好處。首先,透過Google Play的持續成長,向開發者證明Android平台使用者同樣也逐漸增加,以說服更多的開發者為Android平台設計應用程式;另外,Google也可以透過Google Play的應用程式,嵌入行動廣告,賺取可觀的廣告費用。           姑且不論Google為何低調處理Google Play達成150億次的下載次數,可預期的是,6月底的Google I/O將近,在Android開發者的年度盛會上,Google將有什麼令人期待的好消息宣佈?又將要推出什麼新服務?還請拭目以待。 資料來源:  udn聯合新聞網 數位資訊   http://mag.udn.com/mag/digital/storypage.jsp?f_MAIN_ID=323&f_SUB_ID=2952&f_ART_ID=388839

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


5 + 7 =

Copyright © ItemBridge inc., 2013

企業App成功的5大關鍵--關鍵5:懂得行銷與維護App

文/鄭逸寧 2012-05-02    資料來源:  iThome         當App上線之後,企業的工作並不會就此結束,企業應該將App視為要長期經營與維護的商品與服務,後續的行銷與客服同樣要一應具全。首先,企業必須懂得爭取App的曝光度,並彰顯App的差異性來製造新話題,讓使用者或媒體口耳相傳,才能在數以萬計的App當中脫穎而出。讓更多使用者發現這套App存在的價值,進而主動下載使用,否則即使企業打造了再好用的App,也可能被不斷推陳出新的App給埋沒。         不少App廠商都紛紛表示,最好的行銷管道就是建立好的口碑,因為App夠好用,讓使用者感同身受,主動變身為推銷App的業務員,透過好的使用評價與遙遙領先的排行榜名次,可以吸引更多使用者下載。另外,App不只要讓使用者覺得好用,還會想要與親朋好友討論,甚至媒體也希望做相關報導,都能藉此提高App的知名度,這些最直接的行銷手法,可以比企業砸大錢做廣告更有幫助。         當App擁有越來越多使用者時,後續的App維護與持續改版,搭配良好的客戶支援服務等,這些都是留住使用者的關鍵,企業必須事前規畫,以避免應接不暇。         由於App大多透過第三方廠商建立的軟體市集展示,開放給使用者自行下載,軟體開發者與使用者之間能夠透過該平臺直接互動,企業可以更直接地接收使用者的回饋意見,同時也必須更快速地改進App。有多年Android應用程式開發經驗的聖星科技創辦人盧育聖說:「App開發不是一次性工作,要持續維護與加新功能。」因此,企業藉由使用者對App的建議與回饋,持續改良App,才是發展App應用的長遠之計。         開發Puffin瀏覽器的CloudMosa表示,App最短要每2週、最長也要每2個月就更新版本,改版的原因包括增加新功能、改善介面編排方式,或配合作業系統改版的時程等。         以支援服務來說,企業必須事先規畫客戶服務中心,專門協助使用者解決App下載、安裝、操作與更新版本的問題。例如,南山人壽針對給業務員使用的行動輔銷App,共規畫兩種等級的App支援服務,包括第一線服務人員與第二線專業技術人員。         當業務員面臨基本的操作問題,可先撥電話或寄電子郵件給客戶服務中心,服務人員會先依照一定步驟提供操作指導,如果業務員面臨的是技術層面的問題,服務人員也無法解決,就會將這筆需求移交給委外廠商的技術支援團隊來解決,以加快排除使用者問題的速度。         當企業掌握了App從發想、開發、上線與維運等環節的關鍵之後,別忘了這些App的本質是解決使用者的問題,但使用者的需求可能改變,或衍伸新的需求,未來App要添加哪些新功能,怎麼利用既有的使用記錄,分析並主動推播使用者可能需要的新資訊,將成為App能否持續存活的關鍵。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


6 + = 7

Copyright © ItemBridge inc., 2013

企業App成功的5大關鍵--關鍵4:功能求精不求多,操作動線要流暢

文/鄭逸寧 2012-05-02    資料來源:  iThome         雖然App提供了各式各樣的功能,但企業不能將傳統軟體的功能導向思維帶進App的設計,不能追求功能越多越好,而必須盡量讓App每項功能都要精準切中使用需求。         這是因為App訴求輕薄短小,利於使用者在行進間,利用簡短的時間完成明確且單一的任務。這也是為什麼你看到市面上充斥的App大多只能滿足單一需求,看氣象要用一套App,查交通狀況要一套App,背單字要用一套App,也就是說,企業只要發現特定的使用需求夠明確,無論需求的大小,都足以專門打造一套App。         此外,使用者開啟App的時間零碎且短暫。根據Google統計,每個人每小時平均只會花5分鐘使用一套App,在這短暫的時段之內,多數使用者會選擇開啟Facebook打卡,而不會開啟網頁瀏覽資訊。因此,App介面是否精簡好操作,以及操作動線能否符合使用習慣,都會影響App對使用者的吸引力。         萬一在短暫的操作時間內,使用者因為不熟悉App介面而被迫中斷操作流程,或者App塞了太多功能,因而埋沒了真正需要的功能,使用者就可能捨棄這套App。         卡米爾資訊的經驗美學設計師楊淑涵表示,企業必須設想使用者在操作App時,會優先需要哪些功能,只要能滿足8成的主要需求,剩餘2成功能則大多是例外的使用情境,在多數情況下,可以捨棄不放在App當中。         另一方面,App操作動線與資訊結構的呈現也不同於桌機軟體與網頁。桌機軟體與網頁的資訊分布方式扁平且分散,以網狀形式遍布在不同的角落,操作動線可長可短,而且沒有固定方向,使用者可透過不同操作動線完成相同的任務。但App的資訊分布方式有較明顯的階層區別,來編排為有特定方向的操作動線,而且操作介面必須指示下一個操作步驟,讓使用者輕易上手。         接下來,企業可依據功能重要性排定開發的優先順序,再將這些功能分配到不同的開發階段。例如,最基礎與關鍵的功能優先在第一階段完成,再於其他階段完成次等重要或較複雜的功能,讓企業從實作當中培養經驗,從中可以不斷修正開發方向。         卡米爾資訊技術長邱泊寰表示,目前App的開發人才與相關資源還不足,企業開發App時,要比網頁開發多投入3倍的時間與人力成本,而且因為企業的經驗不足,開發出來的App不一定能被多數使用者接受。          根據邱泊寰的觀察,許多企業完成前期開發階段後,經過實際測試與調校,會發現後期階段規畫好的App功能沒有必要開發,或是不符使用者需求而必須大幅修改,因此,企業不必急著一次完成所有功能,而可以透過不同階段的經驗逼進使用者真正的需求。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


7 − 2 =

Copyright © ItemBridge inc., 2013

企業App成功的5大關鍵--關鍵3:充分發揮裝置特性

文/鄭逸寧 2012-05-02    資料來源:  iThome         當企業確立了使用者、使用情境,以及App能夠解決的問題之後,接下來,便要開始盤點與規畫App的功能與資訊內容,而且企業最好還能透過App充分發揮行動裝置的種種特性,讓使用者感受到App發揮的最大使用效益與創意。         舉例來說,行動裝置的軟硬體本身提供了五花八門的互動介面,包括GPS定位、照相、QRCode、語音辨識、NFC、連網、其他感測技術、擴增實境等。因此,App可活用裝置本身或使用者周邊環境產生的資訊,來提供更貼近使用情境的功能,而且還能善用行動裝置自然易懂的操作介面,設計出有創意的App操作方式,如觸控螢幕、搖晃、吹氣等,藉此增進使用者與App之間的互動效果。         另外,企業別忘了,這些裝置最初存在的目的是為了保持通訊,因此,每臺裝置都內含了使用者的人際網絡,包括通訊錄、社群軟體與互動記錄等,這些也能成為App重要的資訊來源,如果App不只服務使用者個人,還能進一步連結個人的社群網絡,將點連成面,就能擴大App的綜效。而且行動裝置能夠隨時隨地連網,網路便提供了取之不盡、用之不竭的資訊,哪些功能適合在連網狀態下操作,哪些適合離線運作,企業都必須加以評估。         最後,使用者可以利用自己製造的資訊、環境製造的資訊,網路上既有的資訊,結合個人帳號,透過有創意的互動介面,來取用量身打造的服務。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 6 = 11

Copyright © ItemBridge inc., 2013

企業App成功的5大關鍵--關鍵2:貼近使用情境

文/鄭逸寧 2012-05-02    資料來源:  iThome         企業清楚掌握開發App的目的之後,接下來便要著手進行App的開發,雖然整套App推出的工作流程與一般軟體或網頁開發相似,大致分為發想、開發、上線與維運4大環節。但是,當企業來到不同環節時,必須看重的要點,包括使用情境、裝置特性、App操作動線與介面、行銷、維運等都不大相同,而這些都是企業App成功的關鍵所在。         在一開始,企業挖掘使用者的需求,並發想出有價值的App時,必須深入使用情境,找出關鍵的需求。有別於傳統桌機軟體,App可提供更個人化、更貼近使用者的應用,許多App甚至還要求使用者建立帳號、密碼與個人資料等,來提供客製化的個人服務。         所以企業必須熟悉你的使用者,包括他們的年齡、性別、喜好、生活方式與使用裝置的習慣等,設想這些使用者平時怎麼運用App,甚至還要超越使用者,設身處地替他們想像未來可能的App運用方式。         另一方面,App的運用方式會依使用情境而異,企業要將使用者置於特定的使用情境,並且設想該情境的人事時地物及使用行為是什麼,再進一步思考當使用者手上多了一臺行動裝置後,能夠透過什麼方式來解決什麼樣的問題,或者還能進一步體驗什麼樣的創新服務,如此一來,才能發現有價值的App。         舉例來說,員工向公司報帳,幾乎是每家企業都需要的作業流程,但IT部門卻很難設想App也能深入並簡化報帳流程。陳俊昌表示,一名國外的IBM員工針對公司的報帳系統,開發出一套報帳App,讓員工在花費公司支出的當下,就能用手機完成報帳。         IBM現有的報帳流程是,每次IBM員工都要登入桌機介面的報帳系統,輸入許多報帳資訊,包括花費的地點、原因及發票證明等,才能完成報帳,因系統的操作程序較複雜,所以員工通常會回到辦公室後,或者會計部門結算報帳費用之前,才會完成報帳,每每因為拖了一段時間,導致員工不小心遺失發票,或遺忘當時花費的原由,而投入更多時間於完成後續的報帳流程。         一名IBM員工設想,報帳的程序其實可以變得更簡單、即時,於是開發出一套報帳App,操作程序是這樣的,當IBM員工正在請客戶用餐,趁著用餐空檔,就能開啟這套報帳App,登入帳號密碼,App會利用手機的GPS定位功能,自動輸入該名員工花費的地點,接著員工可透過手機的語音辨識功能,輸入報帳用途,最後,員工可再利用手機的照相功能拍下發票,作為報帳證明。         這樣的例子說明著,有創意的App必須深入使用情境,掌握人事時地物等資訊,同時觀察使用者現有的使用習慣與可能的需求,再考量裝置與App的特性可以簡化與輔助哪些使用環節,讓使用者能夠更順利地完成任務。如此,企業才容易發想出有創意的App。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


6 + 3 =

Copyright © ItemBridge inc., 2013

企業App成功的5大關鍵--關鍵 1. 確認開發目的

企業App成功的5大關鍵--關鍵 1. 確認開發目的 文/鄭逸寧 2012-05-02    資料來源:  iThome         既然企業決定要把握App帶來的機會,就有必要好好策畫App開發策略,否則可能弄巧成拙,敗壞了企業的名聲。可別以為開發這樣小型的App很容易,試著在App Store上搜尋企業App,你會發現不出色或失敗的例子比比皆是。不少廠商紛紛指出,企業最常面臨的失敗原因,就是一開始的出發點走錯了,只為了趕搭App風潮而順勢推出App,因為沒有顯著的特色,當然不會受到使用者注目,就這樣被埋沒於數以萬計的App當中,白白浪費了企業的開發成本。          默默無聞的App頂多沒人使用,倒也不會對企業帶來什麼負面效果,更悲慘的是,有些企業只站在推廣品牌的行銷角度思考,重新以App包裝官方網站的資訊內容,卻沒有以滿足使用者的需求為出發點,因而推出了十分難用的App,無法解決使用者的問題,引發使用者的謾罵與負面評價,反倒催殘了企業名聲與品牌形象。          陳俊昌舉例,有家臺灣的航空公司眼看同業紛紛推出App,為了趕緊追上進度,於是將官方網站的資訊內容重新包裝成App的形式,然而,網頁資訊分散且複雜,而且網頁介面難以觸控操作,不利於使用者搜尋相關的資訊,引發使用者的負評如潮,有些使用者甚至質疑這家公司的服務品質。          給客戶的App代表了公司的服務與形象,而且比官方網站更貼近使用者的生活,萬一造成使用者的使用經驗不佳,反而造成反效果。因此,企業不推App則已,既然要做,就得如同建立企業的活招牌一般,有策略地長期經營。          而企業要成功開發App,最關鍵的第一步是將企業開發App的首要目的設定為,用App協助使用者解決特定情境下的需求與難題,如此一來,才能打造出有價值的企業App。          App是使用者至上的產物,其成敗與壽命長短完全仰賴使用者最初下載的渴望,以及持續使用的需求,而且App安裝於最個人化的行動裝置上,能夠隨時隨地伴隨著使用者,因此,企業必須化身為使用者,親自走入應用現場,完全模擬使用者當下的使用情境,找出可能面臨的問題,幫使用者思考更貼身的解決方法。          企業必須注意的是,不能再以個人電腦軟體或網站服務等閒視之。以前使用者要取用這些軟體資源,沒有什麼要不要用或選哪一套的決定權,企業就提供這麼一套,無論好用與否,只要內外部的使用者有工作上的需求,還是得用。          但App改變了企業軟體的供給關係,由於使用者對於企業App不是非用不可,也不是為了取代現有的個人電腦軟體,因此,不同類型的使用者都得主動萌發下載的動機,才會願意安裝到個人的行動裝置,還會透過App Store上的評價機制,以及口耳相傳的方式,直接影響其他使用者要不要下載這套App的意願。所以企業必須努力讓使用者一用就上手,進而對App功能愛不釋手,才能讓企業App一鳴驚人,吸引更多使用者主動下載,達到企業推廣的目標。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


7 + 4 =

Copyright © ItemBridge inc., 2013

企業App成功的5大關鍵--摘要

 

文/鄭逸寧 2012-05-02   資料來源:iThome
成功的企業App必須貼近使用情境,達到使用者、裝置、周遭環境、網路之間的互動效果,並有效解決使用者面臨的問題 
        最近行動裝置專用的App軟體蔚為風潮,不只掀起消費性電子產品的革命,同時為企業的行動應用帶來更多可能性,包括應用方式添加更多的互動效果,使用者群也從員工向外延伸至客戶,為企業帶來新的商機。                    以應用方式來說,傳統的企業行動應用大多限於單向的資訊存取,讓使用者瀏覽或輸入資訊,藉此完成特定的任務,在該時期,多數企業只將個人電腦的使用行為複製到行動裝置上,卻很難真正發揮行動裝置深入應用現場的效果。然而,App軟體的崛起,提供了不同於個人電腦軟體的特性,增添許多使用者及使用情境現場,還有網路資源之間的互動模式,使企業的行動應用能更貼近使用情境,結合現場的人事時地物等資訊,來協助使用者解決問題。                       此外,自消費性產品起家的App拓展了企業的目標使用族群,使行動軟體不只能作為增進公司員工生產力的工具,還能為客戶創造新的服務體驗,讓客戶熟悉這家公司,進而願意消費,為企業帶來商機。                以前企業會透過建置官方網站,來與客戶接觸與互動,現在企業還可以利用App另闢蹊徑,建立有別以往的互動管道,除了用App建立個人化的服務,提高既有客戶的滿意度,還能透過App創造新的服務模式,發掘以前無法或很難接觸到的潛在客戶,吸引這些客戶主動下載好用的App,藉此建立企業的品牌形象與知名度。                臺灣IBM全球資訊科技服務事業部協理陳俊昌表示,最近掀起這一波企業App開發風潮的主要原因,是企業為了貼近以前很難接觸到的潛在客戶,透過創造新的服務吸引他們的注目,以開拓市場版圖。

企業App成功的5大關鍵 摘要

         企業要成功開發App,必須先確認開發目的不只是讓企業增進品牌形象,更是為了解決對使用者在特定使用情境下的問題,再依據使用情境、裝置特性設計App功能與資訊內容,協助使用者完成任務。待App上線之後,企業還要規畫App的行銷與維護方式,如此才能長久經營。
關鍵 1. 確認開發目的          企業不能一味跟隨潮流推出App,必須事前明確掌握推出App的目的,企業思考開發目的時,不能只考量到企業要透過App行銷與改善品牌形象等自身的目的,更必須站在使用者的角度思考,用App協助使用者解決特定情境下的問題,如此一來,企業才能開發出對使用者有實質價值的App,使用者才會主動下載使用。
關鍵 2. 貼近使用情境          企業要了解使用者身分與使用習慣,再化身為使用者,親臨使用現場,模擬各種可能的使用情境,並考量在不同情境之下,使用者可藉助App解決的哪些問題,以此來規畫App的必備功能。此外,App若要脫穎而出及加強使用者黏著度,還得分析使用記錄,日後主動推播客製化的資訊來滿足使用者的潛在需求。
關鍵 3. 充分發揮裝置特性         設計App功能時,最好能利用行動裝置軟硬體平臺的特性,包括自然輸入介面、連網與通訊能力等,以及如GPS定位、照相、QRCode、語音辨識、NFC、連網、感測技術、擴增實境等偵測功能,藉此增進App運用的效益與創意。
關鍵 4. 功能求精不求多,操作動線要流暢          使用者真正運用App的時間零碎且短暫,通常用來完成明確且單一的任務,因此,App功能必須精準切中使用需求,避免冗餘的功能掩蓋必要功能,而干擾操作簡便性。此外,App操作動線必須流暢且盡量指示下一步驟,並符合多數使用者的操作習慣,讓使用者輕易上手。
關鍵 5. 懂得行銷與維護App          App上線後,企業必須推行App行銷策略來爭取曝光度,這有賴於好的使用者評價與App的話題性,此外,針對App使用者,企業必須提供完整的支援與維護服務,每隔2周至2個月為App改版,如此才能長遠經營。

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 1 = 5

Copyright © ItemBridge inc., 2013

「原生APP」還是「手機版網頁」適合您?

        您是否考慮要把自家的產品或服務應用在行動裝置上?究竟開發一個新的APP比較趕得上潮流,還是直接做手機網頁比較簡單?本文將分別從本質、成本、收費與金流、更新速度、使用者介面五大方面為您分析:   一、本質:         原生App是依照手機裝置而生,是為特定的裝置而產生的,基本的功能可以不需要連上網路便能使用。撰寫App的程式語言為object C或Java。App的取得管道主要在於各大平台的App軟體商店,以蘋果App store為例,目前已有近70萬個App於架上販售,申請上架的App須遵守其軟體商店的規則,要上架前需經嚴格的審核程序,新上架的App會有被App store推薦的機會。其他的手機軟體商店還包括Android應用程式專賣店Google Play 、Nokia Ovi store、微軟Windows Marketplace for Mobile等。         手機版網頁是由網際網路產生的,必須連網路才能使用,手機版網頁要透過瀏覽器才能觀看。撰寫網頁的程式語言為HTML、CSS、或Java。   二、成本:          開發原生APP由於技術門檻較高,加上平台不同所使用的程式語言也不同,因此開發費用也較高。開發一個APP的費用約為開發手機版網頁費用的二~三倍。   三、收費與金流:          原生APP之收費與金流系統與軟體商店之商業營運模式密不可分,是以「內容」為導向的收費機制。Apple app store整合iTunes收費系統,以信用卡向使用者收費;開發者則須拆分30%之銷售營業額予Apple。         手機版網頁則必須由開發者自行介接或開發金流系統,好處是不需拆分銷售額予軟體商店方。   四、更新速度:        iPhone原生APP更新版本須經過Apple 審核流程,較不具即時性。        手機版網頁即改即生效,沒有須等待審核的問題。   五、使用者介面          原生App由於是依裝置而生,使用者介面會依手機裝置做客製化,並且可以很方便的應用到手機裝置的功能,例如GPS定位、開啟手機照相、發送簡訊、撥打電話等。          手機版網頁與使用者的互動性較低,簡而言之就是把原本適合用電腦觀看的網頁,修改成適合用手機螢幕觀看的尺寸而已。   資料來源: http://www.atomicaxis.com/mainweb/blogs/native-app-vs-mobile-website

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 6 = 3

Copyright © ItemBridge inc., 2013

在 Tab 內使用 WebView 發生全螢幕顯示問題

在 Tab 內使用 WebView 發生全螢幕顯示問題主要是因為所開啓的網址帶有 redirect 令一個網址的內容,導致 webView 會開啓另一個畫面。 解決辦法:override shouldOverrideUrlLoading(final WebView view, final String url)

mWebView.setWebViewClient(new WebViewClient(){
   public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
      view.loadUrl(url);
      return true;
   }
});

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


7 − 1 =

Copyright © ItemBridge inc., 2013

設置 Maven

1. 安裝 1. 下載 Maven [Downoad] 2. 新增 apache-maven 目錄

$ sudo mkdir /usr/local/apache-maven
3. 於/usr/local/apache-maven 目錄下解壓縮 apache-maven-?.?.?-bin.tar.tar.gz
$sudo tar -zxvf apache-maven-3.0.4-bin.tar.tar.gz
4. 新增 M2_HOME 環境變數
$ export M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
$ export M2=$M2_HOME/bin
$ export MAVEN_OPTS="-Xms256m -Xmx512m"
$ export PATH=$M2:$PATH
5. 設置 JAVA_HOME  環境變數
$ export JAVA_HOME=`/usr/libexec/java_home`
6. 複製 setting.xml 到 user 目錄
$ cp $M2_HOME/conf/settings.xml ~/.m2
7. 執行 mvn --version 確保安裝成功
$ mvn --version
2.Eclipse 整合 1. 安裝 Maven integration for Eclipse WTP 來源: http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/ 安裝 Maven integration for Eclipse (m2e) 來源: http://download.eclipse.org/technology/m2e/releases 2. 新增 Remote Catalog Preferences -> Maven -> Archetypes http://repo1.maven.org/maven2/archetype-catalog.xml 3. 安裝 m2e connectors Preference -> Maven -> Discovery 選擇 antlr 3.新建 Maven Project(手動,無透過eclipse plugin) 1. 透過 archetype generator 產生相關指令 在 workspace 下輸入 (無斷行)
$ mvn archetype:generate -B
-DarchetypeGroupId=org.appfuse.archetypes
-DarchetypeArtifactId=appfuse-basic-struts-archetype
-DarchetypeVersion=2.1.0
-DgroupId=com.erawppa
-DartifactId=webmaven
-DarchetypeRepository=http://oss.sonatype.org/content/repositories/appfuse
2. 進入產生出的目錄 (webmaven) 下載 source
$ mvn appfuse:full-source
3. 如要驗證專案是否可執行,輸入以下指令後,透過瀏覽器 http://localhost:8080 (註:這裡會發生資料庫產生錯誤,需要編輯 pom.xml 內的 mysql 設定,編輯pom.xml必須在職行full-source後)
$ mvn jetty:run
4. 產生 eclipse 專案檔案
$ mvn eclipse:eclipse
5. 匯入專案至 eclipse
File > Import > Existing Projects into Workspace
6. 3.Tomcat 整合 1. 於 /Library/Tomcat/conf/tomcat-users.xml 新增用戶
<tomcat-users>
 <user username="admin" password="password" roles="manager"/>
</tomcat-users>
2. 編輯 ~/.m2/setting.xml 新增 server
<server>
<id>tomcat</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
遇到 [WARNING] Workspace defines a VM that does not contain a valid jre/lib/rt.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home package tomcat:redeploy 如果要跳过单元测试在<properties>添加 <skipTests>true</skipTests> 常用命令 mvn war:inplace 將war裡的文件放入 src/main/webapp mvn appfuse:gen-model    根据数据库的表生成java类 mvn appfuse:gen          根据 POJOs.生成并安装 Tests, DAOs, Managers, Controllers and Views mvn appfuse:full-source 把运行所需要的org.appfuse中的依赖类转换成你的包名称 mvn eclipse:eclipse      生成eclipse的项目的配置文件,用户可以直接把项目导入到eclipse中 mvn jetty:run       编译并发布你的应用程序到Jetty, 查看在 http://localhost:8080 mvn jetty:run-war        打包并且发布你的应用程序到Jetty, 查看在 http://localhost:8080 mvn appfuse:install      把生成的源代码及配置文件写入到src中 mvn integration-test     启动TOMCAT(或别的服务器)进行测试 mvn appfuse:remove       删除appfuse:gen.生成的代码 mvn appfuse:clean        清除target下的所有内容 4. 參考 M2E_plugin_execution_not_covered stackoverflow execution not covered archetype catalog appfuse quickstart appfuse eclipse m2eclipse book appfuse 問題集

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


3 − 2 =

Copyright © ItemBridge inc., 2013

如何在 mac 下設置 JAVA_HOME

在 console執行

$ export JAVA_HOME=`/usr/libexec/java_home`
或是新增命令於 ~/.bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=${JAVA_HOME}/bin:$PATH
參考: java_home

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


8 − = 2

Copyright © ItemBridge inc., 2013

設計iPhone app tab bar 必上的五堂課

設計iPhone app tab bar 必上的五堂課 tab bar icons 第一堂課:數字「五」的魔力           對熟悉iPhone的使用者來說,螢幕最下方有五個快捷鍵(tab bar)按鈕已經不是新鮮事。iPhone螢幕寬度為320 dots (1 dots =  1 or 2 pixels),Apple為了讓使用者可以很清楚的辨識符號(icon)與文案,將標準的快捷鍵列設計為五個按鈕。          如果app的快捷鍵按鈕超過五個怎麼辦? 目前最常看到的做法是用「更多」(more)按鈕來收納其他快捷鍵的功能。但建議盡量避免讓快捷列出現「更多」(more)這個按鈕,原因是這樣做會減低使用者對快捷按鈕的認知度:你讓使用者需要去記憶什麼隱藏在「更多」項目之下,尤其當「更多」項目超過五個時,會超出一般使用者可以記憶的範圍,反而會變成額外的負擔。根據測試顯示,使用者並不知道「更多」的含義,反而傾向不去使用它。(資料來源:Tapworthy — Designing Great iPhone Apps by Josh Clark) 然而,若你是在設計資料篩選或分類(例如iPod選單),則是另當別論了。當你讓使用者可自行編輯個人化的快捷列,「更多」的功能才比較有意義。不過別忘了「自行編輯個人化快捷列」是進階使用者才會有的使用行為。 第二堂課:探訪使用者需求          在設計的前期階段,最好能先探訪使用者需求,快捷功能按鈕的選擇最好能符合大多數你的目標使用者的喜好。同時請隨時記得「數字五的魔力」,盡量把app的功能分類為五項,如果行不通,請問自己是不是一定要把快捷列當成導覽功能使用。 第三堂課:多花心思在符號與文案上        確保符號與文案可以忠實反應此項按鈕的功能,要讓使用者記得某個app有某項功能卻又不能從它的快捷功能列中一眼認出,是十分令人沮喪的事。         此外,若你要創造「我的最愛」快捷鍵按鈕,一般是用星號符號表示。不要想另外創造一個符號或是文字,因為要建立使用者新的認知比回想以前既有的印象要難上許多。         避免文案出現重複的字眼,想像一下快捷鍵列上如果出現三個按鈕,分別為「我的書籍」、「我的雜誌」、「我的CD」,這些按鈕上的「我的」對使用來說並無幫助。

        圖像視覺化與比擬化可以讓使用者立即辨識出要點選哪一個按鈕,而不是浪費寶貴的時間去思考「我在這個板手或齒輪的圖式下,可以找到設定的功能嗎?」如果你覺得要創造一個可以描述底下功能的圖示很困難,試著想像可以代表內容頁的畫面,這對你創造圖像會很有幫助。         當然實際探訪使用者是不可缺少的步驟,詢問使用者他們理解的方法,例如「你認為一個人臉的圖示代表什麼?」,「你覺得『尋找』按鈕下面應該要具備什麼功能?」,或「圖示是一個人臉,文案是『尋找』對你來說容易理解嗎?」 左圖:NUUS 24使用都是圓形的圖示。       中圖:Spotify使用一個房子圖示代表「最新消息(What’s New)」。       右圖:Vimeo 使用文案包含「我的影片」(My Videos)與「我的東西」(My Stuff) 圖說:左圖:NUUS 24使用都是圓形的圖示。中圖:Spotify使用一個房子圖示代表「最新消息(What’s New)」。右圖:Vimeo 使用文案包含「我的影片」(My Videos)與「我的東西」(My Stuff) 第四堂課:避免讓按鈕自動變化         盡量避免改變關於導覽動作的按鈕,因為你會讓使用者面臨他們沒有預期到的變化。例如在瀏覽列表式的選單時,十個使用者中有九個會預期以下兩種結果,1.左右滑動的換頁,或是2.上下滑動的換頁。如果你打破使用者習慣的返回方式,除非它們有注意到快捷列上細微的變化,否則使用者會因為在導覽列上(navigation bar)上找不到返回按鈕而感到困惑。 第五堂課:不要讓快捷列按鈕有權限管制         如果你不能提供一個簡單的方式讓一般使用者可以使用,不要讓快捷列按鈕只開放給某種類型的使用者,例如註冊會員。因為這樣會讓每個第一次使用的人遭遇到很多挫折。 總結 Tab bar(快捷列)是app的門面,一個完美的tab bar可以協助使用者有效率的使用app。千萬別低估了你需要花在tab bar的時間! 資料來源 : http://www.significantpixels.com/
zp8497586rq

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


2 + 2 =

Copyright © ItemBridge inc., 2013

如何在 Mac 環境建立檔案連結 (link)

cd /Developer/SDKs/
sudo mv MacOSX10.5.sdk MacOSX10.5.sdk.old
sudo ln -s MacOSX10.6.sdk MacOSX10.5.sdk

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


9 − = 7

Copyright © ItemBridge inc., 2013

如何安裝 MacOSX10.5.sdk

1. 開啓 Xcode 3.2.5 dmg 2. 從 console 開啓

> open /Volumes/Xcode\ and\ iOS\ SDK/Packages/
3. 開啓 MacOSX10.5.pkg 4. 安裝至 /Developer

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


6 + 9 =

Copyright © ItemBridge inc., 2013

WebView

1. 開啓 AndroidManifest.xml 新增 users-permission

<uses-permission android:name="android.permission.INTERNET" />
2. 初始化 webView
webView = (WebView)findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(0);
webView.loadUrl("http://www.google.com");
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
   loadurl(view,url);
   return true;
}
});
3. 設定返回鍵
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
4. 提供Zoom功能
private static final FrameLayout.LayoutParams ZOOM_PARAMS =  
			new FrameLayout.LayoutParams(  
			ViewGroup.LayoutParams.FILL_PARENT,  
			ViewGroup.LayoutParams.WRAP_CONTENT,  
			Gravity.BOTTOM);  
FrameLayout mContentView = (FrameLayout) getWindow().  
    			    getDecorView().findViewById(android.R.id.content);  
    			    final View zoom = webView.getZoomControls();  
    			    mContentView.addView(zoom, ZOOM_PARAMS);  
    			    zoom.setVisibility(View.GONE);

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 1 = 9

Copyright © ItemBridge inc., 2013

Eclipse Color Themes

使用Eclipse開發android如果想要自訂畫面顯示可以透過 Eclipse Color Themes 這個 plugin 安裝步驟: 如果使用 Eclipse 3.6 以上版本 Help→Eclipse Marketplace..., 搜尋 Eclipse Color Theme 如果使用 Eclipse 3.5 以上版本  Help→Install New Software..., 點選 "Add Site" 加入 http://eclipse-color-theme.github.com/update

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 2 = 6

Copyright © ItemBridge inc., 2013

UI Patterns | Mobile Tuxedo

參考以下網址可以可以看到許多設計非常棒的UI http://www.mobiletuxedo.com/category/ui-patterns/

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 3 = 6

Copyright © ItemBridge inc., 2013

整合 iOS & Facebook SDK

目前經常會看到有 app 已經整合了 Facebook, 使用 App 之前都必須透過 Safari 去驗證 Facebook 賬號, 驗證成功之後會自動返回 App, 透過下面方式可以達到此功能. 1. 到 https://github.com/facebook/facebook-ios-sdk 下載 facebook 官方 SDK 2. 新建 new project , ex : FacebookTest, 此時的 Bundle Identifier 填入 com.erawppa.FacebookTest

3. 將 step 1. 裡的 src 資料夾直接拖拉到 project 中, (在 Add to targets 不要打勾), 此步驟主要是避免 facebook SDK 在 ARC enable 的情況下而產生錯誤

4. 選擇 facebook-ios-sdk, 編譯分別編譯 iOS Device / iPhone Simulator

5. 在新建的 project (FacebookTest) 加入 facebook framework

6. 到 http://developers.facebook.com/ 新增 facebook app, 新增 facebook app 之後, 會自動產生 App ID, 另外需要額外填入兩項資訊 Bundle Identifier 以及 Apple ID (要上架時才會有此 Apple ID, iTunes Connect 上可以查的到)

7. 打開 Facebook-Info.plist, 新增 URL Types, URL Schemes 裡的 item 格式為 "fb" + "facebook app ID"

8. AppDelegate.h 新增 Facebook 所需要的 instance

#import "FBConnect.h"
...
@property (nonatomic, strong) Facebook *facebook;
9. AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    facebook_ = [[Facebook alloc] initWithAppId:@"your facebook app ID" andDelegate:self.viewController];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"])
    {
        facebook_.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
        facebook_.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
    }

    return YES;
}

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    return [self.facebook handleOpenURL:url];
}

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [self.facebook handleOpenURL:url];
}
10. ViewController.h
#import
#import "FBConnect.h"

@interface ViewController : UIViewController{
    NSArray *permissions_;
}
@end
11. ViewController.m
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    permissions_ = [[NSArray alloc] initWithObjects:@"offline_access", nil];

    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

    if (![[delegate facebook] isSessionValid])
    {
        [[delegate facebook] authorize:permissions_];
    }
}

- (void)fbDidLogin{
    NSLog(@"Login\n");
}

- (void)fbDidNotLogin:(BOOL)cancelled{
}

- (void)fbDidExtendToken:(NSString*)accessToken
               expiresAt:(NSDate*)expiresAt{
}

- (void)fbDidLogout{
}

- (void)fbSessionInvalidated{
}

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


1 − 1 =

Copyright © ItemBridge inc., 2013

透過Ad Hoc方式發佈APP供測試使用 (iTune以及線上安裝)

1. 首先先進入 developer center 申請新的 profile 2. 申請完後下載並執行 3. 接著進入xcode 專案 build 設定內,指定剛安裝的 profile 名稱 4.選擇 iOS device 並且執行 Archive 5. 建立 Archive 後進入 Organizer 內分享剛產生的檔案 6. 記得選擇對應的 profile 7. 填寫 ipa 檔名,如果要提供線上下載的話,要記得填寫下面的發佈設定 8. 手動產生簡單的 MyApp.html 提供下載使用

<FORM METHOD="POST" ACTION="itms-services://?action=download-manifest&url=http://www.erawppa.com/app/GeeeHT.plist">
<INPUT TYPE="SUBMIT" VALUE="INSTALL APP">
</FORM>
9. 最後將產生出來的三個檔案放到對應的伺服器目錄下,最後手機只要在瀏覽器輸入 http://www.erawppa.com/app/MyApp.html 即可安裝App
MyApp.ipa
MyApp.plist
MyApp.html

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


7 + 8 =

Copyright © ItemBridge inc., 2013

Parser CSV 字串

若想在 iPhone 讀取 .xls 檔案內容, 除了實作 Excel File Format Parser 以外, 還有一個更簡單的方式 透過 Google Document 將 .xls 檔案轉成 .cvs. 要 parser .csv 只需要透過 componentsSeperatedByString 即可做到

NSString* csvStr = @"編號,標題,名稱,類型";
NSArray *array = [csvStr componentsSeparatedByString:@","];
for (NSString* key in array)
{
    NSLog(@"key : %@\n",key);
}
NSString *composedCvsStr = [array componentsJoinedByString:@","];

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


6 + = 8

Copyright © ItemBridge inc., 2013

NSData to NSDictionary

透過 NSData 建立 NSDictionary 的方式

- (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data 
{ 
    CFPropertyListRef plist =  CFPropertyListCreateFromXMLData(kCFAllocatorDefault, 
                                                               (CFDataRef)data, 
                                                               kCFPropertyListImmutable, 
                                                               NULL); 
    if(!plist) 
        return nil; 

    if ([(id)plist isKindOfClass:[NSDictionary class]]) 
    { 
        return [(NSDictionary *)plist autorelease]; 
    } 
    else 
    { 
        CFRelease(plist); 
        return nil; 
    } 
}

Leave a Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


− 5 = 1