2014年1月16日 星期四

軟體小熊

好喜歡這張插圖, 道盡了軟體專案最無奈的一面, 不知這本書市面上還找的到嗎?

 "小男孩後頭帶著一隻小熊從樓梯上走下來,
可憐的小熊頭在樓梯上不斷的撞擊著台階。
盡這可憐的小熊所知,這是它唯一能夠下得了樓梯的辦法,
有時它覺得應該還有別的方法,
不過它的頭得先停止撞擊樓梯,才有可能想得出別的辦法來。
然而,他想,那個辦法大概不存在吧。"


2014年1月9日 星期四

Type R 錯誤?

Android 開發環境並不太完善, 所以常遇到怪問題....

"Type R cannot be resolved to a variable"

乍看之下這是什麼鬼阿, 一旦發生就會發生在幾百個 java 行裡!

可以查一下 StackOverflow, 我自己久久也會遇到一次, 有時太久了, 遇到反而熊熊不知道怎麼辦, 記錄一下...


關於 StackOverflow 該篇討論網友的描述, 有蠻多的見解, 以我的案例只有一個, 如下述

檢查 /res 目錄, 是不是有檔案錯誤, 通常是有新增的文件錯誤(名字不合規定, 格式錯誤, 多餘)或誤刪老文件導致 layout (XML) 失去對文件的參用等等, 所以無法產生出 R.java class (資源檔?), 以致於後續編譯 java 只要參用 res 的地方就會出現(一堆) "Type R" 錯誤.

例如, 剛剛我發現我在 res/drawables-mdpi 多了一個 xxx.psd 我編輯用的圖檔, 忘記這裡面不能亂放檔案(儘管專案本身沒用到), 但專案編譯過程會"一一"掃瞄裡面的全部文件, 砍掉後就正常了.

好希望 eclipse 是報告類似 "The res/drawables-mdpi/xxx.psd can't be identified!" arrrr~ 

2013年12月26日 星期四

錯誤! 請再猜一次!

 本篇是關於

1. 轉移 Google Play App 軟體到另外一個 Google 帳號
2. 申請 Google Wallet 商家資料

很早我就付了 US$25 的規費給 Google 所以可以在 Google Play 上架, 去年公司想要轉移一款客製的 Android 軟體至 Google Play 上公開下載, 我就用了我的個人帳號操作, 在 Developer Console 發行版本多次後, 熊熊才發現, App 是綁住我的帳號的, Google 的機制是全部(Google XX)都綁一個帳號互通資料, 所以該軟體準備做 Paid In App 機制, 也用我的 Google Wallet 裡面的資料做收付款!

Google Play Developer Console 上面並沒有看到任何轉移帳號的操作. 除了商家資料綁住我, 或是我離職了那怎麼辦?

想說有點麻煩了, 如果我重用新的 gmail 帳號來做, 此發行一年多的 App 是有唯一 ID 的, 另外帳號是無法使用同個 ID, 所以會變的多個 App 發行!

難道最後我的 gmail 帳號要送給公司, 早知道就不要自告奮勇...

前禮拜在 Google Play Developer Console 下方的 "說明中心", 竟然發現了 Google Play 有轉移 App 至另外一個帳號的機制

 Changing your sign-in address or account

所需要的是兩個 Developer 帳號付款的交易單號 Transaction ID, 這可以在各自的 Google Wallet (電子錢包) 裡面交易記錄找到, 然後在上面的網址填申請書. 此不多述, 我填好了欄位需要的資料, 指定 "ALL" 把我的帳號裡頭全部 App 轉移至新的帳號, 送出申請, 然後等 Google 人工省核, 約半天就 Google 某客服就寄 Email 給我, 回覆說成功轉移了.

本文重點是第二段申請 "商家帳戶"(Google Wallet Merchant)....
(注意這不是 "Google Wallet" 電子錢包, 但事實又有些關連如後述)

所以我接著要替新帳號(公司名義)申請 "商家帳戶", 以便 Paid In App 收款使用, 打開申請頁面有一些資料要填寫, 填好後按 "送出"...嗶~ (其實電腦沒出聲, 是我腦袋的 FUCK 的消音)

網頁上方一條紅色訊息 "聯絡人姓名必須包含姓氏與名字,例如:王小明 UNKNOWN_VALUE", 於是無法送出申請.

意思似乎是我寫的名字有問題? 我改了英文 嗶~, 或換了常見名字 嗶~, 不填 嗶~, 於是我改了 "王小明" .....

當然, 還是 嗶~ 不行 -_- !!

怎麼會這樣!? 難道是我網頁瀏覽器支援有問題, 我下載了 Google Chrome 測試還是一樣. 我之前的帳號是有連結商家帳戶的, 但那是多年前 Google Checkout 機制時代我申請的(但此機制本身有整合問題), 後來應該是 Google 換新機制, 自行轉移過了.

我想上面的紅色訊息應該是無解了, 查了 Google (哈~又是你), 有一封同我問題的討論但沒人回, 我想那就寫客服信吧....

但沒想到後面有意外的發展...

我檢視在新的帳號的 Google Wallet ( 電子錢包) 裡面, 我發現了舊有的付費時 (US$25 的時候, 公司另外同事付費的) 有個人資料 (在電子錢包設定可以找到), 也有一個姓名欄位 "法定全名", 名字寫錯成地址, 我不曉得他怎麼填的, 也許是用手機付費時填錯? 於是我就把他修正為公司的中文名字, 嗶~ 又來了 "法定全名無效", 還好二次我猜到了改英文不准中文!

A~ 接著我回到 "商家帳戶"(Google Wallet Merchant)申請網頁, 突發靈感, 把名字用同一個名字!

資料送出 PASS~

以上, 兩個等同的 "錯誤! 請再猜一次!" 錯誤訊息經驗, 提供參考.

p.s. 總結一下, 目前的過關答案

1. 聯絡人姓名必須包含姓氏與名字,例如:王小明 UNKNOWN_VALUE
-->請填入電子錢包個人資料的 "法定全名"
 2. 法定全名無效
-->只接受英文