- 博客(53)
- 收藏
- 关注
原创 字符编码之ASCII码、Unicode、UTF-8的关系和区别
实际开发中常用UTF-8编码格式,但实际上对各个编码之间的关系和区别还是不清楚,毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。
2017-07-30 18:12:15 4256 2
原创 CMake基本配置与注意事项
CMake基本配置与注意事项文章目录CMake基本配置与注意事项CMake了解CMake基本配置注意事项(6.0前后的):Android.mkCMakeCMake了解 在android studio 2.2及以上,构建原生库的默认工具是 CMake。 CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件。Cmake 并不直接建构出最终的软件,而是产生其他工具的脚本(如Makefile ),然后再依这个工具的构
2020-06-28 16:58:26 5873
原创 DNK基础之静态库、动态库、编译流程
DNK基础之静态库、动态库、编译流程区分DNK和JNI的概念DNK:Android Native Development Kit 一套允许使用原生代码语言C/C++,实现部分应用的工具集。包含Android平台的交叉编译器,包含Android平台可用的静、动态库。 C/C++与Java通过JNI交互。JNI:是一套本地编程接口。它允许运行在JAVA虚拟机中的JAVA代码和用其他编程语言,诸如C语言、C++、汇编,写的应用和库之间的交互操作。编译器 gcc/g++/clang了解c/c++编译器
2020-06-24 17:54:02 1313
原创 Android中JNI编程基础
JNI编程基础JNI数据类型JNIEXPORT 和 JNICALL,定义在jni_md.h头文件中。JNIEXPORT: 在 Windows 中,定义为__declspec(dllexport)。因为Windows编译 dll 动态库规定,如果动态库中的函数要被外部调用,需要在函数声明中添加此标识,表示将该函数导出在外部可以调用。 在 Linux/Unix/Mac os/Android 这种 Like Unix系统中,定义为__attribute__ ((visibility ("defau
2020-06-24 15:58:45 522
原创 IOC注入框架的手写实现
Ioc注入框架的手写实现目的:自己手写是为了进一步加深Android种IOC注入实现的理解,例如Android Annotations,ButterKnife,Dagger等开源库都有体现。loC的核心是解耦在Spring中IoC更多的是依靠xml的配置而Android上的IoC框架可以不使用xml配置布局注入思路获得类>布局注解>注解的值>获取指定方法>执行方法Class<? extends Activity> clazz = activity.getCl
2020-06-24 15:01:17 313 1
原创 仿写系统AIDL框架 学习Binder机制
仿写系统AIDL框架 学习Binder机制目的:通过仿写AIDL加深对Android应用层和Framework层中应用的Binder机制的理解。AIDL(Android接口定义语言)是一种框架,对Binder的封装。帮助我们方便的去使用Binder。如果直接用Binder需要写很多代码,采用AIDL可能只需要几行。就能完成跨进程通讯。Binder是什么?从IPC角度: Binder是Android中的一种跨进程通信方式。从Android Driver层:Binder还可以理解为一种虚拟的物理设备,
2020-06-24 14:58:07 239
原创 手写简化版Handler消息机制流程
手写简化版Handler消息机制流程ThreadLocal工作原理ThreadLocal 是一个线程内部的数据存储类。不同的线程访问同一个ThreadLocal,不管是调用它的set还是get方法,它们对ThreadLocal的读写操作仅限于各自线程内部在Handler中用它来存储Looper来保证它在线程中的唯一性//ThreadLocal 线程内部的存储类 final ThreadLocal<String> threadLocal = new ThreadLocal<S
2020-06-24 14:55:23 303
原创 layout_gravity和gravity的区别
属性效果: layout_gravity 表示组件自身在父组件中的位置 gravity 表示组件的子组件在组件中的位置使用注意事项: 1、当作为父layout的LinearLayout的属性为androidrientation=”vertical” 的时候,android:layout_gravity=”?” 这里设为横向的时候才能生效。比如:left,r
2018-01-10 09:50:56 691
转载 透析Android 中 权重使用及分配规则(layout_weight)
转载注明:http://blog.csdn.net/itermeng/article/details/52159997平常我们在使用线性布局LinearLayout的时候,会用到权重layout_weight,将控件的宽度(或高度)设为0,再设置它的权重即可,控件呈现呈现出的大小与权重比例相吻合。方法简单,自是没有什么好说的,可是你们有想过将控件的宽和高全部设置,再去设置权
2018-01-09 17:02:33 1712 2
转载 Android中WebView使用漏洞详解
转载自 http://blog.csdn.net/carson_ho/article/details/64904635目录1. 类型WebView中,主要漏洞有三类:任意代码执行漏洞密码明文存储漏洞域控制不严格漏洞2. 具体分析2.1 WebView 任意代码执行漏洞出现该漏洞的原因有三个:WebV
2017-12-13 17:46:11 377
转载 Android中WebView与JS交互方式详解
转载自http://blog.csdn.net/carson_ho/article/details/64904691EvaluateJavascript() 是如何工作的? 参考:http://www.itstrike.cn/Question/7923bcc6-2810-491f-998c-fe9af061272a.html目录1. 交互方式总结
2017-12-13 17:03:31 556
转载 Android中WebView的缓存机制 & 资源预加载方案
转载自http://blog.csdn.net/carson_ho/article/details/71402764前言由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发但我知道你一定在烦恼 Android Webview 的性能问题,特别突出的是:加载速度慢 & 消耗流量今天
2017-12-12 11:26:18 1523
转载 Android中WebView使用详解
转载自 http://blog.csdn.net/carson_ho/article/details/526933221. 简介WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。2. 作用显示和渲染Web页面直接使
2017-12-11 19:37:40 452
转载 同步异步以及阻塞和非阻塞的区别
一、同步与异步的区别:同步和异步的理解同步:一个服务的完成需要依赖其他服务时,只有等待被依赖的服务完成后,才算完成,这是一种可靠的服务序列。要么成功都成功,失败都失败,服务的状态可以保持一致。异步:一个服务的完成需要依赖其他服务时,只通知其他依赖服务开始执行,而不需要等待被依赖的服务完成,此时该服务就算完成了。被依赖的服务是否最终完成无法确定,一次它是一个不可靠的服务序列。消息通知中的同步和异步:同
2017-12-06 17:19:04 2867 1
原创 Android图片处理(二)
通过前一篇Android中大图片处理(一)博客内容我们了解到图片在Andriod中的存在形式,这篇博客着重介绍图片内存缓存。内存缓存:集合存对象1.内存缓存的核心操作:存:就有很多的考虑取:唯一索引性2.选择什么样的存储结构?map< String,Bitmap >3.三种引用级别什么意思?强引用:我们平时使用的集合(arraylist,hashmap,hashset),即使内存oom
2017-12-06 16:57:36 213
原创 Android图片处理(一)
大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。图片来说更是OOM (OutOfMemoryError)的常见引发者,例如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。Android中图片的存在形式1:文件形式:二进制形式存在与硬盘中。 2:流的形式:二进制形式存在与
2017-12-06 16:54:35 468
原创 Android中UI线程(主线程)和子线程间的通讯方式比较
通过上一篇文章我们知道在UI线程中更新UI,在子线程中执行耗时操作。这篇文章记录下那么主线程和子线程之间消息处理的多种方式,更多的是对比它们的区别。
2017-12-06 16:40:13 11788 1
原创 Android中为什么主线程更新UI,子线程执行耗时操作?
Android主线程是线程不安全的?网上文章常常有说:Android主线程是线程不安全的。我就纳闷了,线程还有安全一说? 不能说主线程是线程不安全。线程没有安全不安全这一说。而是更新UI的方法不是线程安全的,即只能在单线程中完成UI的更新,不能使用多线程。(为什么呢?因为子线程可能会有多个,存在多个线程同时操作一个控件的情况,而Andoid UI toolkit并不是线程安全的)因此,只能在主线程
2017-12-05 15:16:26 5798
原创 Android中的进程了解
Android进程基本知识当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。 我们可以将一些组件运行在其他进程中,组件运行在哪个进程中是在manifest文件里设置的,其中,,和都有一个process属性来指定该组件运行在哪个进程之中。我们可以设置这个属性,使得每个组件运行在它们自己的进程中,或是几个组件共同享
2017-12-04 10:51:02 361
原创 Android Studio中编码问题(出现中文乱码)
Android Studio中setting中选择File Encodings:如下图所示这里面主要有4块区域需要注意:IDE Encoding:ide 的编码 Project Encoding:项目的编码 File or DirectorEncoding:各个文件或者目录的编码 Property File Encoding:属性文件的编码
2017-09-30 16:08:08 4129
原创 Android Studio中下载了源码却关联不上源码
问题: AS提示: Decompiled .class file, bytecode version: Souces for android api 23(xx) platform not found分析: 原来是AS的默认配置有问题
2017-09-30 15:56:55 992 1
原创 Android SDK工具介绍
Android SDK包含了许多可以帮助你开发Android平台应用的工具。这些工具分为两类:一是SDK工具;二是平台工具。SDK工具独立于平台,任何开发Android应用的平台都需要配置。平台工具是定制的适应最新的Android平台特性。
2017-09-30 15:49:29 3080
转载 Android Studio主题设置、颜色背景配置
color-themes效果展示打开http://color-themes.com/有很多样式可供选择 1. Monokai Sublime Text 3(color theme) 2. Solarized Light (color theme) 3. Visual Studio 2015 Dark(color theme) 导入方式下载
2017-09-11 09:29:12 1820 1
转载 Android ListView setEmptyView
当我们使用ListView或GridView的时候,当列表为空的时候,我们需要一个特殊的View来提示用户操作,于是就有了setEmptyView().下面看看如何使用:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
2017-08-09 00:01:21 356
原创 Installation failed with message Failed to establish session
错误: 小米系列手机调试, 用Android studio 2.3部署程序时提示“Installation failed with message Failed to establish session”错误,解决方案: 需要在在开发者选项里关闭MIUI优化,重启手机!
2017-08-07 20:47:53 292
转载 Intellij Idea&Android Studio中iml文件、modules.xml文件作用
iml文件是所有IntelliJ IDEA都会自动生成的一个文件,(Android Studio是基于IntelliJ IDEA开发的),iml是 intellij idea的工程配置文件,里面是当前projec的一些配置信息原文地址:http://blog.csdn.NET/zhangbuzhangbu/article/details/52237286 最早使用Android Studio的时候
2017-08-07 14:48:41 3105
原创 Android中Log的重要性
Log的重要性Log是理解程序,分析程序Bug的神兵利器。 在软件项目的各个阶段中,最能凸显Log作用的是BugFix阶段。测试人员在发现bug后首先要做的就是截取日志供开发来定位解决bug。其次是在编码并测试功能阶段,开发完成代码后会自己测试一下,看是否实现其功能,log写好就不怕程序出bug了。要把log写好,写全面,以避免无意义的浪费。
2017-07-30 18:21:34 1473
原创 android:clipToPadding属性的用法
属性说明在使用ListView或者RecycleView、ScrollView等滑动控件时候有一个强大但隐秘的属性,在android的布局XML文件中,android:clipToPadding=“boolean”,该属性值可设为true或者false。表示控件的绘制区域是否在padding里面的
2017-07-25 10:58:23 6879
原创 Android SDK下的各目录介绍
前言对Android开发者而言,Android SDK 一定是会用到的,但是很多人对里面各个文件夹的了解却并不多,所以我来总结一下。希望对大家了解Android SDK有帮助。
2017-06-24 18:44:15 12152
原创 Android Support兼容包(兼容问题总结)
前言构建一个可以跑在不同版本 Android 平台的软件,是非常复杂和耗时的。为了解决这个问题,Android 推出了 Android Support Library (安卓兼容包),让新的UI控件也可以跑在早期的 Android 版本。
2017-06-24 18:12:55 1945
原创 Android主题Theme的了解
Android主题Theme的了解 很多时候可能针对Android下主题的操作并不是很多,因为要实现一些效果,主题的实现方式只是其中一种,很多情况下都可以在代码或者布局中直接操作。但是对于Android5.0之后出来的很多新特性都很灵活的运用的主题,同时了解好主题的运用,也有利于简化代码,避免重复代码的出现。
2017-06-24 17:53:15 626
原创 Android应用签名、打包实际操作
Android应用apk签名打包 注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行。签名就代表着自己的身份(即keystore),多个app可以使用同一个签名。
2017-06-10 00:24:16 3129
原创 Android状态栏和导航栏透明和沉浸式模式
最近在App上需要对状态栏进行相关的设置,在网上看了些文章,像郭神的沉浸式那篇博客对我启发蛮大,但是对状态栏的设置,包括隐藏,透明,颜色设置等,并没有比较系统的概念,实现方式不止一种,有操作Window属性的方式,也有操作decorView.setSystemUiVisibility方法来控制系统UI的方式。但是这些方式有什么区别,以及如何具体操作,所以写这篇博客总结学习一下。
2017-05-10 22:47:57 16150 2
原创 android:fitsSystemWindows属性的用法
Android中fitsSystemWindows属性的用法总结 fitsSystemWindows属性是我在学习沉浸式模式时候涉及到的一个知识点,因为涉及到Android不同版本间的区别,所以当时也是云里雾里的,所以今天特意整理一下这个属性。
2017-05-08 23:32:56 15980 3
原创 Error:Could not run build action using Gradle installation
错误内容: Error:Could not run build action using Gradle installation ‘D:\AndroidStudio\AS2.x\gradle\gradle-3.3’.
2017-05-08 21:37:04 26275
原创 android:clipChildren属性的用法
Android中clipChildren属性的用法总结 android:clipChildren这个属性使用的频率并不高,但是在有些需求下,这个属性效果还是很不错的。只不过这个属性的名字和意思初次看到会有点蒙,所以对这个属性做个学习性总结。
2017-05-08 15:11:56 1246
原创 Manifest merger failed with multiple errors, see logs
因为多人开发的原因,有人将AndroidManifest.xml中 application 标签下的内容修改并提交了,导致其他人编译出现Manifest merger failed with multiple errors, see logs问题
2017-05-07 19:00:37 263
原创 finished with non-zero exit value 2
Android studio 编译问题: finished with non-zero exit value 2 合作开发,一个星期没有更新代码了,已更新编译就出现这个问题,不知道别人提交了多少东西,导致出现这个问题。
2017-05-07 18:50:32 504
原创 finished with non-zero exit value 1
Android studio 编译问题:finished with non-zero exit value 1(由于导入的依赖出现重复造成的)
2017-05-07 18:46:05 9123 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人