- 博客(40)
- 资源 (7)
- 收藏
- 关注

原创 Android线程池框架下的线程池策略
线程的运行机制>* 开启线程过多,会消耗cpu>* 单核cpu,同一时刻只能处理一个线程,多核cpu同一时刻可以处理多个线程>* 操作系统为每个运行线程安排一定的CPU时间----`时间片`,系统通过一种循环的方式为线程提供时间片,线程在自己的时间内运行,因为时间相当短,多个线程频繁地发生切换,因此给用户的感觉就是好像多个线程同时运行一样,但是如果计算机有多个CPU,线程就能真正意义上
2016-10-27 18:30:52
2294
原创 Android 传统蓝牙配对连接断开 附demo
简单的描述下分享给大家个demo:网上找了一大堆,刚开始配对是没问题的,但是断开连接和连接设备就出现很多报错,用的是BluetoothSocket.connect,发现完全不是同一个方向,一直报错getBluetoothService() called with no BluetoothManagerCallback 或read failed, socket might closed...
2020-02-27 09:31:39
1571
1
原创 android studio 去掉use androidx.* artifacts这个选项
Go to the SDK manager in android studio and uncheck android Q ( 29 ).
2019-09-26 08:28:33
3130
转载 Android混淆
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。为什么要加代码混淆--------------------不想开源应用,为了加大反编译的成本,但是并不能彻底防止反编译开启混淆 通常我们需要找到项目路径下app目录下的build.gradle文件 找到minifyEnabled这个配置...
2018-10-25 10:18:45
339
原创 java/android modbus RTU CRC16验证跟C和.net完全一样
public static String getCrcCheckStr(String inStr) { int[] inHex = new int[inStr.length() / 2]; for (int i = 0; i < inHex.length; i++) { inHex[i] = Integer.parseInt(inS...
2018-10-10 09:54:42
768
转载 UpdateAppUtils一行代码实现app在线更新
UpdateAppUtils一行代码,快速实现app在线下载更新A simple library for Android update app先看效果图: update.gif快速使用先来看看怎样一行代码实现更新:dependencies { compile 'com.teprinciple:updateapputils:1.4'}UpdateAp...
2018-08-24 09:30:30
5334
1
原创 APP对网络状态变化进行全局提示
永远不要期望用户按照你预设的步骤操作 APP一个新项目刚刚开始推广工作,市场人员向我抱怨用户使用时总会出现各种各样的问题,大部分问题都是因为用户操作不当导致的,但是在用户眼中的结论就是“你们的 APP 不好用”。举一个例子,有的用户在使用时禁用了 APP 访问移动网络,或者有的用户干脆都没有打开移动数据开关或者 WIFI 开关。但是作为开发人员,我们应该避免用户思考,当用户使用出现问题...
2018-08-01 09:20:50
564
原创 javah javac 不是内部或外部命令 解决方法
配置JNI环境时,遇到一个非常奇怪的问题,java环境变量配置好了后,cmd下执行java -version 正确,但是javah 或者javac 则提示不是内部或外部命令。下面就是开始找原因了:1、怀疑java环境变量配置有问题,对照别人的做法:JAVA_HOME设置为:C:\Program Files\Java\jdk1.5.0_12(自己jdk的安装位置)CLASSP...
2018-07-30 21:05:04
702
1
转载 阿里AndFix 热修复(转载)
本文转自http://blog.youkuaiyun.com/lpftobetheone/article/details/50435371搜索发现有这3种方式可以实现(至于其他的方式,暂不清楚)1.dexposed github https://github.com/alibaba/dexposed2.andfix github https://github.com/alibaba/AndFix3...
2018-07-06 11:09:46
375
原创 Android长连接神器框架Mina之服务器和客户端例子
一、概述 Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程
2018-04-27 15:46:19
1547
转载 Android ExoPlayer 简单实现播放本地视频
ExoPlayer的Github地址:https://github.com/google/ExoPlayer ExoPlayer是谷歌开源的媒体库,媒体库这个很重要,它可以像个jar包一样使用,升级神马的很是方便。 系统要求:Android 4.1(因为音视频组件依赖Android的 MediaCodec接口,API16)起步,考虑低版本使用就
2018-03-31 09:40:38
3470
1
原创 Fragment嵌套Fragment no view found for id的处理
网上很多都说getFragmentManager()换成getChildFragmentManager()来解决问题。其实大家还是要看清自己的项目闪退的原因。我试过用上面的方案还是出了no view found for id的问题但我这边用了mix2就没发现问题,所以我初步就估计都是内存回收机制导致,So,把子类的inflater.inflate(R.layout.communit
2017-12-07 08:58:36
2934
3
转载 ANDROID样式的开发:SHAPE篇
Android样式的开发:shape篇Android样式的开发:selector篇Android样式的开发:layer-list篇Android样式的开发:drawable汇总篇Android样式的开发:View Animation篇Android样式的开发:Property Animation篇Android样式的开发:Style篇一个应用,应该保持一套统一的样式,包括But
2017-12-05 08:20:55
353
原创 android 混编JsBridge的原理和实现
首先我们先要知道js调用Android的方法有以下四种:WebView的JavascriptInterfaceWebViewClient.shouldOverrideUrlLoading()WebChromeClient.onConsoleMessage()WebChromeClient.onJsPrompt()
2017-11-17 14:56:14
1179
转载 Android 高仿74款APP
Github搜索就有了-------------------------------------------------------------------------------------------------------------------------------------------WeChat高仿微信高仿微信,实现功能有: 好友之间文字聊天,表情,视频
2017-10-27 11:45:19
7822
2
转载 Android蓝牙BLE的详细讲解
我今天分享的主题是 Android 上低功耗蓝牙的实践。这个主题比较小众。我在过去的一年多的时间里,主要是在做低功耗蓝牙相关的开发。接触过程中发现,BLE 的开发和通常的 Android APP 的开发有点不一样,这里需要访问硬件资源,而且涉及到一些协议相关的内容,而且这方面的资料也比较少。今天我从 Android 开发者的角度,来分享一下低功耗蓝牙开发实践。Slide 02今天分享的内容
2017-08-08 16:24:05
8898
转载 关于你认识的TCP
看过太多tcp相关文章,但是看完总是不过瘾,似懂非懂,反复考虑过后,我觉得是那些文章太过理论,看起来没有体感,所以吸收不了。 希望这篇文章能做到言简意赅,帮助大家透过案例来理解原理。tcp的特点这个大家基本都能说几句,面试的时候候选人也肯定会告诉你这些:三次握手四次挥手可靠连接丢包重传但是我只希望大家记住一个核心的:tcp是可以可靠传输协议,它的所有特点都为这个
2017-07-21 16:15:39
451
转载 WebView性能、体验分析与优化
在App开发中,内嵌WebView始终占有着一席之地。它能以较低的成本实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的封锁。然而便利性的同时,WebView的性能体验却备受质疑,导致很多客户端中需要动态更新等页面时不得不采用其他方案。以发展的眼光来看,功能的动态加载以及三端的融合将会是大趋势。那么如何克服WebView固有的问题呢?我们将从性能、内存消耗
2017-07-20 15:37:50
1702
转载 Android逆向之旅---Android中锁屏密码算法解析以及破解方案
一、前言最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机恶意样本。现在的锁机样本原理强制性太过于复杂,没意义。所以本文就先来介绍一下android中的锁屏密码算法原理。二、锁屏密码方式我们知道Android中现结单支持的锁
2017-07-19 10:54:54
2181
转载 HTTPS 原理浅析及其在 Android 中的使用
1.HTTP协议的不足HTTP1.x在传输数据时,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份,存在的问题如下:通信使用明文(不加密),内容可能会被窃听;不验证通信方的身份,有可能遭遇伪装;无法证明报文的完整性,所以有可能已遭篡改;其实这些问题不仅在HTTP上出现,其他未加密的协议中也会存在这类问题。(1) 通信使用明文可能会被窃
2017-07-11 16:22:58
1128
转载 Android JSBridge的原理与实现
在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异。大多数人都知道WebView存在一个漏洞,见WebView中接口隐患与手机挂马利用,虽然该漏洞已经在android 4.2上修复了,即使用@JavascriptInterface代替addJavascriptInterface,但是由于兼容性和安全性问题,基本上我们不会再利用Android系统为我们提供的add
2017-06-28 08:29:14
1540
原创 Android 面试知识库
LearningNotes第一部分:Android(安卓)Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决Handler、Looper、Message、MessageQueue基础流程分析Android性能优化ListView详解RecyclerView和ListView的异同AsyncTask源码分析插件化技术自定义控件事件分发机制AN
2017-05-03 11:40:03
546
原创 android最详细Windows版本搭建安装React Native环境配置
1、安装Java这里需要注意对环境变量的设置,可以根据java -version来检测一下2、安装SDK这里需要注意设置环境变量ANDROID_HOME:Android SDK Manager的位置 例如:(ANDROID_HOME=> E:\Android\sdk)设置环境变量PATH:例如:(
2017-02-23 15:11:48
868
原创 Android-Ndk环境配置&转.h so文件的用法
1.前言什么是NDK?NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和Java应用一起打包成apk。NDK集成了交叉编译器(交叉编译器需要UNIX或Linux系统环境),并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编
2017-01-12 16:24:19
1184
原创 Android缓存机制Lrucache内存缓存和DiskLruCache磁盘缓存
Android中缓存的必要性:1、没有缓存的弊端:流量开销:对于客户端——服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量。加载速度:如果应用中图片加载速度很慢的话,那么用户体验会非常糟糕。那么如何处理好图片资源的获取和管理呢?异步下载+本地缓存2、缓存带来的好处:1. 服务器的压力大大减小
2016-12-08 15:55:27
4816
原创 android轻量级缓存框架ACache
ACache介绍:ACache类似于SharedPreferences,但是比SharedPreferences功能更加强大,SharedPreferences只能保存一些基本数据类型、Serializable、Bundle等数据,而Acache可以缓存如下数据:普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和
2016-12-08 15:44:08
648
原创 android之EditText实现动态显示隐藏密码输入框的内容(实用)
通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码,示例如下:private Button mBtnPassword; private EditText mEtPassword; private boolean mbDisplayFlg = false; /** Called when
2016-12-08 10:44:26
1384
原创 Android非常强大的第三方数据库LitePal
github地址:https://github.com/LitePalFramework/LitePal用过Android原生的数据库也知道,我们要写成千上百行的代码去配置自己的需求,这个是十分痛苦的事件。第三方的数据库用过greeDao,也是太繁琐,很多需求都需要自己去敲打。那么先来简单介绍一下吧,LitePal是一款开源的Android数据库框架,它采用了对象关系映
2016-11-30 17:02:43
4800
转载 关于Android的应用框架MVC/MVP/MVVM
作者:美团点评技术团队链接:https://zhuanlan.zhihu.com/p/23772285来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。概述说到Android MVVM,相信大家都会想到Google 2015年推出的DataBinding框架。然而两者的概念是不一样的,不能混为一谈。MVVM是一种架构模式,而DataBinding
2016-11-25 15:12:59
1137
转载 Android MVP模式 简单易懂的介绍方式
Android MVP PatternAndroid MVP 模式1 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP 模式的优势就充分显示出来了。导读:MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质
2016-11-10 09:57:06
410
转载 【腾讯Bugly干货分享】Android ListView 与 RecyclerView 对比浅析—缓存机制
作者:腾讯Bugly链接:https://zhuanlan.zhihu.com/p/23339185来源:知乎原文地址:Android ListView与RecyclerView对比浅析—缓存机制作者:黄宁源一,背景RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。最近,自己负责的业务
2016-11-09 08:18:14
1077
原创 android通过包名跳转到系统闹钟
主要是通过包名来跳转系统的闹钟这个在部分手机不可以跳转, //跳转系统闹钟// Intent alarmas = new Intent(AlarmClock.ACTION_SET_ALARM);// startActivity(alarmas);所以要使用通过包名来调用系统闹钟public c
2016-11-03 10:24:21
2971
原创 Android之ShareSDK第三方分享(不用申请ID)只限微信朋友圈跟QQ
首先可以先去MOB 官网下载开发文档 http://www.mob.com/#/进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具Windows下首先确定您已经安装了JDK,并且正确配置了JAVA_HOME和PATH系统变量,此时您可以双击
2016-11-01 19:07:54
3810
原创 Android软键盘弹出界面整体调整的问题
AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode="adjustPan" 键盘就会覆盖屏幕android:windowSoftInputMode="stateVisible|adjustResize" 屏幕整体上移
2016-10-31 10:13:42
473
转载 MVP架构下Android的Rxjava与Retrofit 结合
Rxjava与Retrofit 结合应该在项目上可以展现出很多的优势!本文纯属转载,方便大家有更多的学习!原文:http://gank.io/post/560e15be2dca930e00da1083#toc_1鉴于 RxJava 目前这种既火爆又神秘的现状,而我又在一年的使用过程中对 RxJava 有了一些理解,我决定写下这篇文章来对 RxJava 做一个相对详细的、
2016-10-27 21:48:04
959
转载 Android之事件分发和消费机制详细讲解
Android中提供了ViewGroup、View、Activity三个层次的Touch事件处理。处理过程是按照Touch事件从上到下传递,再按照是否消费的返回值,从下到上返回,即如果View的onTouchEvent返回false,将会向上传给它的parent的ViewGroup,如果ViewGroup不处理,将会一直向上返回到Activity。即隧道式向下分发,然后
2016-10-23 13:32:05
647
原创 Android之XML及PullParser解析
XML是一种通用的数据存储和交换格式,与平台无关,与编程语言无关,与操作系统无关。给数据集成和交互提供了极大的便利。将数据格式化成XML文件后,真正实现了数据跨平台的交互和共享。在不同语言中,xml的解析方式都一样。XML的解析: 对xml文件进行阅读和分析,提取出希望的数据和数据属性。在android开发中,将xml解析后,把数据放进List>集合中是我们的
2016-10-22 12:28:52
924
原创 Android之Intent及其七大属性
Intent基本介绍:1、Intent 用于封装程序的”调用意图“。两个Activity之间,可以把需要交换的数据封装成Bundle对象,然后使用Intent携带Bundle对象,实现两个Activity之间的数据交换;2、Intent还是各种应用程序组件之间通信的重要媒介。不管想启动一个Acitivity、Service还是BroadcastReceiver,Android均使用
2016-10-22 10:34:58
1293
原创 Android的Activity生命周期以及四种启动模式
Activity生命周期1、Activity一生中有七种不同的状态。onCreate()onStart()onResume()onPause()onStop()onRestart()onDestroy()【备注:】A、七个生命周期组合:onCreate、onStart、onResume:启动应用程序onPause、onStop:失去焦点onResta
2016-10-21 16:43:11
636
转载 android之ScrollView里嵌套ListView或GridView解决冲突
将SrollView传过来就完美的解决这个冲突了/** * Created by liangls on 2016/6/1. */public class MyGridView extends GridView { private ScrollView parentScrollView; public void setParentScrollView(Sc
2016-06-02 19:06:11
689
androidbluetooth.zip
2020-02-27
蓝牙配对BooleanTeethDemo.zip
2020-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人