Android
大数据时代_yang
这个作者很懒,什么都没留下…
展开
-
Android小问题的处理
1.view事件的终止与向下分发与回朔总结:ViewGroup 想把自己分发给自己的onTouchEvent,需要拦截器onInterceptTouchEvent方法return true 把事件拦截下来。ViewGroup 的拦截器onInterceptTouchEvent 默认是不拦截的,所以return super.onInterceptTouchEvent()=return原创 2017-08-01 10:04:03 · 252 阅读 · 0 评论 -
获取的android手机的MAC地址
系统的android 6.0之后,对MAC地址的获取添加了权限,按照普通的方法获取如下:WifiManager wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;WifiInfo wifiInf = wifiMan.getConnectionInfo();return wifiInf.getMacA原创 2017-11-07 12:07:39 · 718 阅读 · 0 评论 -
android插件化开发activity篇
现在都使用过支付宝吧,支付宝里边有好多功能就是采用插件化开发的,例如支付宝里边的小黄车,小蓝车等功能,都是采用的插件化做的。一开始我认为是WebView做的,后来打开手机里的显示边框布局发现不是WebView,是原生的。他采用的是插件化加载第三方应用。采用插件化开发的好处有宿主app与插件进行分开编译;并发开发节约时间和成本;按需要下载模块,但是第一次加载比较慢。下边我们来讲解一下这个原创 2017-10-13 15:40:11 · 388 阅读 · 0 评论 -
setSupportActionBar(toolbar);导致出错的原因
是应为项目的主题样式与toolbar的主题样式与toolbar所在的activity的主题样式不一样所致的,只要将其修改一致即可style name="AppTheme" parent="Theme.AppCompat.Light"> item name="colorPrimary">@color/colorPrimaryitem> item name="col原创 2017-11-09 16:00:31 · 6066 阅读 · 1 评论 -
NDK重环境的搭建到书写demo
1.开发java我们需要下载JDK,开发JNI我们需要NDK开发包,所以我们要进行下载NDK开发包。首先打开AS,点击SDK manager。当下载完成之后点击应用即可。Demo实例之调用本地无参方法直接返回字符串代码写好后然后运行:你会发现在app/build/intermediates/cmake/debug下发现好多so原创 2017-10-17 14:50:14 · 165 阅读 · 0 评论 -
TBS(腾讯浏览器服务)
TBS介绍:正如官网所言,依托 X5 内核强大的能力,TBS 致力于提供优化移动端浏览体验的整套解决方案。TBS 虽然核心在于提供一套 SDK 解决传统 WebView 的诸多使用问题。但是,利用其增强浏览能力,我们还能够使用这套 SDK 实现应用内的文件浏览功能、视频播放功能等。更多详细功能,可以参考官网介绍:https://x5.tencent.com/tbs/index.htmlTB原创 2017-11-21 12:29:28 · 2677 阅读 · 0 评论 -
fragment多层切套fragment出现试图不显示的原因
问题描述:项目中经常使用fragment 上方viewpager,viewpager在放fragment的做法。但是这样有个问题:第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,数据丢失。上面是布局,其中菜单A和B是DrawerLayout中的两个菜单,共用一个FragmentA,在每个菜单里面又有两个菜单——菜单a和菜单b,a和b共用一个Fra原创 2017-11-21 14:19:27 · 1737 阅读 · 0 评论 -
error: style attribute '@android:attr/windowEnterAnimation' not found.
在Project/gradle.properties中添加 android.enableAapt2=false转载 2017-12-01 14:18:44 · 1095 阅读 · 0 评论 -
使用过时的HttpClient
在android studio中使用 HttpClient会报,找不到这个类,这是谷歌已经将这一套网络请求废弃掉了。如果你想用早model的build.gradle 下添加useLibrary'org.apache.http.legacy'android { useLibrary 'org.apache.http.legacy'}原创 2017-12-01 15:10:47 · 713 阅读 · 0 评论 -
activity的生命周期
1.典型情况下的生命周期(A activity 和 B activity):1)针对特定的activity第一次启动会执行的方法是 onCreate -> onStart -> onResume2)当用户启动新的activity时或者按下home键,回调的方法是 onPause -> onStop特殊情况是下,如果新的activity是透明的activity那么旧的activity不会执行原创 2017-12-03 17:07:27 · 168 阅读 · 0 评论 -
Android开发多进程(一)
1.如何创建多进程在四大组件后边添加 Android:process属性,属性值有两种写法,第一种 :XXXX(例如 :name) 第二种写法:包名.XXXX(例如 com.muhe.name);这两中的写法是有区别的,第一种创建的进程,属于该应用的私有进程,其他应用不可以访问,第二种创建的公有进程,其他的应用也可以访问。2.多进程的会造成的几个问题1)创建的静态变量和单利模式会完全的原创 2017-12-06 15:42:15 · 276 阅读 · 0 评论 -
开发过程中的加解密
1.加密算法分为:可逆加密对称加密:DES,3DES,AES,PBE非对称加密:RSA,DSA,ECC不可逆加密(单向加密):MD5,SHA,HMAC2.密钥的介绍:对称加密:将明文(密文)连同密钥放入相应的加密(或加密容器),即可得到密文或者明文,实现加解密。在对称加密中密钥必须是相同的才可以实现加解密。这样是不安全的,如果在保存和传递的过程中黑客将密钥获取到,就可以转载 2017-09-25 10:44:20 · 369 阅读 · 0 评论 -
CharSequence和String的区别
首先,CharSequence是一个接口,用于表示有序的字符集合,并提供了一些基本的操作方法。String StringBuffer StringBuilder都实现了CharSequence这个接口。CharSequence:接口,表示有序的字符集合String:常量,不可变BufferString:可变,效率高StringBuilder:原创 2017-08-15 11:54:32 · 1411 阅读 · 0 评论 -
Android中图片的三级缓存
1.咱们先说说为什么要使用图片的三级缓存机制移动端app显示的图片还是蛮多的,如应用商场商品的图片。如果不进行三级缓存机制的处理,对用户来说是一个很大的损失,现在数据流量还是蛮贵的。2.什么是三级缓存机制网络缓存:不优先加载,加载慢,费流量本地缓存:次优先加载, 加载速度快内存缓存:优先加载,加载的速度超快。当访问网络的时候,首先要判断内存里是否有 这个缓存如果有就加载显示原创 2017-08-01 10:50:02 · 372 阅读 · 0 评论 -
Activity的缓存方法
A,B两个activity,A启动B一段时间后,系统可能会把A回收掉,按返回键,A不会走onRestart,而是走oncreate。A会重新被创建,这时候A中的临时数据与状态会丢失。可以用Activity中的onSaveInstanceState()回调方法保存临时数据和状态,这个方法一定会在活动被回收之前调用。方法中有一个Bundle参数,putString()、putInt()等方法需原创 2017-08-01 15:20:41 · 1143 阅读 · 0 评论 -
在Service创建子线程的好处
activity很难对thread进行控制,当activity销毁掉就没有办法找到之前控制的线程,而且其他activity没有办法操作此activity,而在service创建线程,应用中的每个activity都可以对其进行操作,即使activity销毁掉,在与server进行关联又可以操作之前的线程。这样service处理后台任务,activity可以放心的finish了。完 全不用担心失去对线原创 2017-08-01 15:40:50 · 1431 阅读 · 0 评论 -
Service包活的几中方法
1.Service设置成START_STICKY 当应用被杀手后会被重启,重传intent,这样起来的service和之前的service是一样的。2.提升service的优先级优先级可以设置成10000,优先级越大,存活率越高。优先级最大为10000.3.设置service的进程优先级使用startForeground()将service放到前台状态。这样在低内存时被kill原创 2017-08-01 16:18:09 · 1451 阅读 · 0 评论 -
关于java.lang.SecurityException Unable to start service Intent异常问题
该异常表示不能启动service intent。[解决方案]:导致该问题的原因可能与解决办法如下:1.manifest中未声明service的权限,这种情况下需要在manifest中声明service;2.服务中设有签名保护,尝试调用服务的app签名与服务签名不一致,这种情况下需要卸载掉service和app,重启新的service和app;3.由于coloros的OPPO手机自动熄屏一段原创 2017-08-09 09:22:43 · 3203 阅读 · 0 评论 -
事件分发核心要点
事件分发原理: 责任链模式,事件层层传递,直到被消费。View 的 dispatchTouchEvent 主要用于调度自身的监听器和 onTouchEvent。View的事件的调度顺序是 onTouchListener > onTouchEvent > onLongClickListener > onClickListener 。不论 View 自身是否注册点击事件,只要 View 是可点击的就会转载 2017-08-16 16:37:03 · 306 阅读 · 0 评论 -
自定义控件MeasureSpecs与measure的理解
MeasureSpace 是android中父view传递给子view的用来描述对子 view布局需求的数据类型,也就是说父布局把它希view的大小以及变化的尺度分装在这个类里,而子view的measure()方法拿到这个数值,则会根据这个数值对自身进行测量。1.UNSPECIFIED :父试图不对子试图有任何的约束,它可以达到这几所需要的尺寸大小,例如:ListView,ScrollVi原创 2017-08-02 14:56:55 · 2715 阅读 · 0 评论 -
android运行时权限的管理
知识点来源于:http://ljuns.cn/2017/06/23/Android-6-0-%E8%BF%90%E8%A1%8C%E6%97%B6%E6%9D%83%E9%99%90%E6%B5%85%E6%9E%90/转载 2017-08-17 16:58:33 · 165 阅读 · 0 评论 -
android中static的使用注意
1."service和activity通信,直接用static变量传递信息,这样看似不是很规范"在同一个App内可以使用static变量共享这种方式,google更推荐使用使用Application子类进行信息共享,但是跨App访问Service不可以,因为Android应用基于Linux的进程,不同进程间内存空间是隔离的,正确且google推荐的的方式是使用AIDL/IPC2.关原创 2017-08-17 20:59:02 · 686 阅读 · 0 评论 -
CoordinatorLayout中的大坑
首先来看看布局文件的代码:xml version="1.0" encoding="utf-8"?>android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.and原创 2017-08-04 11:42:37 · 661 阅读 · 0 评论 -
关于导入依赖出现的Failed to resolve*******的解决办法
当你导入库时例如:点击同步有时会出现:解决办法在根目录的gradle文件下加入maven { url 'https://jitpack.io'}原创 2018-11-14 15:57:32 · 19601 阅读 · 4 评论