0參考代碼
藍牙(BLE)模塊及協議.pdf:在電腦內,有助于理解ble
BLE藍牙在Android開發中的應用 - Android移動開發技術文章_手機開發 - 紅黑聯盟
Android BLE開發之Android手機與BLE終端通信 - hellogv的專欄
- 博客頻道 - CSDN.NET
置頂 Android 藍牙4.0BLE開發實現對藍牙的寫入數據和讀取數據 / 藍訊
Android BLE學習(三):編寫自己的 BLE藍牙讀寫工具(功能仿照nrf master control panel)
考慮使用:public boolean? startLeScan (UUID[] serviceUuids, BluetoothAdapter.LeScanCallback callback)
使用帶回應寫模式,這種模式會降低部分轉 發效率,但可保證單個數據包的正確性,而使用 CBCharacteristicWriteWithoutResponse參數,使用不帶回應寫模式,這種模式會有利于提高轉發效率,但數據包的正確性需要 APP 上層去校驗。
如何寫java注釋文件
JAVA代碼注釋規范 - FastThinking的專欄 - 博客頻道 - CSDN.NET
1,如何制作jar包
使用BleLib的輕松搞定Android低功耗藍牙Ble 4.0開發詳解 - JunkChen - 博客頻道 - CSDN.NET? 如何使用jar打包文檔和打包時可以參考
Android4.2以上 BLE 穩定性解決方法-CSDN論壇-CSDN.NET-中國最大的IT技術社區
Android 將Activity打成jar包供第三方調用 - Wave的專欄 - 博客頻道 - CSDN.NET
Android 打包Jar(發布SDK)常見問題及解決方案 - Wave的專欄 - 博客頻道 - CSDN.NET
有例子 android?關于生成jar包的問題_風云飛飛_新浪博客
如何制作Jar包并在android中調用jar包 - 記事本 - 博客頻道 - CSDN.NET
Android打包Jar(發布SDK)注意事項及問題解決-安卓教程-手機開發-壹聚教程網
android打包SDK(包括資源)和APK全總結_lephone's blog
Eclipse導出jar包(含方法注釋)-lsg615-ChinaUnix博客
Eclipse的Java開發中jar導入后無法使用包內class的解決方案 - 推酷
怎么用Eclipse將項目導出成jar包啊-黑馬程序員IT技術論壇 - Powered by Discuz!
2,確定用DexClassLoader加載jar包,相關資料如下:
【原創】使用DexClassLoader調用jar包 - 看雪安全論壇
深入理解Android之Gradle - Innost的專欄 - 博客頻道 - CSDN.NET
使用 Gradle 管理你的 Android Studio 工程 - OPEN 開發經驗庫
Android手動混淆打包(com.android.library類型工程項目打包jar包)
解決方法數過多導致無法打包apk或者apk安裝失敗:
Android動態加載學習總結(一):類加載器?有demo
3,使用的架構
*****? 從友盟微社區看Android第三方SDK架構實踐-CSDN.NET
Android App整體架構設計的思考 - ysh06201418的專欄 - 博客頻道 - CSDN.NET
從零開始開發一款Android app,前期需要哪些規劃工作避免代碼臃腫混亂? -
MagiLu 的回答 - 知乎
在Android應用中使用Clean架構 - OPEN 開發經驗庫
App工程結構搭建:幾種常見Android代碼架構分析 - 51CTO.COM? ******
在具體的xxxInfo,java中有很多實體類中是沒有get/set的方 法,而是直接使用public的字段名。這一點,我是推薦這種方式的,特別是在移動開發中,get/set方法很多時候是完全沒有必要的,而且是有性能消 耗的。當然如果需要對字段設置一定的控制,get/set方法也是可以酌情使用的。
系統架構師-基礎到企業應用架構-分層[上篇] - 何戈洲 - 博客園
4,字節數組轉化為16進制字符串輸出
字節數組轉化為16進制字符串輸出 - u014539776的專欄 - 博客頻道 - CSDN.NET
5,定時器
android 三種定時器的寫法 - 包子蜀黍的博客 - ITeye技術網站
6,基礎知識:&|
&,| 既是位運算符又是邏輯運算符,&,|的兩側可以是int,也可以是boolean表達式,當&,|兩側是int時,要先把運算符兩側的數轉化為二進制數再進行運算
&按位與:兩個操作數中位都為1,結果才為1,否則結果為0
|按位或:兩個位只要有一個為1,那么結果就是1,否則就為0
7,基礎知識:字節,位
ASCII碼:
一般為8位二進制數,換算為十進制。最小值0,最大值255。如一個ASCII碼就是一個字節。
而一位16最多只表示到16,即F表示16,要表示到256,就還需要第二位,
所以1個字節占2個16進制位
8,有可能用到
如果要進行多個連接,每次連接完成后可以將BluetoothGatt的對象放到一個list里面,獲取到的服務也放到一個List里面,然后發送數據的時候調用不同的Gatt發送不同的通道數據即可。
9,接口
java中接口interface用法小結_誰敢說俺丑_新浪博客
10,final,static
11,未解決的問題:
android使用onActivityResult能否在其他非activity類獲取
我想請問下,onActivityResult是否只能在activity中才能接受到其他activity返回的數據,在其他非activity類中能接收嗎?例如我有兩個類,A和B,A是一個activity,B是一個普通類,B類要做的事情就是從當前界面跳轉到google Play商店,A類將自身的activity傳給了B類,由B類負責跳轉,而且跳轉后返回的數據也在B中處理。我在B類中implements了OnActivityResultListener,復寫了 public boolean onActivityResult方法,但是發現這個接口無法接收到從google Play商店傳回來的數據。請問下有人知道應該如何實現么?一定是分開兩個類寫,不能將onActivityResult方法寫在A類中。
12
安卓開發-Activity中finish() onDestroy() 和System.exit()的區別 - imzoer的專欄 - 博客頻道 - CSDN.NET
13,更改app可以使用的的最低sdk
14,android回調函數
***android中的回調 - lindir的專欄 - 博客頻道 - CSDN.NET
Java/Android中的函數調用&回調函數&自定義回調函數 - _程序猿大人_的博客 - 博客頻道 - CSDN.NET
android之回調函數的用法和意義 - 一個本科小生的奮斗史 - 博客頻道 - CSDN.NET
Java回調機制解析 - pi9nc的專欄
- 博客頻道 - CSDN.NET
Android---回調機制小例子 - Android移動開發技術文章_手機開發 - 紅黑聯盟
可以用android實現員工和老板的回調機制
15,errror,why:改成 final了
Cannot refer to the non-final local variable rssi defined in an enclosing
scope出現在MainActivity?:mLeDeviceListAdapter.addDevice(device, rssi, record);
16,listview
講解清楚 Adapter的getView方法詳解 - Yelbosh的專欄
- 博客頻道 - CSDN.NET
BLE 廣播數據解析 - 推酷android adapter中到converView機制 - 余煒的博客 - ITeye技術網站
LayoutInflater的獲取與使用 - maliqian - 博客園
17,onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord)中的scanRecord
18,listView Adapterd中的viewHolder
Android中利用ViewHolder優化自定義Adapter的典型寫法 - 圣騎士wind - 博客園
19,MainActivity extend ListActivity app會閃退
20,BluetoothGattCharacteristic
Android提高之Android手機與BLE終端通信_Android_腳本之家
Android4.3 藍牙BLE初步 - Savage F. Morgan - 博客園
21,字節數組
String.getBytes()方法中的中文編碼問題_樺矜_新浪博客
22,如果有些場合,只需要臨時需要創建一個接口的實現類,“不提供接口實現的情況下,直接new了一個接口實例”,可以用來簡化代碼.
java:使用匿名類直接new接口 - 菩提樹下的楊過 - 博客園
java 在new時候實現一個純虛接口的類,并申請一個該類的對象 - hellochenlian的專欄 - 博客頻道 - CSDN.NET
23,把字節數組輸出為16進制字符
java的byte數組的不同寫法 - LVXIANGAN的專欄 - 博客頻道 - CSDN.NET
final byte[] data = characteristic.getValue();
if (data != null && data.length > 0) {
final StringBuilder stringBuilder = new StringBuilder(data.length);
for(byte byteChar : data)
stringBuilder.append(String.format("%02X ", byteChar));
String.format("%02X ", byteChar)是把每個字節輸出為十六進制字符
24讀寫操作
android BluetoothLE 多個 setCharacteristicNotification writeCharacteristic 失效 - 即將踏上社會的人 - 博客園
查看某個characteristic的屬性getProperties()
判斷此characteristic是否可以寫if(getProperties()&characteristic.PROPERTY_WRITE>0)
如果可以寫,設置characteristic的值
BluetoothGatt.writeCharacteristic(BluetoothGattCharacteristic characteristic)
25字符編碼方式:在輸出AA(170)這種大于十進制數127的十六進制字節時由于byte的范圍為-128到127,輸出的結果為負數(byte最高為為符號位),顯示在界面上是亂碼,可以考慮用如下輸出方式:下面也無法解決,因為有的ascii碼對應的字符本身系統就無法顯示,還是顯示亂碼
?String s="AA";
??byte[] result=Conversion.hexStringToByteArray(s);
??System.out.println(new String(result,"ISO-8859-1"));
java 里面的string 和byte[] 怎么互轉?_百度知道
Java幾種常見的編碼格式 - liuyz2006 - BlogJava
Java byte[] 字節數組 轉 二進制 八進制 十進制 十六進制字符串 - uikoo9的專欄 - 博客頻道 - CSDN.NET
16進制數據,和10進制數據,只是表示方法不同.
當賦值之后(其實是編譯之后),就沒有分別了.只有輸入輸出,以及寫代碼的時候,才有區別.
所以16進制,10進進制,只有輸入輸出和用字符串表示的時候,才有區別的必要.
當定義一個變量,不論用16進制(常量)賦值初始化,還是10進制賦值初始化,只是編譯時候處理方式不同.
數據的值,是不用區分16進制,和10進制的.
因為編譯后的變量里,儲存的是二進制,不關16進制,和10進制的事情.
所以,直接組合就成了.
26校驗碼
數據校驗是為保證數據的完整性,用一種指定的算法對原始數據計算出的一個校驗值。接收方用同樣的算法計算一次校驗值,如果和隨數據提供的校驗值一樣,說明數據是完整的。
最詳細易懂的CRC-16校驗原理(附源程序) - 94cool - 博客園
27十六進制求和
long?x?=?Long.parseLong("f1",?16);
long?y?=?Long.parseLong("f2",?16);
System.out.println(Long.toHexString(x+y));
28根據空格拆分
public String[] split(String regex)根據給定的正則表達式的匹配來拆分此字符串.
然后就要明確正則表達式的含義了:
\\s表示 空格,回車,換行等空白符,
+號表示一個或多個的意思,所以...
Split區分一個或多個空格 - liruizhuang的專欄 - 博客頻道 - CSDN.NET
Java,byte數組和字符串互轉,不可打印字符_jfeiyi_新浪博客
請問為什么把byte字節數組的元素b轉化為16進制 需要&..._慕課問答
Java 中 byte、byte 數組和 int、long 之間的轉換 - Defonds 的專欄
- 博客頻道 - CSDN.NET
29字符串去掉空格
JAVA中去掉空格
1. String.trim()
trim()是去掉首尾空格
2.str.replace(" ", ""); 去掉所有空格,包括首尾、中間
復制代碼 代碼如下:String str = " hell o ";
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
3.或者replaceAll(" +",""); 去掉所有空格
4.str = .replaceAll("\\s*", "");
可以替換大部分空白字符, 不限于空格
\s 可以匹配空格、制表符、換頁符等空白字符的其中任意一個
Java String.split()用法小結 - 殘星 - 博客園
public String[] split(String regex)根據給定的正則表達式的匹配來拆分此字符串.
然后就要明確正則表達式的含義了:
\\s表示 空格,回車,換行等空白符,
+號表示一個或多個的意思,所以去掉一個空格 或 多個空格或Tab用str.split("\\s+")
\\d表示?0-9?的數字,
\\s表示?空格,回車,換行等空白符,
\\w表示單詞字符(數字字母下劃線)
+號表示一個或多個的意思,所以...
30如何和BLE發射器連接前獲取發射器的廣播信息
ble廣播相關資料
藍牙4.0BLE抓包(二) – 廣播包解析 - 強光手電 - 博客園
[藍牙] 2、藍牙BLE協議及架構淺析&&基于廣播超時待機說廣播事件 - beautifulzzzz - 博客園
android 獲取廣播數據相關資料
Android上獲得ibeacon的廣播數據--BLE_Ibeacon - chencglt的博客 - 博客頻道 - CSDN.NET
31ByteBuffer的用法
ByteBuffer用法小結 - mars5337的專欄 - 博客頻道 - CSDN.NET
Java NIO學習筆記之二-圖解ByteBuffer - Baple的專欄 - 博客頻道 - CSDN.NET
ByteOrder (Java 2 Platform SE 5.0)
ByteOrder.LITTLE_ENDIAN:多字節值的字節順序是從最低有效位到最高有效位的。
32異常
什么時候要拋出異常? - tengxiaoming的專欄 - 博客頻道 - CSDN.NET
JAVA程序中拋出與聲明異常 - Hamber_Bao的專欄 - 博客頻道 - CSDN.NET
33手機的系統日期
Java 中 byte、byte 數組和 int、long 之間的轉換 - Defonds 的專欄 - 博客頻道 - CSDN.NET
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp區別和總結 - 路人甲的專欄 - 博客頻道 - CSDN.NET
Java、Android超精確測量代碼執行時間差 - 薩爾 的個人空間 - 開源中國社區
Android中系統設置參數改變監聽(以時間同步為例) - 還是你最好 - 博客園
www.cnblogs.com/AdiSky/archive/2012/11/29/2795168.html
Android 通過應用設置系統日期和時間的方法 - 愛孔孟 - 博客頻道 - CSDN.NET
android 獲取時間 - Android移動開發技術文章_手機開發 - 紅黑聯盟
Android獲取手機的當前時間和獲取時間的各種不同的格式 - 故作堅強的專欄 - 博客頻道 - CSDN.NET
Android常用之系統時間獲取 - Android移動開發技術文章_手機開發 - 紅黑聯盟
34Android字符串操作:
Android TextUtils類介紹 - 葉園 - 博客頻道 - CSDN.NET
TextUtils.isEmpty(str)與str.isEmpty()有區別嗎?哪個更好?請寫出原因_百度知道
Android TextUtils類常用方法 - leigo - 博客頻道 - CSDN.NET
35類的單例模式
sqllite數據庫的存取中用到
Java:單例模式的七種寫法 - 問征夫以前路 - BlogJava
JAVA設計模式之單例模式 - 一個本科小生的奮斗史 - 博客頻道 - CSDN.NET
36小數點后面1位
get_double = Double.ParseDouble(String.format("%.2f",result_value));
java double類型保留兩位小數4種方法 - huaishuming的專欄 - 博客頻道 - CSDN.NET
Java float保留兩位小數或多位小數 - Dtscal - 博客園
37byte轉換為int
byte temp
temp&0xff轉換為int
38高8位在前和低8位在后
第一、二個字節分別為工作電流的高8位和低8位
ByteBuffer buffer=ByteBuffer.wrap(receiveData, 1, receiveData.length-2).order(ByteOrder.BIG_ENDIAN);
39short轉換為字節數組
java中long,int,short與byte數組之間的轉換
40處理一個方法返回多個值
java 一個函數如何返回多個值 - beiyeren - 博客園
java如何使用函數返回多個函數值?求高手知道啊-CSDN論壇-CSDN.NET-中國最大的IT技術社區?? ********
41sqlLite存取Boolean類型數據
Sqlite中存儲Boolean和boolean對象,分別使用boolean和text類型 - 山里孩子 - 博客頻道 - CSDN.NET
42需驗證:
問:怎么把?0xEA??0x01?一次性發送到藍牙特征值里面,?求解
答:byte?value[]=new?byte{0xEA,0x01}
問:
超過了byte的取值范圍。
答:byte?value[]=new?byte{(byte)0xEA,0x01}
?問:強轉之后藍牙設備讀取的數據還是0xEA嗎??
答:是
43連多個ble設備
44服務一直在后臺運行
停止當前服務:Process.killProcess(Process.myPid());
如何讓android的service一直在后臺運行? - Android - 知乎
www.cnblogs.com/liyiran/p/4903825.html
45finish()后,下面的語句還在運行
Android Activit finish 后到底是退出了啥?-CSDN論壇-CSDN.NET-中國最大的IT技術社區
關于activity binder service 線程未結束 finish 生命周期-CSDN論壇-CSDN.NET-中國最大的IT技術社區
46信息推送功能
Android消息推送完美解決方案全析 - 51CTO.COM
最全APP推送(push)秘籍:做推送,這一篇就夠了!-鳥哥筆記
Android 通知欄Notification的整合 全面學習 (一個DEMO讓你完全了解它) - xiaobeibeinihao的專欄 - 博客頻道 - CSDN.NET
消息提示類控件使用之Notification(狀 態欄通知)詳解 - MakeYourChance的專欄 - 博客頻道 - CSDN.NET
47fragment
fragment和fragmentactivity解析-android100學習網
48比較2個字節數組是否相等
Arrays.equals(a,b)
49Android中Parcelable接口用法
Android中Parcelable接口用法 - Harvey Ren - 博客園
Android中Parcelable接口的使用 - 殘劍_ - 博客園? 含Intent傳遞
android?用Parcelable傳遞復雜數據類型_yihu_新浪博客?完整,正是我需要的
50監聽手機藍牙設備的狀態等
android 藍牙設備監聽廣播 - LeslieFang - 博客園
51自定義監聽器類
android 自定義監聽器Listening - 霧柳花前 - 博客園
52彈出對話框
Android中創建對話框(確定取消對話框、單選對話框、多選對話框)實例代碼_Android_腳本之家
53集合減操作:查詢數據庫中重發的血糖是否發全,缺少哪一個。用集合來做
在JAVA中,對List集合的加減操作 - u011407281的專欄 - 博客頻道 - CSDN.NET
java判定數組或集合是否存在某個元素 - 寶劍無鋒&.&大巧不工 - ITeye技術網站
54修改手機的系統時間
55Java中如何將一個一位數輸出成兩位數?
?int
?a?=?
3
;
System.out.println(String.format(
"%02d"
,?a));
56自動連接上次藍牙設備
Android IM(五)連接斷開重連 - zyxNobita專欄 - 博客頻道 - CSDN.NET
自動連接上次連接的藍牙設備(Android開發) - 博客頻道 - CSDN.NET
57Android回掉函數
android之回調函數的用法和意義 - 一個本科小生的奮斗史 - 博客頻道 - CSDN.NET
android回調函數總結 - elleniou - 博客園
58Android異步回調
****android回調的理解------異步任務回調接口 - Anny_Lin的博客 - 博客頻道 - CSDN.NET
Android異步回調中的UI同步性問題 - Windstep - 博客園
59連接藍牙發射器,出現BluetoothGatt.status=12
android 連接不穩定就會出現這種問題。嘗試重新連接.
是接口的bug,我的解決方案是當出現129的時候我通過代碼將藍牙重啟來避免這個問題
android 藍牙4.0 BLE 為什么回調onServicesDiscovered方法返回的status參數一直是129?-CSDN論壇-CSDN.NET-中國最大的IT技術社區
bluetooth - Android BLE API: GATT Notification not received - Stack Overflow
Bluetooth Low Energy Service Discovery with Android 4.3 on Nexus 4 - Stack Overflow
關于用nexus 4 開發BLE應用過程數據寫入后自動斷開的問題-CSDN論壇-CSDN.NET-中國最大的IT技術社區
60如何判斷兩個時間相差多少天,參數為String
JAVA 比較兩個日期相差的天數 - shiyuezhong的專欄 - 博客頻道 - CSDN.NET
zwman-hz.iteye.com/blog/1263376
61、安裝自動實現Parcelable接口的插件
62、計時器
基于Android中實現定時器的3種解決方法_Android_腳本之家
Android三種實現定時器的方法 - yhm2046的專欄
- 博客頻道 - CSDN.NET
schedule() 和 scheduleAtFixedRate() 的區別--轉載 - 一天不進步,就是退步 - 博客園
Android 輪詢最佳實踐 Service + AlarmManager+Thread - yaly的個人頁面 - 開源中國社區
在Android中使用AlarmManager - 博客頻道 - CSDN.NET
Android中實現定時器的3中方法 - Summers - 博客園
android 定時器暫停 可以用canel()方法 但我又想再次喚起 用什么方法?_百度知道
postDelay
關于android中postDelayed方法的講解 - 如是觀的專欄
- 博客頻道 - CSDN.NET
63、停止線程
Android中輕松使用線程 - Chiclaim的技術博客
- 博客頻道 - CSDN.NET
Java Thread問題集之Thread.stop()篇 - Coding EveryDay - ITeye技術網站
64、對象賦值,解決run方法中:變量必須為final的問題
variable 'receiveDataInfo' is accessed from within inner class ,needed to be declared final
Java中請問將一個對象賦值給另一個同類對象,這兩個對象是否指向同一堆內存?_百度知道
JAVA 對象引用,以及對象賦值 - 飄來蕩去。 - 博客園
65、sharedPreferences
關于使用service的上下文和activity來讀取sharedpreferences的同步問題-CSDN論壇-CSDN.NET-中國最大的IT技術社區
getPreferences,getDefaultSharePreference,getSharePreference三種用法的區別-手機軟件-電腦編程網
getDefaultSharedPreferences() - life02 - C++博客
66、sqlite查詢固定間隔id(id不確定個數)
在sqlite中執行'in'查詢操作,如何使用selectionargs匹配多個值 - fkaking的專欄
- 博客頻道 - CSDN.NET
67、BluetoothGatt: android.os.DeadObjectException
mBluetoothGatt.close();
blog.csdn.net/wk1063645973/article/details/50036085
68、數據重傳:在48握手后請求特定編號的血糖數據
writeCharacteristic(UUIDList.serviceUUID,UUIDList.wCharacteristicUUID, XcommandHandle.sendData("0x55", glucoseId.toString()))
發射器會把特定編號的數據發回,在47中接收后再一次寫上面語句則不再執行
可能的原因:
對 BluetoothGatt 操作(read/write)Characteristic(),(read/write)Descriptor()和readRemoteRssi()都是異步操作。需要特別注意的是,同時只能有一個操作(有些貼這說只能同時有一個writeCharacteristic(),這個我并沒有嚴格驗證),也就是等上一個操作回調(例如onCharacteristicWrite())以后,再進行下一個操作。
開發建議:把這寫操作都封裝成同步操作,一個操作回調之前,阻塞主其他調用。
BLE開發的各種坑 - Wave的專欄
- 博客頻道 - CSDN.NET
解決方案:在public voidonCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic,intstatus) {中寫
if(characteristic.getValue()[0]==85){
if(writeCharacteristic(UUIDList.serviceUUID,UUIDList.wCharacteristicUUID, characteristic.getValue())){//1.4.10 接收器請求發送指定編號的血糖歷史數據:發
Log.i(TAG,"CGM--in onCharacteristicWrite,0x55 Specified glucoseId Data reSend writeCharacteristic success.");
}
}
69、導入UI項目:顯示缺少support-annotations:24.0.0,解決辦法
support annotations 23.3.0/23.4.0/24.0.0 - 下載頻道 - CSDN.NET
到如了v4怎么android.support.annotation_百度知道
用vpn獲取設置DNS(在學校可以下載到,家里不行)
70、查詢某個initialCycleID的最小glucoseId和最大glucoseId的記錄
求Android的SQLite查詢,帶Group和Order - SegmentFault
一個SQLite數據庫的ORDER BY和GROUP BY代碼實例 - 51CTO.COM
SQLite學習筆記五:Order By,Group By,Having,Distinct - 了凡
- 博客頻道 - CSDN.NET
www.runoob.com/sqlite/sqlite-having-clause.html
sqlite3 limit 使用limit - majiakun1的專欄
- 博客頻道 - CSDN.NET
71、斷開重連超過1天的數據,如果glucoseId=256, Conversion.shortToByte(new Short(hexStrSend))方法有問題,應該得到0100卻得到16進制數0000,還要考慮short可取的最大值是32 767,而數據有7天,每3分鐘1條共計:3360條。解決方案:用整形或者無符號short
java整數和byte數組之間的轉換 - aotian16的專欄
- 博客頻道 - CSDN.NET
72、當一個發射器的數據有幾千條時查詢會比較慢
方案1:使用索引
在SQLite中使用索引優化查詢速度 - chu_qun的專欄
- 博客頻道 - CSDN.NET
方案2:增加1張表 ?ok
73、外鍵
SQLite 外鍵 - 千里之外
- 博客頻道 - CSDN.NET
Sqlite之外鍵約束跟內外聯表 - 伍松和的個人空間 - 開源中國社區
Android和SQLite版本對應關系 - 大學霸 - 博客園
73、小米手機出現以下異常
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
blog.csdn.net/liranke/article/details/44785877
blog.csdn.net/u011476017/article/details/12620725
74、暫時不用的方法加注解
75、導入的java項目中文亂碼怎么解決
76、如果字符串有小數點,先轉換成double,再轉換為int,不能直接轉換為整數。例如:
Integer score;
score = Integer.valueOf(info2[j]);改成
score = (int)Double.parseDouble(info2[j]);
77、android utc時間
Java獲得UTC時間 *****
java new Date() 變成GMT&& GMT時間與CST時間轉換
Android 轉換UTC時間:2013-06-13T14:15:44.000的時間格式 為GMT時間
Android系統時間制式的獲取(24小時制式/12小時制式)及UTC與本地時間的轉換
78、批量插入sqlite數據
android中SQLite數據庫中用insert同時插入多條記錄的方法和效率比較
從以上2個鏈接可以看出,和中國相差最大的時區為18,會有18*20=360條記錄,所以選擇用事務插入記錄
79、sqlite如何修改主鍵
80、Unsupported major.minor version 52.0
Unsupported major.minor version 52.0
2.2.3改為2.0.0
81、導入UI項目:出現下面warning
Warning:Dependency commons-logging:commons-logging:1.1.1 is ignored for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
stackoverflow.com/questions/41754808/dependency-is-ignored-for-debug-after-adding-aws
stackoverflow.com/questions/25295066/android-dependency-is-ignored-for-release
github.com/owncloud/android/issues/829
解決方法:在build.gradle文件最后加入configurations {
all*.exclude group: 'commons-logging', module: 'commons-logging'
}
Error:Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
> android/os/Parcelable : Unsupported major.minor version 52.0
jdk改為1.8
82、clone下來的項目編譯出如下問題:
解決Android Studio報錯:DefaultAndroidProject : Unsupported major.minor version 52.0
http://blog.csdn.net/ouyang_peng/article/details/51799001
83、華為meta8手機改變時區:
打開“設置”,點擊“高級設置 > 日期和時間”,可以進行相關設置。
方法:
84、修改時區后,關閉手機重新打開后,電腦無法顯示app的log
關閉手機重新打開后,拔一下usb線再重新插上log就有了
或者
打開Device Moniter,查看logcat,見Android Studio突然不顯示logcat日志的解決辦法
85、