Android 2017.11技术分享
AAAA_Roshen
学无止境!
展开
-
APP对网络状态变化进行全局提示
永远不要期望用户按照你预设的步骤操作 APP一个新项目刚刚开始推广工作,市场人员向我抱怨用户使用时总会出现各种各样的问题,大部分问题都是因为用户操作不当导致的,但是在用户眼中的结论就是“你们的 APP 不好用”。举一个例子,有的用户在使用时禁用了 APP 访问移动网络,或者有的用户干脆都没有打开移动数据开关或者 WIFI 开关。但是作为开发人员,我们应该避免用户思考,当用户使用出现问题...原创 2018-08-01 09:20:50 · 534 阅读 · 0 评论 -
Android 面试知识库
LearningNotes第一部分:Android(安卓)Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决Handler、Looper、Message、MessageQueue基础流程分析Android性能优化ListView详解RecyclerView和ListView的异同AsyncTask源码分析插件化技术自定义控件事件分发机制AN原创 2017-05-03 11:40:03 · 510 阅读 · 0 评论 -
Android JSBridge的原理与实现
在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异。大多数人都知道WebView存在一个漏洞,见WebView中接口隐患与手机挂马利用,虽然该漏洞已经在android 4.2上修复了,即使用@JavascriptInterface代替addJavascriptInterface,但是由于兼容性和安全性问题,基本上我们不会再利用Android系统为我们提供的add转载 2017-06-28 08:29:14 · 1491 阅读 · 0 评论 -
HTTPS 原理浅析及其在 Android 中的使用
1.HTTP协议的不足HTTP1.x在传输数据时,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份,存在的问题如下:通信使用明文(不加密),内容可能会被窃听;不验证通信方的身份,有可能遭遇伪装;无法证明报文的完整性,所以有可能已遭篡改;其实这些问题不仅在HTTP上出现,其他未加密的协议中也会存在这类问题。(1) 通信使用明文可能会被窃转载 2017-07-11 16:22:58 · 1091 阅读 · 0 评论 -
Android逆向之旅---Android中锁屏密码算法解析以及破解方案
一、前言最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机恶意样本。现在的锁机样本原理强制性太过于复杂,没意义。所以本文就先来介绍一下android中的锁屏密码算法原理。二、锁屏密码方式我们知道Android中现结单支持的锁转载 2017-07-19 10:54:54 · 2005 阅读 · 0 评论 -
WebView性能、体验分析与优化
在App开发中,内嵌WebView始终占有着一席之地。它能以较低的成本实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的封锁。然而便利性的同时,WebView的性能体验却备受质疑,导致很多客户端中需要动态更新等页面时不得不采用其他方案。以发展的眼光来看,功能的动态加载以及三端的融合将会是大趋势。那么如何克服WebView固有的问题呢?我们将从性能、内存消耗转载 2017-07-20 15:37:50 · 1630 阅读 · 0 评论 -
关于你认识的TCP
看过太多tcp相关文章,但是看完总是不过瘾,似懂非懂,反复考虑过后,我觉得是那些文章太过理论,看起来没有体感,所以吸收不了。 希望这篇文章能做到言简意赅,帮助大家透过案例来理解原理。tcp的特点这个大家基本都能说几句,面试的时候候选人也肯定会告诉你这些:三次握手四次挥手可靠连接丢包重传但是我只希望大家记住一个核心的:tcp是可以可靠传输协议,它的所有特点都为这个转载 2017-07-21 16:15:39 · 422 阅读 · 0 评论 -
Android蓝牙BLE的详细讲解
我今天分享的主题是 Android 上低功耗蓝牙的实践。这个主题比较小众。我在过去的一年多的时间里,主要是在做低功耗蓝牙相关的开发。接触过程中发现,BLE 的开发和通常的 Android APP 的开发有点不一样,这里需要访问硬件资源,而且涉及到一些协议相关的内容,而且这方面的资料也比较少。今天我从 Android 开发者的角度,来分享一下低功耗蓝牙开发实践。Slide 02今天分享的内容转载 2017-08-08 16:24:05 · 8634 阅读 · 0 评论 -
Android 高仿74款APP
Github搜索就有了-------------------------------------------------------------------------------------------------------------------------------------------WeChat高仿微信高仿微信,实现功能有: 好友之间文字聊天,表情,视频转载 2017-10-27 11:45:19 · 7629 阅读 · 2 评论 -
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 · 836 阅读 · 0 评论 -
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 · 1135 阅读 · 0 评论 -
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 · 668 阅读 · 1 评论 -
Android长连接神器框架Mina之服务器和客户端例子
一、概述 Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程原创 2018-04-27 15:46:19 · 1505 阅读 · 0 评论 -
Android ExoPlayer 简单实现播放本地视频
ExoPlayer的Github地址:https://github.com/google/ExoPlayer ExoPlayer是谷歌开源的媒体库,媒体库这个很重要,它可以像个jar包一样使用,升级神马的很是方便。 系统要求:Android 4.1(因为音视频组件依赖Android的 MediaCodec接口,API16)起步,考虑低版本使用就转载 2018-03-31 09:40:38 · 3295 阅读 · 1 评论 -
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 · 315 阅读 · 0 评论 -
Android非常强大的第三方数据库LitePal
github地址:https://github.com/LitePalFramework/LitePal用过Android原生的数据库也知道,我们要写成千上百行的代码去配置自己的需求,这个是十分痛苦的事件。第三方的数据库用过greeDao,也是太繁琐,很多需求都需要自己去敲打。那么先来简单介绍一下吧,LitePal是一款开源的Android数据库框架,它采用了对象关系映原创 2016-11-30 17:02:43 · 4771 阅读 · 0 评论 -
android之EditText实现动态显示隐藏密码输入框的内容(实用)
通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码,示例如下:private Button mBtnPassword; private EditText mEtPassword; private boolean mbDisplayFlg = false; /** Called when原创 2016-12-08 10:44:26 · 1346 阅读 · 0 评论 -
android轻量级缓存框架ACache
ACache介绍:ACache类似于SharedPreferences,但是比SharedPreferences功能更加强大,SharedPreferences只能保存一些基本数据类型、Serializable、Bundle等数据,而Acache可以缓存如下数据:普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和原创 2016-12-08 15:44:08 · 602 阅读 · 0 评论 -
Android缓存机制Lrucache内存缓存和DiskLruCache磁盘缓存
Android中缓存的必要性:1、没有缓存的弊端:流量开销:对于客户端——服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量。加载速度:如果应用中图片加载速度很慢的话,那么用户体验会非常糟糕。那么如何处理好图片资源的获取和管理呢?异步下载+本地缓存2、缓存带来的好处:1. 服务器的压力大大减小原创 2016-12-08 15:55:27 · 4745 阅读 · 1 评论 -
Android线程池框架下的线程池策略
线程的运行机制>* 开启线程过多,会消耗cpu>* 单核cpu,同一时刻只能处理一个线程,多核cpu同一时刻可以处理多个线程>* 操作系统为每个运行线程安排一定的CPU时间----`时间片`,系统通过一种循环的方式为线程提供时间片,线程在自己的时间内运行,因为时间相当短,多个线程频繁地发生切换,因此给用户的感觉就是好像多个线程同时运行一样,但是如果计算机有多个CPU,线程就能真正意义上原创 2016-10-27 18:30:52 · 2254 阅读 · 0 评论 -
Android之事件分发和消费机制详细讲解
Android中提供了ViewGroup、View、Activity三个层次的Touch事件处理。处理过程是按照Touch事件从上到下传递,再按照是否消费的返回值,从下到上返回,即如果View的onTouchEvent返回false,将会向上传给它的parent的ViewGroup,如果ViewGroup不处理,将会一直向上返回到Activity。即隧道式向下分发,然后转载 2016-10-23 13:32:05 · 612 阅读 · 0 评论 -
Android MVP模式 简单易懂的介绍方式
Android MVP PatternAndroid MVP 模式1 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP 模式的优势就充分显示出来了。导读:MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质转载 2016-11-10 09:57:06 · 381 阅读 · 0 评论 -
Android软键盘弹出界面整体调整的问题
AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode="adjustPan" 键盘就会覆盖屏幕android:windowSoftInputMode="stateVisible|adjustResize" 屏幕整体上移原创 2016-10-31 10:13:42 · 443 阅读 · 0 评论 -
MVP架构下Android的Rxjava与Retrofit 结合
Rxjava与Retrofit 结合应该在项目上可以展现出很多的优势!本文纯属转载,方便大家有更多的学习!原文:http://gank.io/post/560e15be2dca930e00da1083#toc_1鉴于 RxJava 目前这种既火爆又神秘的现状,而我又在一年的使用过程中对 RxJava 有了一些理解,我决定写下这篇文章来对 RxJava 做一个相对详细的、转载 2016-10-27 21:48:04 · 916 阅读 · 0 评论 -
android通过包名跳转到系统闹钟
主要是通过包名来跳转系统的闹钟这个在部分手机不可以跳转, //跳转系统闹钟// Intent alarmas = new Intent(AlarmClock.ACTION_SET_ALARM);// startActivity(alarmas);所以要使用通过包名来调用系统闹钟public c原创 2016-11-03 10:24:21 · 2881 阅读 · 0 评论 -
Android之XML及PullParser解析
XML是一种通用的数据存储和交换格式,与平台无关,与编程语言无关,与操作系统无关。给数据集成和交互提供了极大的便利。将数据格式化成XML文件后,真正实现了数据跨平台的交互和共享。在不同语言中,xml的解析方式都一样。XML的解析: 对xml文件进行阅读和分析,提取出希望的数据和数据属性。在android开发中,将xml解析后,把数据放进List>集合中是我们的原创 2016-10-22 12:28:52 · 874 阅读 · 0 评论 -
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 · 661 阅读 · 0 评论 -
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 · 3747 阅读 · 0 评论 -
【腾讯Bugly干货分享】Android ListView 与 RecyclerView 对比浅析—缓存机制
作者:腾讯Bugly链接:https://zhuanlan.zhihu.com/p/23339185来源:知乎原文地址:Android ListView与RecyclerView对比浅析—缓存机制作者:黄宁源一,背景RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。最近,自己负责的业务转载 2016-11-09 08:18:14 · 1046 阅读 · 0 评论 -
关于Android的应用框架MVC/MVP/MVVM
作者:美团点评技术团队链接:https://zhuanlan.zhihu.com/p/23772285来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。概述说到Android MVVM,相信大家都会想到Google 2015年推出的DataBinding框架。然而两者的概念是不一样的,不能混为一谈。MVVM是一种架构模式,而DataBinding转载 2016-11-25 15:12:59 · 1092 阅读 · 0 评论 -
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 · 595 阅读 · 0 评论