Posts match “ Android ” tag:

前言

沒有前言!
其實最近台灣反課綱一事滿煩的
三個月前說要寫Blog結果又拖到現在還沒寫

前幾天跟Rick sync之後應該會真正開始回來寫
以下是Rick大神的新Blog
不過最近還有余大哥給的案子要處理掉,處理完後就會真正來動工

累積了很多技術還沒寫真的有點想吐出來一下
先預告下次會做ORM效能分析好了~

敬請期待~

§・前言

簡單來說
因為朋友有需求需要學
所以還可以再多一個名額做深度教學

目前主要提供給有興趣學習Android的朋友
當然只想玩玩也可以,但還是會收費1000/hr,所以請考慮清楚~

正文

評估了一下後
其實目前的課程還不會到深入部份
如果是想學一些概念也可以,一開始的課程只有基礎概念的建立(靠實作)

另外收費目前是1000/hr

若是想要持續學,學到一定程度我能保證薪水「至少4萬/月」(台灣)起跳,深入一點就能保證「至少5、6萬起跳」
國外絕對更高就不用比了

只有一個名額~時間是平日晚上(選彼此可以的時間)與假日(選彼此可以的時間)~
地點部份請聯絡我~

Email
Facebook

2015/08/04 更新

以下請完全忽略
以下廉價的價錢不會是以後的報價也不會是推薦報價
可以參考有哪些項目,但請不要參考價錢
如果開發者有遇到案主用這個來搞你,請告訴我
如果真要用這邊的報價來,請記得乘上五倍以上

完。

$前言

由於個人最近在談案子的薪水,一直很煩惱到底要開多少
外加有時又太過客氣,進而導致開價過低,簡直把自己當廉價勞工
所以還是撰寫一下相關詳細價格,除了讓自己知道底線在哪外,也能提供一些人作為參考

不過這依然是我本身會提出的價格,並不是所有人都一定要照著此報價
也不希望因此導致惡性的削價競爭
所以若是有人願意比我價格低廉,那就去吧,因為這價格代表了我身為 Developer 的尊嚴
(2014/07/16補充:現在看好像我的尊嚴挺廉價的耶......((((;゚Д゚))))))))

如果一個程式失去擴充性與 maintain 的容易度,其價值當然也相對而言更加低廉
簡單來說,一個優良的 app 的運作絕對不是幾萬或十幾萬能打發的
當然在此僅只討論一般 Native 語言,也就是 Java 的情況

然後以下的報價是以「一個真正專業的 Android Developer 應該開出的『最低價』」為基礎所寫出
想要比這價錢低的就去開吧

PS:
以下開價主要都是良心開價,不會想要去坑出資者,故會盡可能詳細列出
大致上暫時先列出一些,更詳細的之後有時間再慢慢列出

個人預估一般價位

以下 Case 報價,除去額外的特殊效果與特殊客製化部分,功能數量以 20 個計,畫面以 10 個計,列表元件以三個計
架構除維護之外全包,一個 case 最少需要 15 萬元
此 case 未加上計算 server API 設計,更加詳細的細節會在之後繼續補上。

Case 報價

項目 詳細內容 價格
架構 完成功能 15000 + 功能數量與大小報價
結構設計
(易於維護,採用 Design Pattern 與 Clean Code 概念)
50000
考量後期維護與擴充之設計 +10 萬
符合 UX 的設計
(含畫面切換的順暢)
20000
Memory 處理 15000
後續維護
(包含更新)
兩種方案,請見附註1
介面
畫面數量 總共的畫面數量 500 / 個
列表 列表中元件數量
不同列表相同元件以一個列表之元件做計算
3000 / 個列表
超過 1 個, 500 / 個
單一元件客製化需求, 5000 / 個
特殊要求額外計算
畫面調整 過於細節的畫面調整以符合其他種手機比例 多一個機種 + 2000
Drawer 其中之每項功能或畫面切換 5000 Drawer
+
1000起跳 / 其中每項 Item 之動作
Tab 一般原生 Tab 5000
特殊效果 Tab 8000 起跳
動畫效果 元件效果 單一動畫:1000
綜合效果:每加一個 1500
完全客製化:10000起跳
邏輯功能
功能 數量計算 一般功能:2000 / 個
社群 數量計算
平台計算
Facebook:15000
Twitter:27500
WeChat:40000
Continue Reading →

【Android】ORM效能分析(序)
【Android】ORM效能分析(一)

§・前言

簡單來說,就是因為一次 Android Developer讀書會的活動是介紹三種 ORM(Object Relational Model),分別是 ormlite、greenDAO、Realm,然後起因是因為 Realm 的官網說明他們的效能遠超過 ormlite 與 greenDAO,所以我就燃起了挑釁的戰鬥心理測試的鬥志,開始撰寫一個專門測試這三種 ORM 的 app

目前已把測試app丟上架~且有上傳至 Github ,歡迎取用查閱

ORM效能分析測試app傳送門
ORM效能分析測試Github sample

§・正文・Query

Continue Reading →

【Android】ORM效能分析(序)

§・前言

簡單來說,就是因為一次 Android Developer讀書會的活動是介紹三種 ORM(Object Relational Model),分別是 ormlite、greenDAO、Realm,然後起因是因為 Realm 的官網說明他們的效能遠超過 ormlite 與 greenDAO,所以我就燃起了挑釁的戰鬥心理測試的鬥志,開始撰寫一個專門測試這三種 ORM 的 app

我應該會找個時間丟上架~那目前有上傳至 Github ,歡迎取用查閱

ORM效能分析測試app傳送門
補充:目前只有 insert 的功能,這幾天會再繼續補上其他測試,下一個是 Query,至於環境嘛......先放一邊ヽ( ̄д ̄;)ノ=3=3=3

Continue Reading →

¢前言

我想大家在 Google Play 上發佈 app 時都會有,版本更新了可是 User 卻打死不更新的現象
有時是有人沒開 Google Play 的自動更新
有時是 Google Play 沒有自動更新

那我們是否可以手動進行更新或版本確認呢?
答案絕對是可以的
而方法不外乎兩個

1. 製作一個 API 提供 application 呼叫,確認是否有更新版本
2. 直接 parser Google Play 進行版本確認

在這裡說明第二個方法,第一個方法簡單很多,但就是要有自己的 API 可提供呼叫
另外在此只說明版本如何確認,看哪天心血來潮再把下載更新的 code 貼出來吧
請按下繼續觀賞~~

Continue Reading →

∞ 前言 ∞

由於現在各種 UI 設計都是遵照 iOS 的設計在底部放置 tab
然後使用流程又想像 iOS 那樣做畫面切換
這點在 Android 來說是非常不直覺以及徒增 Android Developer 的煩勞

這就是自認為完全仿照 iOS 設計 app 即可,節省額外設計 Android 的成本
但是換來的就是增加 Android Developer 的成本
以下會敘述 Android 與 iOS 的使用流程是如何根本上的不同

Continue Reading →

先丟最大的 icon 詳細 size 圖
只是這是 2014 年 1 月的圖,所以實際上跟目前 Guideline 應該會有些出入
ICON SIZE

Android

由於工作上經常用到所以讓我的高級實習生Louis去找資料~順便紀錄一下
另外我的實習生目前在找研替~品質保證喔喔喔~(宣傳)
詳細出處在此

由於「標準」是持續變動的,故......還是需要多檢查一下 Guideline
General Guidelines

Pixel Densities

Sizes (px) Format and naming Notes
mdpi (Baseline) 160 dpi 1x
hdpi 240 dpi 1.5x
xhdpi 320 dpi 2x
xxhdpi 490 dpi 3x
xxxhdpi 640 dpi 4x

Launcher icons

Sizes (px) Format and naming
48 × 48 (mdpi) .png
72 × 72 (hdpi)
96 × 96 (xhdpi)
144 × 144 (xxhdpi)
192 × 192 (xxxhdpi)
512 × 512 (Google Play store)

Action bar, Dialog & Tab icons

Sizes (px) Format and naming
24 × 24 area in 32 × 32 (mdpi) .png
36 × 36 area in 48 × 48 (hdpi)
48 × 48 area in 64 × 64 (xhdpi)
72 × 72 area in 96 × 96 (xxhdpi)
96 × 96 area in 128 × 128 (xxxhdpi)
Note
These icons are used in the action bar menu. 
The first number is the size of the icon area, 
and the second is file size.

Small Contextual Icons

Sizes (px) Format and naming
16 × 16 (mdpi) .png
24 × 24 (hdpi)
32 × 32 (xhdpi)
48 × 48 (xxhdpi)
64 × 64 (xxxhdpi)
Note
Small icons are used to surface actions and/or provide status for specific items. 
For example, in the Gmail app, 
each message has a star icon that marks the message as important.

Notification icons

Sizes (px) Format and naming
22 × 22 area in 24 × 24 (mdpi) .png
33 × 33 area in 36 × 36 (hdpi)
44 × 44 area in 48 × 48 (xhdpi)
66 × 66 area in 72 × 72 (xxhdpi)
88 × 88 area in 96 × 96 (xxxhdpi)
Note
These are used to represent application notifications in the status bar. 
They should be flat (no gradients), white and face-on perspective

∞前言∞

由於還是很多人搞不清楚怎麼有效率的學寫 Android ,所以就來生出這篇了
「當然這是我的方法,不一定每個人都適用!」
當然我也可以直接落下一句:請多練習多寫,才是紮實的訓練法,沒有任何後門

雖然就某種方面來說確實如此,不過我發現其實有人甚至連如何「練習」都不知道
所以還是說一個對於一個開發者來說,應該算是很單純的流程吧
而對於我來說,這是學習一個語言最該先了解的。

====================

∞正文∞

首先你要了解的是,這個語言的 Hello world
再來你要了解的是幾個簡單的 Sample
我相信大家看到此大概都懂了,可是接下來才是關鍵。

Continue Reading →

趕工出一個新版本了
但新增的功能不是實際能用的(( _ _ ))..zzzZZ
主要有修了比較多的bug跟幾個細節

實用功能面應該會到下一次或下下一次改版......
不過還有另外兩個想做的東西......
整體架構也想換成AndroidAnnotation與EventBus......

時間有限啊......

新版本1.5.9:「我這不是來了嗎?」https://play.google.com/store/apps/details?id=org.unlimitales.mmm

Posted by MMM on 2015年10月4日

走輕小說風格的標題(靠唄)

§・前言

因為看到先前還覺得不錯的日本遊戲公司・曉數碼(AKATSUKI)的求才網站上,寫了需要 Android 與 iOS 都會的人才,但底薪卻僅僅只出了 600 萬日幣(年薪)
然後為了補正我可能錯誤的記憶,我重新去看了一下官方網站

暁官網求才傳送門

600萬年薪是在 Facebook 廣告上看到的求才訊息,但這網頁裡沒有附註,目前找不到那個廣告
然後先平衡說一下,公司工作環境很好,很棒,確實是一流企業給予的超讚環境
但是?

這跟開出的求才底薪是八竿子打不著的關係
更何況這個職缺是開在日本工作,整個額度從台灣換算過去,根本就是必須省吃儉用還存不到錢的那種薪資
但要求的是「Android/iOS」

要找一個資深的 Android 工程師薪水卻連年薪千萬也開不出來,更不用說雙平台,兩種語言都會的資深工程師
怎麼看都是要1500萬年薪以上

簡單來說,只著重於工作環境,卻忽略了員工應得的薪水而開出如此會讓人感到「不被重視」的薪資
就這點而言我對於這間公司是充滿失望的。

熱情到最後能當飯吃嗎?
我完全想像不到重視人才的公司也有能力開出薪水的公司卻連開出應有的底薪也沒有的心態

「我們所夢想的社會,是人們能夠為了內心滿足有所驅動,而非金錢等外在報酬才有所動作。」

很抱歉,這句話很美,但非常非常的諷刺。

連錢、生活都無法繼續下去,那個夢想與熱情究竟是什麼?

為什麼有人能夠同時具備錢與生活以及夢想?

究竟是公司的問題還是員工的問題?

正文

Continue Reading →

有鑒於每次寫 android 會突然有種倦怠感
但其實還有很多好研究好學好鑽研的
為了不要每次都會再重新尋找相關東西
在此先記錄一下

1. ServiceManager、ActivityManager、packageManager 、*****Manager
2. Binder
3. IPC
4. *Framework class(慢慢來)
5. SystemService運作
6. Hook
7. View 渲染
8. Intent 是如何實現Activity、Service 等之間的解耦合的
9. 單元測試、Monkey 能跑多長時間?效能測試
10. ClassLoader、DexLoader
11. Context
12. 權限機制
13. 觸控事件的分發
14. Handler、Message、Looper(最近重新建立基礎,改天再寫詳細)

其實還有很多要更鑽研的地方
不過暫時先列到這裡

前言

又欠這篇很久了......
主要還是來記錄一下要如何查看 Android SQLite 的欄位資料
下一篇是 Google Project exceed limit

不過還是先來寫這篇
寫一寫發現 Logdown 的編輯器真的有夠爛......
也該是時候換去 medium 了

剛好也是時候自己試著架網站了

正文

首先目前有兩種方法

  1. 最近看到的 Android Debug Database logdown一直刪我文字他喵的
  2. Dump (Export) SQLite Database

在這邊採用第二種方法,第一種還沒試過改天再來試試看

然後 Mac 使用者準備好一個工具 DB Browser for SQLite

首先我先拿我目前的 Project 來做範例

再來就是在自己程式碼裡加入以下這段 Code ,將 DB 儲存至 External Storage
記得要將 DATABASE_PATH + DATABASE_NAME 轉成自己原先 SQL 存放的位置

private static void backupDatabase() throws IOException {
        //Open your local db as the input stream

        String inFileName =  DATABASE_PATH + DATABASE_NAME;
        File dbFile = new File(inFileName);
        FileInputStream fis = new FileInputStream(dbFile);

        String outFileName = Environment.getExternalStoragePublicDirectory("/DMCollectorDB").getPath();
        //Open the empty db as the output stream

        OutputStream output = new FileOutputStream(outFileName);
        //transfer bytes from the inputfile to the outputfile

        byte[] buffer = new byte[1024];
        int length;
        while ((length = fis.read(buffer))>0){
            output.write(buffer, 0, length);
        }
        //Close the streams

        output.flush();
        output.close();
        fis.close();
    }

然後你就能在 External Storage 裡看到儲存的 DB 檔案

檔案出來了後其實也有很多方法可以將檔案拿出來
不過這邊還是用 Terminal 的方式快一點

adb pull mnt/sdcard/DMCollector/DMCollectorDB ~/Documents/work/Takuma/DM  

然後就可以用上面說到的工具 DB Browser for SQLite 來開啟了
以下是欄位資料:

§・前言

今年,2015 1月 Facebook 就已經釋出此消息
然後在 F8 時提出了用 React 撰寫 Android 、 iOS 的消息
然後就出了以下的 slogan:

「Learn once, write anywhere.」

而以往的概念都是:

「Write once, run anywhere.」

意思是學一個概念,可以在各個平台撰寫,也就是學 React ,可以寫 Android 、 iOS 、 Web 、 Mac app...等等
以往的概念是寫一次,run 所有地方
所以以往的 Hybrid app 都是基於此而產生,單純用 WebView 來看 web app ,所以時常會因為單一執行緒問題導致效能問題

Continue Reading →