原创 爲RecyclerView添加Item點擊事件

1. 定義接口 在Adapter中定義一個Click事件的回調接口 public interface OnItemClickListener { void onItemClick(View view, int positi

原创 Android 消息機制——Handler詳解與常見問題分析

Android 消息機制詳解使用流程使用方式一使用方式二框架簡單分析消息處理流程的源碼分析創建Looper對象和MessageQueue對象創建Handler對象發送消息處理消息開啓消息循環Handler中消費消息 (調用接口或重

原创 Android藍牙連接及獲取藍牙信號強度RSSI的基本實現

本文是關於Android的BLE藍牙連接以及 獲取藍牙RSSI的基本實現 , 基於SDK中的Sample略作修改 文章目錄效果圖關於RSSI獲取藍牙RSSI源碼地址 效果圖 關於RSSI 什麼是RSSI Receiv

原创 Flutter開發Dart極速入門 (基本類型)

Dart入門系列: Flutter開發Dart極速入門 (基本類型) Flutter開發Dart極速入門 (變量) Flutter開發Dart極速入門 (函數) Flutter開發Dart極速入門 (操作符與流程控制語句) Flu

原创 Flutter開發Dart極速入門 (操作符與流程控制語句)

操作符 描述 操作符 後綴操作 expr++ expr-- () [] . ?. 前綴操作 -expr !expr ~expr ++expr --expr 乘除 * / % ~/ 加減 + -

原创 Flutter開發Dart極速入門 (函數)

函數 函數的定義 可在函數內定義 可省略類型 支持縮寫語法 => main() { //普通函數定義 add(x, y) => x + y; print(add(1, 2)); // print: 3

原创 在Android原生工程中集成Flutter

在Android原生工程中集成Flutter 第一步 創建Flutter工程 在Android工程根目錄的上一級目錄創建Flutter工程,保證Flutter工程與Android工程在同一級。 cd Android工程根目錄

原创 Flutter插件化開發注意事項(Packages與插件化開發)

官方文檔:https://flutter.dev/docs/development/packages-and-plugins/developing-packages 中文網:https://flutterchina.club/de

原创 Flutter開發Dart極速入門 (異常)

異常 拋出-捕獲異常 try { throw FormatException('format exp.'); throw IOException; throw NullThrownError; } on F

原创 Flutter開發Dart極速入門 (Dart異步詳解)

異步 async和await await 用於等待異步函數的結果 要使用await,代碼必須在一個async函數中 儘管async函數可能執行耗時的操作,但它不會等待這些操作。取而代之的是,該async函數僅執行到第一

原创 Flutter開發Dart極速入門 (生成器)

生成器 同步生成器 void main() { print('main start'); Iterator iterator = syncGenerator(5).iterator; while (iterator

原创 Flutter開發Dart極速入門 (類和對象)

類 一般構造函數 main() { Point point; point = Point(1, 2); print('${point.x} ${point.y}'); // print: 1 2 } class Poi

原创 Flutter開發Dart極速入門 (泛型)

泛型 與Java中泛型的區別 Java中泛型是編譯時的, 泛型信息在運行中是不存在的 Dart中的泛型是固定化的, 在運行時候也有可以判斷的具體類型 main() { var list = List<String>()

原创 Flutter開發Dart極速入門 (庫的使用)

使用庫 導入第三方庫 eg: 導入dio網絡請求庫 編寫pubspec.yaml dependencies: flutter: sdk: flutter # The following adds the Cupe

原创 Flutter開發Dart極速入門 (變量)

變量 變量的聲明 var dynamic Object 使用示例 var data1; // 沒有定義初始值, 可以變成任意類型 data1 = 'str'; data1 = 1; dynamic d