
Android
文章平均质量分 84
103style
拿得起,放得下。
展开
-
Windows搭建Nginx直播推流服务器
转载请以链接形式标明出处:本文出自:103style的博客目录资源下载配置环境变量检查Nginx 是否能成功启动修改 Nginx 配置推流测试关闭 Nginx资源下载将下述资源下载到同一个目录,如下:nginx – 需要下载源代码编译 rtmp模块nginx Gryphon — 解压到当前目录的一个子文件夹,如 nginx-1.7.11.3-Gryphonffmpeg buildnginx-rtmp-module播放器:vlc media p.原创 2021-02-23 17:23:42 · 1928 阅读 · 0 评论 -
大概是最详细的Glide流程图了
转载请以链接形式标明出处:本文出自:103style的博客大概是最详细的Glide流程图了…建议下载原图放大观看。基于 glide 4.10.0如果看到有描述错误的地方,请指出来,感谢。以上扫描下面的二维码,关注我的公众号 103Tech, 点关注,不迷路。...原创 2020-03-25 19:47:48 · 929 阅读 · 0 评论 -
关于setContentView方法
转载请以链接形式标明出处:本文出自:103style的博客base on Android-29文中相关的源码有删减可以带着以下问题来看本文:为什么从代码设置属性和主题,得在 setContentView 之前?setContentView 添加的 View 加载完成的回调方法?setContentView 的执行流程?LayoutInflater 的 inflate 方法不...原创 2019-12-17 14:49:27 · 5581 阅读 · 0 评论 -
面试问关于Handler的这些问题你知道吗?
转载请以链接形式标明出处:本文出自:103style的博客目录Handler 相关的问题 文末参考文章中找到一些以及自己编的一些Handler 相关问题的解答Handler 及相关源码的介绍 base on android-28Handler 相关的问题在线程中可以直接调用 Handler 无参的构造方法吗?在主线程和子线程中有没有区别?Handler 机制中涉及...原创 2019-10-18 17:11:25 · 318 阅读 · 0 评论 -
ClassLoader实现热修复的示例
转载请以链接形式标明出处:本文出自:103style的博客效果图实现思路主要实现思路主要是:先编写一个有 bug 的程序, 运行安装到手机。修正bug之后,重新 rebuild, 然后找到 app - build - intermediates - dex - debug - mergeProjectDexDebug - out - classes.dex 移动到 ...原创 2019-10-12 15:59:08 · 326 阅读 · 0 评论 -
HashMap源码解析
转载请以链接形式标明出处:本文出自:103style的博客base on jdk_1.8.0_77目录HashMap的常量介绍HashMap的构造函数HashMap的数据操作函数TreeNode介绍参考文章HashMap的常量介绍static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16初...原创 2019-07-08 13:25:13 · 256 阅读 · 0 评论 -
AndroidStudio 依赖的包文件导入失败
转载请以链接形式标明出处:本文出自:103style的博客解决方法:关闭AS,把 C:\Users\计算机用户名\.gradle\ 下的 caches 目录全删了,然后重新启动项目就好了。最近遇到一个莫名其妙的问题:之前AS打开项目还运行的好好的,然后第二天一打开,就一直编译失败,发现是 依赖的第三方库的文件找不到,类似以下语句报红:import com.github.gre...原创 2019-06-20 14:55:16 · 2548 阅读 · 1 评论 -
Android 判断是否在通话中
转载请以链接形式标明出处:本文出自:103style的博客最后的判断代码:/** * 是否正在电话通话中 */private boolean phoneIsInUse() { TelephonyManager mTelephonyManager = (TelephonyManager) activity.getSystemService(Context.TELEPHONY_...原创 2019-06-14 11:10:54 · 4469 阅读 · 0 评论 -
Android SIM卡 插拔监听
记录一下import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.telephony.TelephonyManager;/** * 监听sim状态改变的广...原创 2019-05-10 17:17:05 · 4603 阅读 · 0 评论 -
Calendar.HOUR 引发的问题
/** * 获取今天的开始时间 * * @return 今天的开始时间 */ public static long getTodayStartTime() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR, 0); ...原创 2019-05-14 14:23:08 · 899 阅读 · 0 评论 -
Android 数据库加密 android-database-sqlcipher 开源版本编译过程
build android-database-sqlcipher介绍android-database-sqlcipher 用于 Android SQLite 数据库的加密。维护者提供了 收费 和 开源 两个版本。sqlcipher开发维护者官网:https://www.zetetic.net/sqlcipher/github开源项目地址:android-database-sqlciph...原创 2019-05-01 15:16:14 · 6176 阅读 · 3 评论 -
Android 听筒扬声器切换 并且监听音量变化
记录一下。在activity 监听按键:@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { //设置聊天播放语音是 ...原创 2019-04-25 10:06:54 · 3658 阅读 · 0 评论 -
Java中运算符 "|" 和 "||" 以及 "&" 和 "&&" 区别
|运算符:不论运算符左侧为true还是false,右侧语句都会进行判断,如下代码:int a = 1, b = 1;if (a++ == 1 | ++b == 2) { System.out.println("true");}System.out.println("a= " + a + " ,b= " + b);左侧为true,右侧为true,输入出结果为:truea= ...原创 2019-05-04 12:07:01 · 1176 阅读 · 0 评论 -
Duplicate id 0x7f0900af, tag null, or parent id 0xffffffff with another frag
以下时具体报错信息 Caused by: android.view.InflateException: Binary XML file line #39: Binary XML file line #39: Error inflating class fragment Caused by: android.view.InflateException: Binary XML fi...原创 2019-04-12 14:35:45 · 1742 阅读 · 0 评论 -
Android Foreground Service
为了防止后台服务被系统干掉,我们需要将服务提升为前台服务。示例代码:需要在AndroidManifest 添加 前台服务的权限 :<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>FOREGROUND_SERVICEAdded in API level 28 Android...原创 2019-06-27 13:43:18 · 7663 阅读 · 0 评论 -
ConcurrentHashMap源码解析
转载请以链接形式标明出处:本文出自:103style的博客base on jdk_1.8.0_77目录ConcurrentHashMap的用途ConcurrentHashMap的常量介绍ConcurrentHashMap的相关函数小结参考文章ConcurrentHashMap简介ConcurrentHashMap 是在 HashMap 的线程安全的版本,不允许 空键空...原创 2019-07-09 14:50:57 · 231 阅读 · 0 评论 -
Android清除通知栏的对应的消息
转载请以链接形式标明出处:本文出自:103style的博客记录一下大致思路我们收到推送消息的时候会通过 NotificationManager.notify(int id, Notification notification) 发送到通知栏。记录每一个显示的 通知栏消息 和 对应的 id.按产品要求在进入对应的页面的时候删除对应的通知栏消息。伪代码通过sendNotif...原创 2019-09-27 11:11:00 · 9850 阅读 · 0 评论 -
Android监听来电状态
转载请以链接形式标明出处:本文出自:103style的博客记录一下.public class PhoneCallReceiver extends BroadcastReceiver { private static final String TAG = "PhoneCallReceiver "; private OnPhoneCallListener onPhoneCal...原创 2019-09-25 16:26:44 · 1065 阅读 · 0 评论 -
利用ClassLoader实现检查项目中不符合规范的代码
转载请以链接形式标明出处:本文出自:103style的博客主要实现思路主要是:通过 context.getClassLoader()或者 Thread.currentThread().getContextClassLoader()获取ClassLoader对象。通过反射获取私有变量pathList.通过反射获取pathList的私有变量 数组 dexElements通过反获取每一...原创 2019-09-18 18:10:20 · 234 阅读 · 0 评论 -
Android 子线程切回主线程的方法记录
转载请以链接形式标明出处:本文出自:103style的博客记录一下 Android子线程切回主线程 的方法。view.post(Runnable action):textView.post(() -> { textView.setText("更新textView");});activity.runOnUiThread(Runnable action):Ma...原创 2019-09-18 16:05:28 · 4515 阅读 · 0 评论 -
NDK开发(一) :NDK入门指南
本文操作以 Android Studio 3.4.2 版本为例目录环境配置创建支持 C/C++ 的新项目向现有项目添加 C/C++ 代码参考文章环境配置下载安装 Android Studio配置 NDK 环境启动 Android Studio.如下图:在界面的 Configure 中 打开 Settings 界面。如下图: 在 左上角 输入框输入sdk → 点击 ...原创 2019-08-15 22:32:19 · 887 阅读 · 0 评论 -
Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
转载请标明出处:http://blog.youkuaiyun.com/lxk_1993/article/details/50511172本文出自:【103style的博客】;本文是对 Error:Execution failed for task ':app:transformClassesWithDexForDebug’解决记录 的重新排版3个错误:non-zero exit value 1n...原创 2019-07-11 14:28:26 · 446 阅读 · 0 评论 -
Could not find class 'android.support.v4.widget.DrawerLayout$1'
转载请以链接形式标明出处:本文出自:103style的博客手机信息phone: huawei mate 7Android version : 4.4.2系统:EMUI 3.0报错信息:Could not find class 'android.support.v4.widget.DrawerLayout$1', referenced from method android.s...原创 2019-07-05 16:49:16 · 1982 阅读 · 0 评论 -
ArrayList源码解析
转载请以链接形式标明出处:本文出自:103style的博客base on jdk_1.8.0_77目录ArrayList的常量介绍ArrayList的构造函数ArrayList的数据操作函数小结ArrayList的常量介绍private static final int DEFAULT_CAPACITY = 10;默认的初始化长度。private stati...原创 2019-07-10 14:35:04 · 199 阅读 · 0 评论 -
the bind value at index 2 is null
Greendao 条件查询数据报错 the bind value at index 2 is null导致报错的方法:xxxDao.queryBuilder().where(xxxDao.Properties.XXX.eq(value).unique()xxxDao.queryBuilder().where(xxxDao.Properties.XXX.notEq(value).unique...原创 2019-04-02 11:30:47 · 3495 阅读 · 0 评论 -
AndroidStudio 找不到Genymotion设备
AndroidStudio 找不到Genymotion设备AndroidStudio 版本: 3.3.2Genymotion 版本:3.0.1笔者是因为使用了Android sdk 下面的 adb,然后运行的时候一直找不到genymotion设备。然后,就在genymotion的setting界面 把 adb 配置为 genymotion默认的adb。然后把genymotion安装目...原创 2019-03-23 14:50:31 · 1664 阅读 · 5 评论 -
AndroidStudio 在当前位置查看注释快捷方式
前提:所选 变量 或者 方法 必须是 java doc的 注释。类似下面这种样子: /** * balabalabala */方法使用快捷建 默认 Ctrl + Q选中 要显示 注释 的 变量 或者 方法,按 Ctrl + Q 就可以看到注释了。在 设置 里面 勾选 Show quick documentation on mouse move...原创 2019-01-18 10:59:17 · 365 阅读 · 0 评论 -
关于魅族手机 安装APP提示安装失败 更新包不兼容的解决方法
转载请以链接形式标明出处: http://blog.youkuaiyun.com/lxk_1993/article/details/52943855本文出自:【lxk_1993的博客】; 关于魅族手机安装app提示安装失败,更新包不兼容。就像这样:Step1:点开设置 点击指纹和安全。Step2: 点击访客模式原创 2016-10-27 11:10:21 · 35687 阅读 · 11 评论 -
在友盟分享的基础上集成微信登录
转载请以链接形式标明出处: http://blog.youkuaiyun.com/lxk_1993/article/details/52933357本文出自:【lxk_1993的博客】; 刚开始做微信登录集成的时候,项目已经集成了友盟分享,有问iOS那边是怎么弄的,是直接用友盟的还是微信的,然后iOS那边说了一句用的是微信的,然后我就默默地去微信开发平台去看文原创 2016-10-26 13:54:48 · 1498 阅读 · 0 评论 -
Android面试准备之集合
Android面试准备之集合 转载请以链接形式标明出处:http://blog.youkuaiyun.com/lxk_1993/article/details/51871449本文出自:【lxk_1993的博客】;首先 集合类型有两种: Collection 和 Map。Collection 又分为List、Set以及Queue。List又有ArrayList、Linked原创 2016-07-10 14:47:12 · 1110 阅读 · 1 评论 -
setOnTouchListener使用记录
刚开始使用setOnTouchListener的时候,代码如下,一直监听不到ACTION_MOVE、ACTION_UP。很无语 查阅资料之后 原来只要把最后的return false 改成 true 就好了。 遂记录在此。 updateDialog.setOnTouchListener(new View.OnTouchListener() { @Override public原创 2016-02-22 17:32:31 · 3600 阅读 · 0 评论 -
面试中的排序算法总结
前言查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排转载 2016-04-30 13:58:37 · 1037 阅读 · 0 评论 -
面试中关于 layout_weight 笔记
视频链接 : http://www.imooc.com/video/101651.看第一个例子,当我们按比例放置多个TextView时,在没有添加内容或者内容没有超过分配的宽度时,这些TextView会很正常的显示在屏幕上,但是当某一个TextView 的内容宽度多于分配的宽度时, 就会 出现 如下情况。xml version="1.0" encoding="utf-8"?>Li原创 2015-10-26 14:55:00 · 985 阅读 · 4 评论 -
仿QQ6.1手势锁
项目地址:https://github.com/103style/QQ6.1GestureLock该项目是仿照当前版本的QQ手势锁,主要实现设置手势锁和检验手势锁的功能。废话不多说 先上效果图。主界面代码:public class MainActivity extends AppCompatActivity implements View.OnC原创 2015-12-19 19:00:04 · 1167 阅读 · 2 评论 -
使用android自带的SwipeRefreshLayout实现下拉刷新
效果图: MainActivity.javapackage com.hnpolice.luoxiaoke.swiperefreshlayout;import android.os.Bundle;import android.os.Handler;import android.support.v4.widget.SwipeRefreshLayout;import原创 2015-12-24 16:13:04 · 972 阅读 · 1 评论 -
异常的出现情况及解决方式(持续更新中)
tips:快速查阅 ctrl + F 输入关键字(异常名字)查找。1.Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment2.Caused by: java.lang.RuntimeException: Binary XML file lin原创 2016-03-08 09:17:20 · 1711 阅读 · 2 评论 -
当expandlistview的getGroupView或者getChildView中包含checkbox时,前者点击不可用
当expandlistview的getGroupView或者getChildView中包含checkbox时,前者点击不可用。解决办法 在etGroupView或者getChildView的checkbox中添加android:clickable="true"android:focusable="false"android:focusableInTouchMode="false"原创 2015-12-21 21:05:02 · 1566 阅读 · 0 评论 -
Android中的DatePicker颜色处理以及其他属性介绍
转载请标明出处: http://blog.youkuaiyun.com/lxk_1993/article/details/51351365本文出自:【lxk_1993的博客】相信很多码友都碰到过这种情况,在一个界面放了一个datepicker.但是在5.0以上的手机上颜色显示的效果不怎么好。就像下图这样,颜色处理的不怎么好。一开始百度找解决办法,搜了一下没什原创 2016-05-09 11:26:33 · 15852 阅读 · 0 评论 -
java.lang.ExceptionInInitializerError 错误 解决方案
当在静态初始化块中出现了异常的时候,JVM会抛出 java.lang.ExceptionInInitializerError异常。如果你了解Java中的静态变量,你会知道它们是在类加载的时候进行初始化的。如果在这个静态变量初始化的过程中出现了异常,那么就会抛出 java.lang.ExceptionInInitializerError异常。楼主用的retrofit,像这样.在单原创 2016-10-27 17:35:10 · 10892 阅读 · 0 评论 -
集成微信登录和分享真的很简单
转载请以链接形式标明出处: http://blog.youkuaiyun.com/lxk_1993/article/details/53066384本文出自:【lxk_1993的博客】; 文末有demo.准备工作 1.去 这里 注册微信开放平台的账号,下载 签名生成工具 用来 获取 应用签名。并不要下载sdk,2.再去友盟,原创 2016-11-07 16:14:35 · 3380 阅读 · 0 评论