![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
QianCxy
这个作者很懒,什么都没留下…
展开
-
adb: CreateFileW 'nul' failed: 系统找不到指定的文件。
Windows10 64位重装系统后,adb链接不上问题。提示错误:adb: CreateFileW 'nul' failed: 系统找不到指定的文件。解决方法:打开http://adbshell.com/downloads ,下载 ADB Kits (525 KB), 解压有三个文件,把这三个文件解压到sdk的platform-tools目录,替换。转自:---------...转载 2019-01-23 18:06:16 · 3645 阅读 · 0 评论 -
Android中的dp与sp
本节介绍Android中的 dp、sp 以及像素的有关知识。整理自Material Design 布局– 单位 & 度量目录(1)像素密度(2)dp(3)sp(4)不同屏幕分辨率下的缩放正文(1)像素密度概念:每英寸所包含的像素数量被称为 “像素密度” 。高密度的屏幕每英寸拥有的像素数量比低密度的要多。所以 UI 元素(比如按钮)在低密度的屏幕上看起来...原创 2020-06-18 17:48:54 · 609 阅读 · 0 评论 -
gravity属性left/right和start/end的区别
left/right设置控件位置在左边还是右边start/end设置控件位置跟随系统语言进行判断。如果是英语、汉语这样从左往右的语言,start就是left,end就是right。如果是阿拉伯语这样从右往左的语言,start就是right,end就是left...原创 2019-07-08 21:21:57 · 577 阅读 · 0 评论 -
ListView中item高度设置失败
关于设置ListView的item高度的问题,这篇博客深入分析了源码,讲的很详细。android 关于listview item设置高度的问题解决方法博主的结论,可以归结为:不能在item布局文件的最外层设置width和height,否则无效,android会自动采用内部默认的布局参数,分别是MATCH_PARENT和WRAP_CONTENT。解决方法有两个,一个修改xml文件,就是...原创 2019-03-20 17:14:50 · 565 阅读 · 0 评论 -
APP连接BLE4.0具体步骤
借助BLE4.0来做手机APP与硬件设备的通信,与经典蓝牙的步骤是不一样的。下面详细介绍如何在编写一个与BLE设备通信的app。APP对BLE的操作主要可分为四步:准备、搜索、连接、交互。第一步:准备(请求权限和打开蓝牙)这一步可分为三小步:声明权限,判断设备是否支持BLE,打开蓝牙①声明权限在AndroidManifest.xml文件下添加一下代码: <...原创 2019-07-11 23:06:26 · 1362 阅读 · 0 评论 -
android设置activity横屏
设置横屏方法有二:一、Manifest文件中设置在activity中加入标签android:screenOrientation="landscape" 即可设置该activity强制横屏。landscape即是设置横屏。不能再application中加这句话,加上后虽然不报错,但是也无效,所以若是想要设置整个app都横屏的话,只能在所有activity中都加上这句话了。...原创 2019-08-11 14:17:34 · 6100 阅读 · 0 评论 -
android studio中support与androidx的新旧对比
转自https://cloud.tencent.com/developer/article/1459306原文更详细,有需要可参考。 支持库的旧路径 支持库的新路径 com.android.support.constraint:constraint-layout androidx.constraintlayout...转载 2020-06-18 17:24:05 · 1058 阅读 · 1 评论 -
RecyclerView的notify方法及其payload参数
列表的数据更新,通常有两种更新事件,一种是item change event,条目改变事件,就是item中有数据变化了;一种是structural change event,结构改变事件,即插入、删除或者移动了一些item。这些变化在RecycleView.Adapter中就可以单独更新,提高效率,也更方便一点。RecyclerView.Adapter中有多个notify方法,用户可以有...原创 2018-12-25 21:42:49 · 3418 阅读 · 0 评论 -
Android学习笔记之AndroidManifest.xml文件解析
本文转自:Android学习笔记之AndroidManifest.xml文件解析 一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Ac...转载 2018-11-30 11:37:00 · 182 阅读 · 0 评论 -
浅谈BroadcastReceiver的用法
转自:http://www.cnblogs.com/shang53880/archive/2011/02/14/1954420.html记录一下,以备后用。最近看了下关于广播方面的东西,加深了理解,也纠正了自己以前的不正确的看法。关于广播有2中注册方式,一种是在代码中注册,也叫动态注册,另一种是在AndroidManifest里面注册,也叫静态注册。不管在哪个里面注册,都需要发送广...转载 2018-08-15 15:08:20 · 199 阅读 · 0 评论 -
BLE中常用的UUID
转自:https://www.cnblogs.com/bulazhang/p/8450172.htmlprivate static HashMap<String, String> attributes = new HashMap(); static { // Sample Services. attributes.put("0000180d...转载 2018-08-26 20:44:24 · 3591 阅读 · 0 评论 -
BluetoothGattCharacteristic.setValue连续多次设置
setValue方法是设置BluetoothGattCharacteristic实例上的value的。这个value就是我们要传递的信息。比如我们从android端发送信息的时候,通常这样写:BluetoothGattCharacteristic characteristic = ……; // 这里根据自己需求获得一个实例byte[] WriteBytes = new byte[20]...原创 2018-08-31 22:30:43 · 6222 阅读 · 1 评论 -
Fragment的销毁及getActivity()空指针异常
Fragment无法向Activity一样使用finish()销毁自己,但是我们知道,在Fragment中点击返回键时是可以销毁当前fragment的,所以: getActivity().onBackPressed();//销毁自己其中,getActivity()可以会抛出空指针异常,原因是因为在内存重启时,Fragment有可能会在其依附的Activity前调用getActivity(...转载 2018-08-21 21:02:02 · 1464 阅读 · 1 评论 -
Android蓝牙通信时中byte与hex的相互转换
Android开发时,输入或接收的数据一般都是String类型的,以十六进制表示;而硬件设备接收的都是byte类型的字节流。所以在开发时就需要对两种数据做转换。byte是一种数据类型,是整型的一种,只不过是8位的。Java中整型有四种:byte,short,int,long。区别是表示的数值范围不同,byte是8位的,取值范围是-127~128;而其他类型比如int,是32位的;short是1...转载 2018-08-24 22:05:20 · 3167 阅读 · 0 评论 -
BLE的connect()和connectGatt的区别
connect()和connectGatt都是连接BLE设备的方法,但二者用法不同。connectGatt是BluetoothDevice类下的方法,功能是向BLE设备发起连接,然后得到一个BluetoothGatt类型的返回值,利用这个返回值可以进行下一步操作。connect是BluetoothGatt类下的方法,功能是re-connect,重新连接。如果BLE设备和APP已经连接过,但...原创 2018-08-30 15:44:01 · 12020 阅读 · 0 评论 -
Java并发编程:Callable、Future和FutureTask
Java并发编程:Callable、Future和FutureTaskJava并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方...转载 2018-11-15 15:55:32 · 119 阅读 · 0 评论 -
自定义View
有两个步骤:(1) 定义View的属性,在xmls文件中(2) 定义View的样式,在Java代码中(3) 使用这个View,注意包的路径下面详细说说。(1)在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性和声明我们的整个样式。比如<?xml version="1.0" encoding="utf-8"?><resou...转载 2018-11-14 19:51:06 · 137 阅读 · 0 评论 -
Android实现点击两次返回键退出,长按返回键时不退出
转自:http://blog.sina.com.cn/s/blog_4fd2a65a0101gg2o.html原文地址:http://my.eoe.cn/leigo/archive/2146.html原文作者:gaolei_xj在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序。第一种实现的基本原理就是...转载 2018-08-12 18:58:08 · 794 阅读 · 0 评论