自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Please select Android SDK 编辑配置入口出现红叉

1.问题: 今天开起AS,项目莫名奇妙编辑配置入口出现红叉。如下: 下意识的去AndroidManifest.xml里面看是不是我的入口设置有问题。发现<intent-filter>入口有,其他模块里面也没有添加。AS好像又开始抽风了。想了半天。build编译是正常的。Invalidate and Restart 也不管用。不管...

2019-06-27 20:22:18 337

原创 java.lang.UnsatisfiedLinkError: Couldn't load xxx from loader dalvik.system.PathClassLoader异常解决

在用人脸识别第三方库的时候所报的异常:错误日志如下:java.lang.UnsatisfiedLinkError: Couldn't load weibosdkcore from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.dk.dkweibo-2.apk"],nativeLibrar...

2018-10-30 18:54:02 1071 1

原创 JAVA的内存结构

大家知道Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。其中有些区域随着虚拟机进程的启动而存在,而有些区域则依赖用户线程的启动和结束而建立和销毁。在《深入理解java虚拟机》中描述了JVM运行时内存区域结构如下: 可见,运行时数据区被分为线程私有数据区和线程共享数据区两大类:线程私有数据区包含:程序...

2018-10-25 01:08:18 276

原创 JVM之内存模型

Java内存模型(Java Memory Model,JMM)了解内存模型之前,我们先理解物理计算机中的并发问题,两者有很高的可比性。为了平衡计算机的存储设备与处理器的运算速度之间几个数量级的差距,引入一层高速缓存(Cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行; 当运算结束后再从缓存同步回内存之中,而无须让处理器等待缓慢的内存读写。...

2018-10-25 00:00:05 257

原创 内存泄漏与内存溢出的原因及解决方案

什么是内存泄漏、内存溢出?内存泄漏(Memory leak):当一个对象不在使用了,本应该被垃圾回收器(JVM)回收,但是这个对象由于被其他正在使用的对象所持有,造成无法被回收的结果,通俗点就是系统把一定的内存值A借给程序,但是系统却收不回完整的A值,那就是内存泄漏。以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导...

2018-10-12 00:04:30 3224

原创 第三方集成---微信支付集成与使用

先来一波微信支付的流程图商户系统和微信支付系统主要交互说明:步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp...

2018-09-29 23:13:01 4091

原创 生成正式版SHA1 与打包APK

在第三方平台都申请key基本都需要SHA1,.SHA1分为debug版和release版。下面给出生成步骤。1.点击Build下的Generate Signed APK 2.点击 Greate new ,开始创建新的jks文件3.创建jks文件4.点击ok后生成jks文件后,在Terminal 框中 输入keytool -list -v -keystore    +...

2018-09-28 16:37:18 2254

原创 第三方集成---支付宝集成与使用

 先为大家上官方的链接:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&amp;tabId=4#ps-tabinfo-hash 1.先导入jar包。https://docs.open.alipay.com/54/104509/2.第二步:修改AndroidManifest.xml清单1)...

2018-09-28 11:47:38 515

原创 Android异步处理机制AsyncTask的理解

在Android中,由于主线程的诸多限制,像网络请求等一些耗时的操作我们必须在子线程中运行。我们往往会通过new Thread来开启一个子线程,待子线程操作完成以后通过Handler切换到主线程中运行。这么以来我们无法管理我们所创建的子线程,并且无限制的创建子线程,它们相互之间竞争,很有可能由于占用过多资源而导致死机或者OOM。所以在Java中为我们提供了线程池来管理我们所创建的线程。而Asy...

2018-09-04 02:04:15 1468

原创 Android源码系列之Handler篇(一)

 回应之前的博客,在今天空闲时间写一篇由源码深入理解Handler原理的文章。学习Android的小伙伴都知道Handler运行原理,消息数据存在Message中,由Handler的sendMessge方法将Message发送出去,之后这个消息会被存放于MessageQueue中等待被处理,然后由Looper把MessageQueue存在的消息取出来,通过回调dispatchMessage方法...

2018-09-03 16:18:36 1594

原创 引用百分比布局AutoLayout无显示报Failed to load Appcompat Actionbar with unknown error

问题描述:在引用百分比布局AutoLayout无显示报Failed to load Appcompat Actionbar with unknown error如下图加载带有未知错误的AppCompat ActionBar失败。一路小找,发现这布局与原标题冲突(同事引用时没这冲突,不知道其他人有没有)。以下是解决方案:找到项目的styles文件。将style属性DarkAc...

2018-08-30 14:29:11 238

原创 设计模式的三大分类及六大原则

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...

2018-08-20 00:47:11 26090 9

原创 Handler的理解、用法以及运行机制原理

一、Handler是什么?Handler在我们android开发中是一项非常重要的机制,那Handler是什么呢?Handler是android提供用于更新UI的一套机制,也是消息处理机制。 Handler的主要作用有两个: (1).在新启动的线程中发送消息 (2).在主线程中获取,处理消息。解释:(1) 当应用程序启动时...

2018-08-19 00:10:17 22685 11

原创 如何快速的将别人的项目跑到自己的Studio中

跑别人的android studio项目(假设为项目A)时,会遇到gradle不一致的情况,以下是解决方法: 1. 打开要导入的项目的目录,删除下图红框中的文件。(Studio导入项目,删除的带点文件会自动生成) 2. 找到自己以前在自己的android studio的任一项目(假设为项目B),在上图蓝框的对应位置用记事本打开build.gradle的文件,记住自己的gradle版本号...

2018-08-18 01:16:29 3641

原创 自制一个SharedPreferences工具类

SharedPreferences作为保存数据的一种方式,它的保存路径在data/data/你的包名/shared_prefs/保存的文件名.xml文件中。我们经常都会用到的,使用也非常的简单。但是他的存储类型太过于单一。所以才做成工具类,对他的功能进行扩展。话不多说,上代码。package com.example.gousheng.utils;import android.co...

2018-08-17 01:26:13 273

转载 java中的四种引用

1. 强引用(StrongReference) 强引用是使用最普遍的引用。是指创建一个对象并把这个对象赋给一个引用变量。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 Object object = new Object();  Ob...

2018-08-16 00:52:31 165

转载 常用正则表达式

额,别人总结的不错。偶尔借鉴一下,可以省不少时间。常用正则表达式大全!(例如:匹配中文、匹配html)      匹配中文字符的正则表达式: [u4e00-u9fa5]     评注:匹配中文还真是个头疼的事,有了这个表达式就好办了   匹配双字节字符(包括汉字在内):[^x00-xff]   评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)   匹配空...

2018-08-09 00:27:03 158

原创 TCP的三次握手与四次挥手

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement 确认)PSH(push传送)FIN(finish结束)RST(reset重置)URG(urgent紧急)先来张三次握手图第一次握手:建立连接时,客户端发送syn包(SY...

2018-08-02 02:19:26 173

原创 TCP和UDP的区别

TCP和UDP的区别:首先,两者都是传输层协议。区别一:TCP是面向连接的、可靠的的传输协议。UDP是无连接的网络传输协议。面向连接即在正式收发数据之前,双方必须建立可靠的连接。一个可靠TCP连接的简历需要3次“对话”,也就是我们常说的“三次握手”。这里不详述三次握手。然后断开需要“四次挥手”。UDP是面向非连接的,所以在源端与收端通信之前,不需要建立连接。当它想传送时就简单地去抓取来自应用程...

2018-08-02 01:32:50 912

原创 Android中的五种存储方式及其应用场景是什么?

1.SharedPreferences存储路径:(data/data/packagename/shares_prefs), 轻量级存储,以键值对的形式存储在xml中,一般用来保存应用中的设置属性2.文件存储 ;opSD卡存储多媒体文件, 文件缓存3. Sqlite数据库 存储路径:(data/data/packagename/databases), 一种嵌入式数据库,支持sql语言,存...

2018-08-01 01:33:51 3020

原创 面向对象的三大特性,五大原则

三个基本特征:封装,继承,多态;封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏,这就是封装。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程...

2018-08-01 01:20:44 415

原创 Android Studio R 文件丢失的几种常见情况及解决措施

1.当项目未编译时,产生的R文件丢失。这种情况下最好解决;只需要重新        clean project:         Build-&gt;Clean Project    或者点.击小锤子一下重新编译一下。 2.当你clean之后, Xml布局出错导致的R文件丢失,比如一些重要属性没设置;linearLayout 布局方向没添加;    加id的时候没写+号,没有在...

2018-07-31 09:28:06 5149

原创 http协议与soap协议之间的区别

http是标准超文本传输协议。使用对参数进行编码并将参数作为键值对传递,还使用关联的请求语义。每个协议都包含一系列HTTP请求标头及其他一些信息,定义客户端向服务器请求哪些内容,服务器用一系列HTTP响应标头和所请求的数据进行响应。HTTP-GET 使用 MIME 类型application/x-www-form-urlencoded(将追加到处理请求的服务器的 URL 中)以 URL 编码文本的...

2018-07-31 02:36:06 74720 4

转载 SIM卡中的ef文件介绍

SIM卡里的所有文件按树来组织:主文件MF(Master File)——每一块SIM卡只有一个唯一的主文件, 其他所有文件都是它的子孙, 主文件只有文件头,里面存放着整个SIM卡的控制和管理信息专用文件DF(Dedicated File)——也是只有一个文件头, 里面存放着整个目录的管理控制信息, 专用文件相当于一个目录的根.基本文件EF(Elementary File)——既有文件头,也有...

2018-07-31 01:53:17 2256

原创 EditText输入文字带下划线的效果

两种实现方式:一种代码引用&lt;EditTextandroid:id="@+id/et_name"android:layout_width="wrap_parent"android:layout_height="wrap_content"style="?android:attr/textViewStyle"android:hint="龙傲天" /&gt; et

2018-07-31 01:34:55 1452

原创 浅谈Service生命周期

  Service与Activity一样,是Android的四大组件之一。Activity是看得见的,而Service则是看不见的。看得见的Activity一般承担显示界面、控制的功能,而Service则承担后台任务。而Service与线程的区别在于,Service是Android的四大组件之一,所以系统不会轻易将其杀死。服务可有其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行...

2018-07-31 01:05:00 8682

转载 Fragment生命周期

先扒一张Fragment生命周期图过来光看图就知道与Activity生命运行周期差不多。具体讲下各个方法的作用吧onAttach():执行该方法时,Fragment与Activity已经完成绑定,该方法有一个Activity类型的参数,代表绑定的Activity,这时候你可以执行诸如mActivity = activity的操作。onCreate():初始化Fragment。可通过参数savedI...

2018-07-11 21:52:51 185

原创 Activity的四种启动模式

1. Standard模式(标准模式)可以在Activity标签中通过android:launchMode="standard" 来设置该模式。平时我们创建的Activity默认启动模式都是标准模式,这种模式的Activity特点是:不管你启动多少个activity实例,所有的实例都是按顺序加入到同一个栈中,按back键时会依次退出Activity并从任务栈的顶端依次销毁该实例。2. Sing...

2018-07-10 00:07:59 165

原创 Activity生命周期小结

Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态;2.当Activity失去了焦点但仍然对用于可见(如栈顶的Activity是透明的或者栈顶Activ...

2018-07-09 02:27:12 239

原创 百度地图的API Key 申请和使用时的权限

1.   http://developer.baidu.com/user/reg   申请开发者账号      2.   http://lbsyun.baidu.com/apiconsole/key  创建应用            需要SHA1 :            包名:xom.example. + 项目名            安全码:输入SHA1自动生成     ...

2018-07-05 01:29:07 37118 6

原创 ExpandableListView二级列表

ExpandableListView继承于ListView。ExpandableListView有如后特殊属性:android:childDivider=""(各组内成员之间的分隔条)android:childIndicator=""(各组内成员旁边的drawable对象)android:groupIndicator=""(分组项旁边的drawable对象)expandableListView...

2018-07-03 01:04:22 382

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除