11 2019 档案

摘要:1. 下载libusb库。 可以到libusb库的官网(https://libusb.info/)或者是其官方的github仓库(https://github.com/libusb/libusb/releases)上下载最新的libusb库源码。 2. 添加libusb库到android studi 阅读全文
posted @ 2019-11-26 13:07 夜行过客 阅读(8658) 评论(0) 推荐(0) 编辑
摘要:主界面:MainActivity 主界面布局:activity_main.xml 主界面入口的Fragment: HomePageFragment.java 主界面入口Fragment的布局:fragment_home_page.xml BottomNavigationView的menu文件:men 阅读全文
posted @ 2019-11-25 18:07 夜行过客 阅读(1221) 评论(0) 推荐(0) 编辑
摘要:setSpeakerphoneOn 方法可以使语音和通话能够强制从手机的扬声器输出,不过在测试了众多手机在调用了这个API之后都可以,唯独有一款VIVO手机不可以: 解决方法: RomUtil.java 参考链接: 1. VIVO官网:音频类AudioManager接口使用规范 2. Android 阅读全文
posted @ 2019-11-22 17:59 夜行过客 阅读(3795) 评论(0) 推荐(0) 编辑
摘要:参考资料 Android判断手机ROM 正文 有时候需要判断手机系统的ROM,检测ROM是MIUI、EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件查找是否有对应属性来判断是什么ROM。 build.prop的介绍可以看Android build.prop简介 代码 阅读全文
posted @ 2019-11-22 17:50 夜行过客 阅读(7608) 评论(0) 推荐(0) 编辑
摘要:手机音频的输出有外放(Speaker)、听筒(Telephone Receiver)、有线耳机(WiredHeadset)、蓝牙音箱(Bluetooth A2DP)等输出设备。在平时,电话免提、插拔耳机、连接断开蓝牙设备等操作系统都会自动切换Audio音频到相应的输出设备上。比如电话免提就是从听筒切 阅读全文
posted @ 2019-11-20 16:51 夜行过客 阅读(7627) 评论(0) 推荐(0) 编辑
摘要:在布局优化中,Androi的官方提到了这三种布局<include />、<merge />、<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记。 1. <include /> <include />标签能够重用布局文件,简单的使用如下 阅读全文
posted @ 2019-11-15 11:26 夜行过客 阅读(777) 评论(0) 推荐(0) 编辑
摘要:1 ArrayList介绍 ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口 阅读全文
posted @ 2019-11-13 14:07 夜行过客 阅读(846) 评论(0) 推荐(0) 编辑
摘要:android: weight是线性布局的特有属性,控件的宽度和高度的不同,也会存在差异。 示例1:将宽度设置为包裹类型wrap_content或0dp 运行: 示例2: 将宽度设置为match_parent时 运行: 小结: 第一种现象很好理解,当放置两个宽度为0dip或是wrap_content 阅读全文
posted @ 2019-11-08 17:13 夜行过客 阅读(7415) 评论(0) 推荐(2) 编辑
摘要:如果想要让GridLayout中的子元素能够平均分配,就需要用到 该属性在API21 (android5.0)时引入,如果要实现全部平均效果,可以在给子元素指定LayoutParams里,指定: PS: GridLayout.UNDEFINED 代表不指定列的位置。 则效果如下(循环添加20个按钮) 阅读全文
posted @ 2019-11-08 16:46 夜行过客 阅读(4207) 评论(0) 推荐(1) 编辑
摘要:Android 布局之GridLayout 1 GridLayout简介 GridLayout是Android4.0新提供的网格矩阵形式的布局控件。 GridLayout的继承关系如下:java.lang.Object --> android.view.View --> android.view.V 阅读全文
posted @ 2019-11-08 15:23 夜行过客 阅读(8695) 评论(0) 推荐(1) 编辑
摘要:之前自己一直手工编写函数来实现dip值到px值,今天无意中发现android本身就带有类似的函数来实现这种转换过程,就是 TypedValue.applyDimension Log: I/xp.chen: finalPx: 60, pxValue: 60 查看下源码,android的实现和我们自己的 阅读全文
posted @ 2019-11-08 14:11 夜行过客 阅读(1024) 评论(0) 推荐(0) 编辑
摘要:手头有一部华为P10, Android 9.0的手机,突然发现无法进行断点调试。具体现象就是调试器运行到断点处5s左右,就自动退出了。 解决方案:不要把断点打开主线程上,打在子线程上即可。 例: 阅读全文
posted @ 2019-11-08 11:29 夜行过客 阅读(1903) 评论(0) 推荐(0) 编辑
摘要:建造者模式使用也有一段时间了,之前对它的概念也是云里雾里的,只是会用,却也拿不定主意什么时候用好,今天突然间有所领悟,特记录之。首先说说它的定义,基本上看到所有关于建造者模式的介绍大概都是这样说的: 然后随便举了个例子完事,且不说举的例子是否恰当,能让人看懂,光是上面啰里巴嗦的一段话就让人头大,什么 阅读全文
posted @ 2019-11-06 16:46 夜行过客 阅读(1915) 评论(0) 推荐(0) 编辑
摘要:平时使用Android Studio 在写实体类的时候,习惯给实体类的成员变量前面加上一个"m" 修饰符表示这是一个成员变量,这也是搞java的一种约定俗成的写法,本来这是没有问题的,可是在默认情况下使用快捷键生成getter()/setter()方法时,生成的getter()/setter()方法 阅读全文
posted @ 2019-11-06 14:41 夜行过客 阅读(983) 评论(0) 推荐(0) 编辑
摘要:首先,很多初学者都会用这两个API来判断对方是否在线,但是经过我的实践,此API并不能实时判断是否在线的状态。 经过百度查询资料后,得出结论: 事实上这些方法都是访问socket在内存驻留的状态,当socket和服务器端建立链接后,即使socket链接断掉了,调用上面的方法返回的仍然是链接时的状态, 阅读全文
posted @ 2019-11-06 09:57 夜行过客 阅读(1526) 评论(0) 推荐(0) 编辑
摘要:实际开发的过程中我们有时候会遇到,一个TextView里面会遇到会有一个一大串固定的文字,而里面的数字或者个别字需要根据后台的接口而展示的。这个时候我们最简单的方法就是在string.xml文件里 使用 %s、%1$s、%d、%1$d,而在页面展示的时候我们只需要用实际展示的文字或者数据替换掉这些占 阅读全文
posted @ 2019-11-05 15:52 夜行过客 阅读(10468) 评论(0) 推荐(0) 编辑
摘要:Socket选择可以指定Socket类发送和接受数据的方式。在JDK1.4中共有8个Socket选择可以设置。这8个选项都定义在java.net.SocketOptions接口中。定义如下: 有趣的是,这8个选项除了第一个没在SO前缀外,其他7个选项都以SO作为前缀。其实这个SO就是Socket O 阅读全文
posted @ 2019-11-01 13:37 夜行过客 阅读(1523) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示