自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tuke_tuke的博客

在该奋斗的年龄不要选择安逸!

原创 FFmpeg4.1编译:mac+android-ndk-14b+ffmpeg4.1成功编译

一,下载FFmpeg4.1 使用源码: git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 下载到你向的目录下,我是新建了一个文件夹buildffmpeg/ffmpeg,放在这个下面。 然后`cd ffmpeg`进入ffmpeg 使...

2019-08-13 15:01:15 192 0

原创 Android踩坑日记:android7.0动态相机权限

前提: 项目中使用的动态权限开源库github:https://github.com/yanzhenjie/AndPermission。 转载必须注明本文转自严振杰的博客:http://blog.csdn.net/yanzhenjie1003 添加依赖: compile 'com.y...

2017-12-22 12:31:12 21140 5

原创 Android踩坑日记:Android动态权限分析和解决方案

关于运行时权限  在旧的权限管理系统中,权限仅仅在APP安装时询问一次,用户同意了这些权限App才能安装,APP一旦安装后就可以偷偷做很多不为人知的事情。 我们知道从Android6.0开始,App可以直接安装,在运行时需要用到权限的地方,会一个一个询问用户授予权限,比如照相,写SD卡,读联系人等...

2017-11-18 16:31:42 4041 1

原创 Android踩坑日记:FloatingActionButton的设置大小问题

FloatingActionButton(FAB) 是 Android 5.0 新特性——Material Design 中的一个控件,是一种悬浮的按钮。FloatingActionButton 是 ImageView 的子类,因此它具备ImageView的全部属性基本使用 1,需要在gradle...

2017-10-24 19:54:18 19715 4

原创 Android踩坑日记:使用Fesco图片加载库在GridView上的卡顿优化

1,fresco是一个强大的图片加载库 2,fresco设计了一个叫做image pipeline(图片管道)的模块,它负责从从网络,从本地文件系统,从本地资源加载图片,为了最大限度节约资源和cpu时间,它设计了3级缓存(2级内存,1级文件) 3,fresco设计了一个叫做drawee...

2017-10-21 11:44:12 1176 0

原创 Android踩坑日记:点击变暗效果的ImageView实现原理

很多时候我们使用ImagView显示图片,无论是Gilde,Fresco等图片显示框架,比如设置中心更换头像,网格相册点击预览,选择等情况,会遇到点击变暗的交互需求。源码分析     我们想的办法是自定义一个ImageView,当点击图片时,是不是有回调方法来同时改变图片的滤镜或者蒙版等。  ...

2017-10-21 10:00:57 1267 0

原创 Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片

EditText设置监听软键盘删除键(或enter) 一般使用方法 edittext.setOnKeyListener(new View.OnKeyListener(){ @Override public boolean onKey(View v, int keyCode, Key...

2017-10-13 10:43:35 536 0

原创 Android踩坑日记:RecyclerView中EditText和ImageView的ViewHolder复用坑

RecyclerView中EditText和ImageView的ViewHolder复用坑 RecyclerView作为ListView的升级版,目前来讲讲开发过程遇到的坑。RecyclerView 中使用 EditText 滚动后数据消失,错乱 场景:RecyclerView中的每个Ite...

2017-09-20 19:46:36 2880 0

原创 Android踩坑日记:自定义水平和圆形ProgressBar样式

自定义水平和圆形ProgressBar样式1.自定义水平ProgressBar样式 ProgressBar分为两种,我们能明确看到进度,不确定的就是不清楚、不确定一个操作需要多长时间来完成,这个时候就需要用的不确定的ProgressBar了。 ProgressBar(Horizont...

2017-09-20 16:02:55 4245 0

原创 Android踩坑日记:Okhttp设置User-Agent你可能没遇到的坑

Okhttp设置User-Agent你可能没遇到的坑Okhttp走的并不是原生的http请求,因此他在header里面并没有真正的User-Agent,而是”okhttp/版本号”这样的字符串,因此后台需要统计信息,要求传入正确的User-Agent,那么我们如何User-Agent并设置给Okh...

2017-09-20 14:45:32 4658 0

原创 Android踩坑日记:Android字体属性及测量(FontMetrics)

Android字体属性及测量(FontMetrics) 字体的几个参数,以Android API文档定义为尊,见下图 要点如下: 基准点是baseline Ascent是baseline之上至字符最高处的距离 Descent是baseline之下至字符最低处的距离 Leading文档说的很含糊,其...

2017-09-20 14:17:45 1429 0

转载 android如何查看手机中的db文件,查看sqlite数据库的表结构

http://blog.csdn.net/u011835956/article/details/52368829?_t_t_t=0.11742158210836351

2017-07-04 13:45:55 6880 0

原创 Android自定义ViewGroup的OnMeasure和onLayout详解

前一篇文章主要讲了自定义View为什么要重载onMeasure()方法http://blog.csdn.net/tuke_tuke/article/details/73302595 那么,自定义ViewGroup又都有哪些方法需要重载或者实现呢 ? Android开发中,对于自定义View,分为...

2017-06-17 15:16:11 5499 0

原创 Andoid自定义View的OnMeasure详解和自定义属性

Android开发中偶尔会用到自定义View,一般情况下,自定义View都需要继承View类的onMeasure方法,那么,为什么要继承onMeasure()函数呢?什么情况下要继承onMeasure()?系统默认的onMeasure()函数行为是怎样的 ?本文就探究探究这些问题。这篇文章获取可以...

2017-06-15 22:20:26 4824 2

原创 Android Studio新建类头部注释和添加函数注释模板及快捷键

一,Android Studio新建类头部注释 是不是有时候看到这个很心烦 其实Studio中有设置修改这些注释模板的信息的功能 其实很简单,只需要两步: 1.打开Setting设置面板,找到File and Code Templates,选择Includes下的File Header...

2017-06-15 18:44:15 36801 1

原创 什么时候用抽象?什么时候用接口?

对于抽象类以及接口的概念,大家都容易把这两者搞混,其实我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料。 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物...

2017-06-15 10:23:16 1704 1

原创 Android系统主题总结和使用

一,Android主题的发展过程 1,在Android3.0之前,Android的界面不论是从系统还是空间的主题都是按钮为白色,点击事件为黄色。现在看来很简陋。 2,Holo主题:Android3.0 (API11)开始,Google推出了Holo主题(就是我们印象中的黑底白字蓝主色的主题)。...

2017-06-13 20:14:07 4680 3

转载 AndroidStudio项目提交(更新)到github最详细步骤

在使用studio开发的项目过程中有时候我们想将项目发布到github上,以前都是用一种比较麻烦的方式(cmd)进行提交,最近发现studio其实是自带这种功能的,终于可以摆脱命令行了。 因为自己也没有做很深的研究,这里就先分享一下通过studio将自己的项目上传到github上的步骤。...

2017-06-09 20:35:33 245 0

原创 Android Studio的Gradle常用命令配置和依赖管理

一,gradlew常用命令 ./gradlew -v 版本号 ./gradlew clean 清除工程目录下的build文件夹 ./gradlew build 检查依赖并编译打包这里注意的是 ./gradlew build 命令把debug、release环境的包都打出来,如果正式发布只需要打Re...

2017-06-09 20:11:19 1097 1

原创 Android Studio目录结构和Gradle构建Android项目

一,Android Studio的目录结构和工程项目介绍 二,Eclipse工程与Android Studio工程的区别     1,Eclipse工程能导入AS运行,但AS建立的工程不能再Eclipse中运行。      2,工程结构不一样,在Eclipse中的一个Project就代表一个项...

2017-06-09 14:24:06 1768 0

转载 Android Studio的gradle项目构建

【声明】  欢迎转载,但请保留文章原始出处→_→  生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4456420.html   【系列】 第一次使用And...

2017-06-08 17:15:47 709 0

转载 海量数据处理-Trie树

http://blog.csdn.net/beiyeqingteng/article/details/6981263 http://blog.csdn.net/zmazon/article/details/8227610# 关注Trie 这种结构已经很久,Trie有一个很有趣的用途,那...

2016-09-23 11:00:44 819 0

原创 寻找数组中最小的k个数(快排和堆排)

题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 思路1:利用快排的思想,寻找第k个位置上正确的数,k位置前面的数即是比k位置小的数组,k后面的数即是比k位置元素大的数组 public Array...

2016-09-19 18:48:11 453 0

原创 报数字游戏

题目: 17个人围成一个圈,编号为1-17,从第一号开始报数,报到3的倍数的人离开,一直数下去直到最后剩下一个人,此人的编号是多少,请编程输出结果。 import java.util.ArrayList; import java.util.Arrays; import java.uti...

2016-09-19 18:26:42 895 0

原创 在浏览器输入一个网址,按回车之后发生了什么?

详细参考网址:http://www.cnblogs.com/wenanry/archive/2010/02/25/1673368.html 这个问题涉及到浏览器、网络、服务器三者之间的一系列行为,希望能为大家阐述下自己的理解: 首先,当我们输入一个网址的时候,这个网址例如www.baidu...

2016-09-18 22:21:38 1414 0

原创 Java集合中HashSet的实现原理

1.HashSet概述:   HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中...

2016-08-27 10:36:11 833 0

转载 HTTPS和HTTP的区别

什么是 HTTPS? HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。 你也可以说:HTTPS = HTTP + SSL HTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。 ...

2016-08-26 20:28:44 542 0

原创 Android之内存管理-内存监测-内存优化

推荐文章:Android进程与内存及内存泄漏 Android之内存管理 1.1 Dalvik Dalvik虚拟机是Android程序的虚拟机,是Android中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格式——dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全...

2016-08-25 20:12:51 1167 0

原创 Android的内存优化的几种方案

相信一步步走过来的Android从业者,每个人都会遇到OOM的情况。如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力。今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念。 内存泄漏:对象在内存heap堆中中分配的空间,当不再使用...

2016-08-25 17:12:35 16106 0

转载 Android--加载大分辨率图片到内存

原文:http://blog.csdn.net/binyao02123202/article/details/17170791 前言   在使用ImageView显示图片的时候,直接加载一个图片资源到内存中,经常会出现内存溢出的错误,这是因为有些图片的分辨率比较高,把它直接加载到内存中之后...

2016-08-25 16:41:51 579 0

原创 Android PullToRefresh(下拉刷新)的使用详解

开源项地址:https://github.com/chrisbanes/Android-PullToRefresh 在Android-PullToRefresh-master文件夹下,我们会看到还有三个文件夹:extras, library,sample。其中sample就是作者为我们提供的Dem...

2016-08-16 21:02:54 1390 0

原创 Android触摸事件源码分析:Activity->ViewGroup->View

Activity中 当屏幕有touch事件时,首先调用Activity的dispatchTouchEvent方法 /** * Called to process touch screen events. You can override this to * intercep...

2016-08-14 21:41:07 1097 0

原创 【错误记录】 Android Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

1,[2016-05-07 19:45:54 - DownloadProviderUI] Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE [2016-05-07 19:45:54 - DownloadProviderUI] ...

2016-08-04 10:07:22 1202 0

原创 Eclipse调试Android开发工具ADB

要使用adb就要先配置adb的环境变量 http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html 配置完了之后,就可以使用adb的命令了。 比较有用的两个是 adb pull adb logcat -v time...

2016-07-28 16:35:16 580 0

原创 动态规划--最长公共子序列

1、填值,递增填 ·长度分别为m=len1+1和n=len2+1; ·创建1个二维数组L[m.n]; ·初始化L数组内容为0 · i和j分别从1开始,i++,j++循环: - 如果str1[i] == str2[j],则L[i,j] = L[i - 1, j -1] + 1; - 如果...

2016-07-19 22:10:47 923 0

原创 动态规划--最长公共子串

找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。其实这又是一个序贯决策问题,可以用动态规划来求解。我们采用一个二维矩阵来记录中间的结果。这个二维矩阵怎么构造呢?"bab"和"caba"(当然我们现在一眼就可以看出来最长公共子串是"ba...

2016-07-19 20:42:07 1739 0

原创 动态规划--连续子序列的最大和

给定k个整数的序列{N1,N2,...,Nk },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 注:为方便起见,如果所有整数均为负数,则最大子序列和为0。 算法一,穷举法,找出所有子数组,然后求出子数组的和,在所有子数组的和中取最大值 /*O(n^3)穷举法 ...

2016-07-18 21:49:25 4954 0

原创 Android调用系统软件打开文件(包括apk文件)

应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的问题 /** * 打开文件 * @param file */ private void openFile(File file){ Intent intent = new Intent(); ...

2016-07-18 13:47:23 2062 0

原创 Anroid-async-http封装网络请求框架源码分析

Android-async-http开源项目可以是我们轻松的获取网络数据或者向服务器发送数据,使用起来非常简单, 这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通过回调方法处理请求结果.      主要特点:处理异...

2016-07-11 19:44:46 3314 0

原创 android自定义LinearLayout和View

自定义线性布局经常用到: 第一种是在扩展的LinearLayout构造函数中使用Inflater加载一个布局,并从中提取出相关的UI组件进行封装,形成一个独立的控件。在使用该控件时,由于它所有的子元素都是在运行时通过代码动态创建的,所以该控件只能以一个独立控件的形式在Layout文件中声明,例如...

2016-07-09 15:04:03 6146 0

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