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、