2016年3月16日 星期三

Android-How send GCM ( Goolge Cloud Message ) by browser?

我們完成手機端 GCM 的接收後
要如何發送測試??
這問題網路百百種
但其實我們只要用最簡單的方法來實現就OK了
首先
1 . 取得 App 端註冊完成的 Token
2 . 取得再開發者目標專案底下的 API Key
3 . 將以上的來源輸入在對應的欄位下
( 此教學會介紹 兩種方式  )
1 . 以下是我們手機端註冊GCM 後所得到的 Token





2 . 接下來我們申請發送端專屬的 API Key
連結 : GoogleDevelopersConsole




















星號就是我們需要的 API Key

3 . 開啟 APNS/GCM Tester
或 pushwatch















AndroidStudio 接收到的畫面




參考資料 : GCM http 401 authorization error
參考資料 : Sending and Receiving Android Push Notifications w/ GCM
歡迎轉載,請註明出處。

Android-How get SHA1 MD5 in AndroidStudio?

不管是在 GoogleMap 、 GCM ... 等服務
一定要取得你 PackageName 和 SHA1 等參數
但是自從 Eclipse 跳到 AndroidStudio 後整個介面不熟悉
要從哪裡開始找
除了下指令外
還有更簡單的方法

1 . 開啟 Gradle 列表
First, open gradle projects.

2 . 選擇轉專案內的 Tasks 項目
Second, select tasks item

3 . 底下 Android 的 SigningReport 點兩下
Third, double click signingreport in the android

4 . 相關的資訊就會在底下呈現


















歡迎轉載,請註明出處。

2016年3月12日 星期六

Android-Google Analytics 分析 ( GA )( 二 )

上一篇 : Android-Google Analytics 分析 ( GA )( 一 )

上一篇我們有提到要怎們申請 GA 專屬的ID
這篇我們要提到的事是要怎麼把 GA 埋在我們 APP
提供我們用來分析客戶的偏好

首先, Gradle 新增
dependencies {
    .
    .
    .

    compile 'com.google.android.gms:play-services-analytics:8.4.0'
}


加入網路連線權限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

完成我們的 GA 工具
import android.content.Context;
import android.util.Log;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;

public class GATools {

    public final String trackingId = "UX-XXXXXXXX-X";
    public final String TAG = "Hello";

    /**
     * 畫面監聽
     * @param context
     * @param screenName
     */
    public static void screenListener(Context context, String screenName){
        try {
            Tracker tracker = GoogleAnalytics.
                    getInstance(context).newTracker(trackingId);
            tracker.setScreenName(screenName);
            tracker.send(new HitBuilders.ScreenViewBuilder().build());
        } catch (Exception e) {
            Log.d(TAG, "screenListener e :" + e.toString());
        }
    }

    /**
     * 事件監聽
     * @param context
     * @param category
     * @param action
     * @param label
     */
    public static void eventListener(Context context, String category,
                                     String action, String label){
        try {
            Tracker tracker = GoogleAnalytics.
                    getInstance(context).newTracker(trackingId);
            tracker.send(new HitBuilders.EventBuilder()
                    .setCategory(category).setAction(action)
                    .setLabel(label).build());
        } catch (Exception e) {
            Log.d(TAG, "eventListener e :" + e.toString());
        }
    }
}


// Screen
GATools.screenListener(this, "MainActivity");

// Event
GATools.eventListener(this, "Main", "button", "clicked");













雖然會有數據在報表內
但是就即時性來講
還是要看者用者手機的狀態

參考資料 : AnalyticsReceiver is not registered or is disabled
參考資料 : How to track button click events in android analyitcs api v4
參考資料 : Google APIs for Android_Tracker

2016年3月7日 星期一

MySQL SQLite-How use "UPDATE" in the sql?

上一篇 : MySQL SQLite-How use "DELETE" in the sql?

繼上一篇刪除功能
接下來
那我用新增資料再刪除舊的資料太麻煩了
那還有其他的方法嗎??
有的
那就是更新
可是在更新前一定要先搜尋會被更改到的資料
不然後續會很麻煩的

----------------------------------------------------
更新語法

1 . 條件欄位取代
更新資料表名稱設定參數( 新 )條件參數(舊)
UPDATEtable_nameSETa = 7WHEREa = 6

UPDATE COMPANY SET AGE = 25, NAME = ..... WHERE NAME = 'Allen' ;































2 . 此欄位全部被取代
更新資料表名稱設定參數( 新 )
UPDATEtable_nameSETa = 7
此方法要謹慎使用


UPDATE COMPANY SET AGE = 30;














































歡迎轉載,請註明出處。

2016年3月6日 星期日

MySQL SQLite-How use "DELETE" in the sql?

上一篇 : MySQL SQLite-How use "SELECT" in the sql?

既然可以新增資料
但如果我有不要的資料要如何做處裡
當然可以
但是!!!
資料量少當然沒問題,只需要抓 Key
但是  !!!
資料量如果是上千筆
一定要先用 SELECT 在加上你要 DELETE 的 Key
不然那可能神仙也難救了...

--------------------------------------------------------------------------
刪除語法
刪除欄位 ( 不用填值 )來源資料表名稱判斷條件
DELETEFROMtable_nameWHEREa = 6
其實,刪除的語法跟 SELECT 的語法類似
前面的動作和欄位不用填寫。

DELETE FROM COMPANY WHERE ID = 4;















































建議用法( 以上執行指令為例 )
1 . 先將要刪除的條件用 SELECT 列出來,確認有無其餘資料。
SELECT * FROM COMPANY WHERE ID = 4;

2 . 再執行剛剛的刪除步驟。
DELETE FROM COMPANY WHERE ID = 4;

歡迎轉載,請註明出處。