Android Studio 2.0 Beta 試用心得

主要新增功能

  1. Instant Run: 加快程式更新時建置的時間
  2. New Android Emulator: 全新的Android模擬器
  3. Google App Indexing Integration & Testing: 更簡單、容易實作的深度連結整合與測試工具
  4. Fast ADB: 使用adb安裝app與傳送檔案速度提升5倍
  5. GPU Profiler Preview: OpenGL ES開發輔助
  6. Integration of IntelliJ 15: 升級核心至 IntelliJ 15

繼續閱讀

iOS筆記: 使用Keychain在App間共享資料

Keychain是iOS所提供的一個安全儲存參數的方式,最常用來當作儲存帳號、密碼、信用卡資料等需要保密的資訊,Keychain會以加密的方式將這些資訊儲存於裝置當中。

由於Keychain的資料並不是儲存在App的Sandbox中,所以即使將App從裝置中刪除了,這些資料還是存在於裝置中,當使用者重新安裝了相同的App後,這些資訊還是可以被取得。

另一個特色是,Keychain的資料可以透過Group Access的方式,讓資料可以在App間共享,Google系列的App (Gmail、Google+、日曆…)就是透過這樣的方式來紀錄使用者登入資訊,只要使用者在其中一個App中完成登入了,其他的App也可以讀取到同相的登入資訊進行登入。

本文將針對App間透過Keychain共享資料進行介紹與實作。

範例程式: Github

繼續閱讀

iOS筆記: 虛擬鍵盤part. 1 – 隱藏虛擬鍵盤

當我們在進行iOS的使用者界面設計時,經常會用到Text Field來讓使用者進行輸入的功能,當輸入焦點進入Text Field時,系統會自動的帶出虛擬鍵盤來讓使用者輸入,但是當使用者輸入完成時,虛擬鍵盤並不會自動隱藏,這個部分必需要由開發者在程式碼中去定義虛擬鍵盤需要隱藏的時機。


本文重點
– 按下鍵盤上的完成後隱藏虛擬鍵盤
– 使用手勢操作來隱藏虛擬鍵盤

繼續閱讀

CocoaPods 私人 SPEC 服務架設

CocoaPods 私人 SPEC 服務架設

一、建立私人Specs服務

建立一個空的Specs容器,並push到一個私人的git remote

mkdir my-specs
cd my-specs
mkdir Specs
cd Specs
touch .gitkeep
cd ..
git init
git remote add origin SOURCE_URL
git add .
git commit -m 'init commit'
git push origin master

將私人的Specs容器 (從git remote) 加入本地端

pod repo add REPO_NAME SOURCE_URL

本地端位置

~/.cocoapods/repo/REPO_NAME

繼續閱讀

iOS筆記: App內設定頁面 (in-app settings)

iOS內建的App參數設定功能,原則上是限制要放置在系統的設定App裡面
雖然在iOS 8之後的SDK讓開發者可以在App內用跳轉的方式移至設定頁面內
實際上在使用者體驗上還是有些不足,若能把參數設置功能就做在App內的話會更好
InAppSettingsKit提供了這樣的一個解決方案
本文將說明如何在Xcode專案中使用CocoaPods整合並使用InAppSettinsKit
本文所用到的範例程式可至此下載 (需自行執行pod install)

繼續閱讀

Android筆記: Android Studio + NDK + JNI

Android Studio + NDK + JNI

準備工作: 設定外部工具

Android Studio → External Tools

Mac OS X

新增 NDK Build
Name: NDK Build
Group: NDK
Description: NDK Build
Options: 全打勾
Show in: 全打勾
Tools Settings:
Program: NDK目錄/ndk-build
Parameters: NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1
Working directory: $SourcepathEntry$

繼續閱讀