Cordova – 建立開發環境

什麼樣的開發環境?

因為是 Cordova 所以 Android 可以忽略 Android Studio IDE 以及 AVD ,因為要直接連手機測試

但是 IOS 就沒有省略 Xcode 的方式,因為 Mac 的硬體效能較佳,不像 PC 的差異

安裝、設定

步驟

  1. 建立 c:\bin\android 目錄,此目錄就是後續所有 Android 編譯所需用到程式存放位置
  2. 下載 25.2.3 Android SDK,下載最新版 (26.1.1) 不適用因為沒有圖形介面,後續操作不易
  3. 將 tools_r253.2.3-windows.zip 解壓縮到 c:\bin\android
  4. 設定環境變數 PATH
    1. 建立 ANDROID_HOME 變數路徑到 c:\bin\android
    2. 增加 tools 目錄到 PATH
    3. 增加 tools\bin 目錄到 PATH
  5. 打開命令提示字元運行 >android sdk 安裝
    1. Android SDK Tools
    2. Android SDK Platform-tools
    3. Android SDK Build-tools
    4. Google USB Driver
  6. 下載 gradle Gradle | Releases
  7. 解壓縮 gradle-4.9-bin.zip 到 ANDROID_HOME 並改名為 gradle
  8. 增加 gradle\bin 目錄到 PATH

安裝 Cordova 以及實機測試

將手機切換到開發者模式之後,開啟 USB 偵錯,連上電腦後就可以開始安裝 Cordova 以及測試了

 

Cordova – 設定 config.xml

設定你的 APP 專案

你可以設定

  • 專案 id, 名稱、敘述、版本號
  • 作者
  • 首頁檔名
  • 是否全螢幕
  • 是否固定方向
  • 是否關閉彈性捲動
  • icon
  • 其他 plugin 所需要設定值,例如 Google + OAuth 登入

首頁檔名

控制螢幕方向

  • default : 預設值,根據裝置
  • portrait : 固定為直向
  • landscape : 固定為橫向

全螢幕

關閉彈性捲動

一個範例

Facebook OAuth v3.1 臉書登入 – 使用 PHP SDK

流程

  1. 下載 PHP SDK php-graph-sdk (v5)
  2. 將下載的 php-graph-sdk-5.x.zip 檔內的 src\Facebook 解壓縮到網站內
  3. 準備兩個網站路徑:登入、OAuth
  4. https://developers.facebook.com/apps 選擇臉書登入 app
    1. 設定 → 進階:升級 API 版本到 v3.1

    2. 產品 → 設定:將預計的 OAuth 路徑填入 有效的 OAuth 重新導向 URI
  5. 準備產生臉書登入連結及處理 OAuth 資訊到取得臉書個人資料 id, name, email

PHP 程式碼

這裡只列出 Facebook OAuth class 的程式碼,前面還有一個 index.php 處理網站入口,例如後面說的 session 錯誤就是寫在 index.php 內

$UserInfo 如此即可得到該登入使用者在 Facebook 的基本資料 id, name, email

無法載入網址: 這個網址的網域未包含在應用程式的網域中。若要載入這個網址,請在應用程式設定的「應用程式網域」欄位中新增應用程式的所有的網域及子網域。

請使用 Facebook 提供 SDK ,注意流程即可避免此問題

Facebook SDK returned an error: Cross-site request forgery validation failed. Required param “state” missing from persistent data.

PHP 必須開啟 session_start();

為什麼 Facebook 使用 PHP 不是使用 Javascript ?

因為 Facebook 的 js 寫的很爛只能跑在「較新版」的 Chrome 例如 v62 ,而 Google 可以跑在 Chrome v44 所以使用 PHP 沒有 js 相容性問題

jQuery DOM Insertion, Inside & Outside

如何控制插入內容相對於對象的位置

jQuery 插入內容時可以使用 append(), prepend(), before(), after() 四個函式,不同的函式插入的位置不同

CentOS 7 升級 gcc 到 7

 

 

Nextcloud – 建立私有的 Dropbox

在看「罗辑思维」其中一集在招募人員,在習慣性的從 Email 去看網站 (luojilab.com) 就查到 Nextcloud 這個很棒的應用

PHP 版本

從 11.0 之後皆須 PHP 5.6 以上版本,不過測試一下 10.x 的版本安裝設定更麻煩,所以自己架設主機還是把系統需求準備好,而且新版本的功能以及支援才健全

安裝、設定

下載 Nextcloud 壓縮檔,解壓縮到網站,例如 /var/www/html

建立 data 以及設定讀寫權限

建立使用者檔案存放目錄

MySQL

事先設定資料庫以及新增使用者

  • 新增 nextcloud 資料庫
  • 新增 nextcloud 使用者以及將 nextcloud 讀寫權限賦予

初次進入設定

第一次打開網站,需要新增預設管理者帳號、資料儲存路徑、資料庫