[IOS] 利用JSON的方式連接Google Drive上的Spreadsheet

在自學iOS程式的途中,總算需要一些server上的資料了,但是其實也只是要讀一些資料罷了 在需求相當的簡單之下,也曾經去尋找過CSV甚至是找個地方把資料寫成JSON硬讀 不過由於要能方便的修改,所以似乎使用Google Drive上面的Spreadsheet是最簡單最方便的方式

主要參考文章如下:

流程如下:

主要程式都是參考 iOS中NSJSONSerialization解析JSON数据暨google地理信息处理案例

-(void)parseJson
{
//The URL of JSON service
//NSString *_urlString = @"http://maps.googleapis.com/maps/api/geocode/json?address=nanjing&sensor=true";
NSString *_urlString = @"https://spreadsheets.google.com/feeds/list/0Artq5Bi16cQedE5mU21kdkJBWUtPU01XbS1uNW5JbEE/1/public/values?alt=json";
NSString *_dataString = [[NSString alloc] initWithData:[_urlString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] encoding:NSASCIIStringEncoding];

//_dataString=[NSString stringWithUTF8String:[_urlString UTF8String]];

NSURL *_url = [NSURL URLWithString:_dataString];
NSMutableURLRequest *_request = [NSMutableURLRequest requestWithURL:_url];
[_request setValue:@"accept" forHTTPHeaderField:@"application/json"];
[NSURLConnection sendAsynchronousRequest:_request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse* response, NSData* data, NSError* error) {
//block define statment
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;

int responseStatusCode = [httpResponse statusCode];
NSLog(@"response status code is %d",responseStatusCode);

NSError *_errorJson = nil;

NSDictionary *resultsDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];

if (_errorJson != nil)
{
NSLog(@"Error %@", [_errorJson localizedDescription]);
}
NSDictionary *resultDicFeed = [resultsDic objectForKey:@"feed"];
NSArray *resultsArryEntry= [resultDicFeed objectForKey:@"entry"];
for (NSDictionary * resultDetailDicAll in resultsArryEntry)
{
NSDictionary *resultsDicID=[resultDetailDicAll objectForKey:@"gsx$id"];
NSString * dataID=[resultsDicID objectForKey:@"$t"];

NSDictionary *resultsDicName=[resultDetailDicAll objectForKey:@"gsx$name"];
NSString * dataName=[resultsDicName objectForKey:@"$t"];

NSDictionary *resultsDicDesc=[resultDetailDicAll objectForKey:@"gsx$description"];
NSString * dataDesc=[resultsDicDesc objectForKey:@"$t"];
}

}];
}

如果你有其他欄位名稱~記得把欄位gsx$id gsx$name  gsx$description 改成你的欄位值….

[Build 2013] Summary MSFT build 2013 (Win 8.1) -- Keynote

http://channel9.msdn.com/Events/Build/2013

First section:

  1. Start button is back, but not easy to use …
  2. Win8.1 connect to XBoxOne, not surprise… But XBox Music? Why not call XboxPhoto and XboxMovie haha..
  3. New multiple monitor (8 split windows on two monitor..)
  4. Oh~~~~ everyone who attend this build got new tablet (like last year) 

Section two: VS2013 and others

  1. Async debugging becomes easier on 2013 IDE. Great!
  2. WebGL seems powerful
  3. Windows App Store also have auto update….
  4. DPI-Aware present on keynote…   It become more important for 3K or 4K monitor…
  5. Robot on Win8.1, mmmmm How about Romo
  6. Tablet overview .. skip, NB overview .. skip.   SurfacePro what? skip..

Section three:

  1. Bing support voice search.. looks great…  but…
  2. Project Spark is fancy game which like mine craft ….. 

Final 60 sec summary video for Win8.1, it seems tell everything XDDDD…..

[iOS][MacOS] WWDC engineer event note

Keep note after I watch related event video of WWDC 2013.
Just some my summary and my understanding here.

  • Mac OSX Server become more important:

    • I believe OS Server version become more and more important when Xcode 5 launch. Note something I am very excited about: 

      • “Bot for continues integration”: Great tool, no need to build a BuildBot your self.

      • “Test Navigator”: Quick for debugging for unit test.

      • “Automatic configuration”:  Oh! no need for lots of setting when you trying to setup iCloud code.

      • “Source Control”: Migrate it deeply, should be easy to used. But everyone has his own SCS why I switch to this one?

  • iOS7 is much big change than flat design:

    • When everyone keep focus on the flat design, but no one take  a look some interesting thing as follows:

      • “Multiple Tasking”: No only multiple tasking but also power safe. How to do that? Apple just change the app on background work rule. Also add some API about background transfer (as I know lots of engineer use GPS to wake up your app on background transfer).  

        • The new background fetch become more smart and easy to use, it could detect user behavior to make sure power effective.

        • Remote notification become complete message not only for short message to make sure user could read it smoothly.

        • Background network transfer is great to use when you try to retrieve some data from internet on background.

      • “Transition and Effect”: Big change with flat design, Apple put more resource to present effect and transition.

Keep study…..

[Mac/iPhone] 關於手機升級測試版與退版本(降版、降刷)的方法

由於大概是今年年初,總算下定決心去買iOS Developer License所以這次WWDC 2013發表的iOS7 就有收到通知有測試版本
但是由於近期最紅的話題就是iOS7 的試用報告,所以不免俗的也去下載iOS7 Beta 1 下來試用~
其實真的不穩定,我也就退回了iOS6.1。
我想細節網路上有太多的文章了,在這裡不再做任何備註。

  • 升級測試版的注意事項:

    • 測試版代表的是相當的不穩定(耗電跟app容易閃退)

    • 很多人不建議使用自己的手機來裝(我裝過以後也是這樣建議大家)

    • 千萬要備份,使用iTune的電腦備份把檔案備份起來。

    • 如果有喜愛的App怕已經被下架或是其他因素~記得用iTools備份起來

  • 升級測試版的方法:

    • 取得測試版的iOS (需要開發者帳號)

    • 打開iTune 在 “更新”的地方按下 Shift 

    • 選取剛剛下載下來的iOS測試版

    • 等待更新

  • 退回舊版的方法:

    • 進入DFU模式(參考以下參考文件)

    • iTune會顯示有一台恢復模式的設備,點選接受是下載目前正式版的iOS

    • (這裡也可以自己先下載後,去shift+點選”回復”來回復特定版本)

    • 回復之後,點選由備份復原把你的App都就回來

  • 參考文件:

[讀書心得]最後的演講

這本書的購買,其實是看了朱學恆大哥的這一篇文章(說好的這一刻不掉淚)。 這一篇演講真的是讓人相當感動~於是也想去買這一本書來看。 不過這本書的內容比較偏向是個人經歷與過程所以看的也比較慢。 今天天氣好,把家裡整理好以後 ~就慢慢聽著音樂把這一本書看完了

讀書心得:

這本書簡單的說就是一位知名的教授:Randy Paush在46歲的時候被驗出有胰臟癌。 在剩下不到三到六個月的最後人生階段,Randy可以選擇鬱鬱寡歡的度過他最後的人生, 但是他選擇舉辦最後的一場演講也就是知名的”最後的演講” 這場演講沒有太多對於他成功的敘述,或是任何成功心法的傳遞。卻有著他對於人生、事業、家庭的心得分享。

Randy Paush是一個任職卡內基美隆大學終生職的教授,主要教導的科目包括了資訊科學與人機互動以及設計。 他不僅僅在學術方面獲得了許多的成就,他更曾兼任了Adobe、Google 與迪士尼的專案合作, 甚至有參與迪士尼的樂園夢想家顧問(也就是樂園遊樂設備的顧問 ) 這樣如此有成就的人,到底在他得知罹患癌症之後是如何的心情轉換,如何的想要把最後的想法告訴他的學生、朋友與家人? 我想這就是這本書最吸引人的地方了。

這本書的摘要,主要分成以下幾個部分:

  • 最後的演講

  • 全力實現兒時的夢想

  • 人生的冒險

  • 幫助別人實現夢想

  • 重點是如何過你的人生

  •  光榮的退場

我個人把整本書看完的部份分成幾個最影響我的句子(部分)來分享給大家:

裡面有提到Randy對於Star Trek的熱愛,當然不得不提他最愛經典台詞;”我不相信世事會完全沒有可勝之機” (I don’t believe in the No Win Scenario.) 我想這也是我個人很喜歡的台詞,雖然我並不是Star Trek的愛好者。 這個台詞相當的激勵人心但是我個人常常把它思考在做人處事上面, 我相信不論任何的溝通與談判一定有大家都能接受的結論, 在做事上面一定都有可以解決問題的方法,任何困難的事情,只要經過努力的思考, 慢慢的問題加以拆解,一定有可以優雅的解決方式。

挑戰就像是磚牆,他的存在是有原因的,他讓你知道你對於這件事物的渴望程度有多少  (The brick walls are there for a reason. The brick walls are not there to keep us out; the brick walls are there to give us a chance to show how badly we want something. The brick walls are there to stop the people who don’t want it badly enough. They are there to stop the other people!) 這句話相當的勉勵著我,也改變著我對於事情的思考方向。每次我自己在減重、在健身的痛苦過程中, 我都會這樣的勉勵我自己,你有多想要變瘦?多想要身材結實?這也激勵著我每天運動的動力。

裡面還有一個相當勉勵人心的故事,是關於Randy 的一個學生Tommy Burnet。 他是一個相當有目標有夢想的人,當他來Randy的團隊應徵電腦繪圖專家的時候。 他講述著自己的夢想”我想要參加Star War的製作團隊” 這是一個幾乎不可能的夢想在1993年~因為最後一部續集是在1983年而且並沒有任何消息表示要拍新的續集(也就是我們所知的前傳) 但是他不斷努力,並且精進自己對於電腦繪圖的能力之後 Randy在偶然的機會看到盧卡斯的電腦動畫公司有缺人,他也就應徵上了 接下來的故事就如同我們了解的他參與了前傳的製作並且擔任著重要的角色。 我想這個故事也讓我了解~只要不斷的努力、不放棄你的夢想~機會真的是給準備好的人 (Luck is truly where preparation meets opportunity)

最後的總結,這本書是相當激勵人心的一本書。個人相當建議推薦給學生閱讀。 不僅僅可以勉勵學生去追求自己的夢想、也可以建立一些學生應該有的價值觀。

 

[MH3G]單人最終畢業考煌黑龍(アルバトリオン)雙劍打法

必須得講,不知道為什麼沒有看到關於雙劍的畢業考文章或是影片
所以很多經驗都是自己慢慢摸索~如果打的不好請各位多多指教

就在前兩天打完單人的英雄之證之後
煌黑龍也解鎖了
其實煌黑龍在MHP3並不是沒有打過
不過完全沒有單人打煌黑龍的經驗
所以這兩天也被煌黑龍虐待了不少之後,終於打過了。 

– 單人最終畢業考 煌黑龍打法 –

裝備:一樣是上位蒼火龍加護石配到 見切+3 耳拴 捕捉 破岩雙劍
道具:以回家玉為主有大小爆彈G跟打上爆彈G
打法:
其實全部以影片https://www.youtube.com/watch?v=3hloLUMx6eg 為主
不過相當搞笑的是,雙劍有夠短,完全刷不到頭。 
所以得回過頭來看看怎麼來打煌黑龍呢?這裡分享一下煌黑龍的動作模式。

剛開打,可以的話先放大爆彈G等開打後引爆炸頭(不好抓時間)

之後放雷三次,這裡只要不斷移動”應該”不會被雷電到
記住放雷完之後,龍會有停頓動作並且吼叫一下。
這時候我是專門刷胸口或是前腳

之後會有用前腳開始打你(具有龍屬性)
之個時候就不要再刷胸部,專心的刷後腿
也比較不會被回頭打

然後這時候會往後飛之後前跳用頭撞
這時候一樣繼續刷後腳
一有空檔就往後腳鑽

如果這時候龍生氣了要發電起飛
就得用拘束彈去把它拉下來
大概要拉個三、四次
如果沒拉下來,就得閃噴雪、冰箭跟閃電衝擊的攻擊
這幾個攻擊都很難回擊,努力閃吧
唯一攻擊就是用拘束彈拉下來,不然就是打上G慢慢k(不知道有沒有用) 

回家玉使用機會:
只要帶齊十一次回家玉一定夠用
絕對沒事不要在場上喝藥水(就算是放暑藥水也是)
兩隻跟班都死了,自己血量少於一半的時候就跑回去
我大概用掉七個就打贏,我想大家可以更少才是 

好啦~終於把單人畢業考都打完~可以放心等待MH4還有刷光任務~不過我的港上位峰山龍一樣打不過  Orz