自定义博客皮肤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的博客

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

  • 博客(305)
  • 资源 (2)
  • 收藏
  • 关注

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

一,下载FFmpeg4.1使用源码:git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg下载到你向的目录下,我是新建了一个文件夹buildffmpeg/ffmpeg,放在这个下面。然后`cd ffmpeg`进入ffmpeg 使用git命令 拉取远程的 origin/release/4.1到本地git checkout -...

2019-08-13 15:01:15 834

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

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

2017-12-22 12:31:12 24665 5

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

关于运行时权限 在旧的权限管理系统中,权限仅仅在APP安装时询问一次,用户同意了这些权限App才能安装,APP一旦安装后就可以偷偷做很多不为人知的事情。我们知道从Android6.0开始,App可以直接安装,在运行时需要用到权限的地方,会一个一个询问用户授予权限,比如照相,写SD卡,读联系人等,系统会弹出一个对话框让用户选择是否授予权限(这个dialog是各个手机厂商定制的,不能由开发者定

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

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

FloatingActionButton(FAB) 是 Android 5.0 新特性——Material Design 中的一个控件,是一种悬浮的按钮。FloatingActionButton 是 ImageView 的子类,因此它具备ImageView的全部属性基本使用1,需要在gradle文件中先注册依赖:compile 'com.android.support:design:25.0.0'

2017-10-24 19:54:18 28046 8

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

1,fresco是一个强大的图片加载库 2,fresco设计了一个叫做image pipeline(图片管道)的模块,它负责从从网络,从本地文件系统,从本地资源加载图片,为了最大限度节约资源和cpu时间,它设计了3级缓存(2级内存,1级文件) 3,fresco设计了一个叫做drawee的模块,方便地显示loading图,当图片不再显示在屏幕上时,及时地释放内存和空间占用。 4,支持

2017-10-21 11:44:12 2027

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

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

2017-10-21 10:00:57 1714 1

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

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

2017-10-13 10:43:35 785

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

RecyclerView中EditText和ImageView的ViewHolder复用坑 RecyclerView作为ListView的升级版,目前来讲讲开发过程遇到的坑。RecyclerView 中使用 EditText 滚动后数据消失,错乱 场景:RecyclerView中的每个Item的ViewHolder布局中为都有EditText控件,且ViewHolder实现文本改变监听器Tex

2017-09-20 19:46:36 3803

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

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

2017-09-20 16:02:55 6235 2

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

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

2017-09-20 14:45:32 8660

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

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

2017-09-20 14:17:45 2254

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

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

2017-07-04 13:45:55 8067

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

前一篇文章主要讲了自定义View为什么要重载onMeasure()方法http://blog.csdn.net/tuke_tuke/article/details/73302595那么,自定义ViewGroup又都有哪些方法需要重载或者实现呢 ?Android开发中,对于自定义View,分为两种,一种是自定义控件(继承View类)。一种是自定义布局容器(继承ViewGroup类)。如果

2017-06-17 15:16:11 9021

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

Android开发中偶尔会用到自定义View,一般情况下,自定义View都需要继承View类的onMeasure方法,那么,为什么要继承onMeasure()函数呢?什么情况下要继承onMeasure()?系统默认的onMeasure()函数行为是怎样的 ?本文就探究探究这些问题。这篇文章获取可以加深多自定义view的理解。首先,我们写一个自定义View,直接调用系统默认的onMeasure函

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

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

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

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

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

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

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

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

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

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

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

在使用studio开发的项目过程中有时候我们想将项目发布到github上,以前都是用一种比较麻烦的方式(cmd)进行提交,最近发现studio其实是自带这种功能的,终于可以摆脱命令行了。因为自己也没有做很深的研究,这里就先分享一下通过studio将自己的项目上传到github上的步骤。两个相关概念:git和githubGit是一个开源的分布式版本控制系统,用以有效、高速的处

2017-06-09 20:35:33 407

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

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

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

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

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

2017-06-09 14:24:06 2677

转载 Android Studio的gradle项目构建

【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4456420.html 【系列】第一次使用Android Studio时你应该知道的一切配置第一次使用Android Studio时你应该知道

2017-06-08 17:15:47 1199

转载 海量数据处理-Trie树

http://blog.csdn.net/beiyeqingteng/article/details/6981263http://blog.csdn.net/zmazon/article/details/8227610#关注Trie 这种结构已经很久,Trie有一个很有趣的用途,那就是自动提示。而且,前不久在一次面试里,也需要用Trie来解答。所以,在此对这个数据结构进行总结。

2016-09-23 11:00:44 1098

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

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

2016-09-19 18:48:11 654

原创 报数字游戏

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

2016-09-19 18:26:42 1515

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

详细参考网址:http://www.cnblogs.com/wenanry/archive/2010/02/25/1673368.html这个问题涉及到浏览器、网络、服务器三者之间的一系列行为,希望能为大家阐述下自己的理解:首先,当我们输入一个网址的时候,这个网址例如www.baidu.com,我们需要知道这个网址其实是一个主机名,需要通过映射关系根据主机名获取IP地址。这个映射关系可

2016-09-18 22:21:38 1717

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

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

2016-08-27 10:36:11 1020

转载 HTTPS和HTTP的区别

什么是 HTTPS?HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。你也可以说:HTTPS = HTTP + SSLHTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。为什么需要 HTTPS ?超文本传输协议 (HTTP) 是一个用来通过互联网传输和接收信息的

2016-08-26 20:28:44 650

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

推荐文章:Android进程与内存及内存泄漏Android之内存管理1.1 DalvikDalvik虚拟机是Android程序的虚拟机,是Android中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格式——dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等重要功能。Dalvik虚拟机的内存大体上可以分为 Java Object He

2016-08-25 20:12:51 1369

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

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

2016-08-25 17:12:35 18357 1

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

原文:http://blog.csdn.net/binyao02123202/article/details/17170791前言  在使用ImageView显示图片的时候,直接加载一个图片资源到内存中,经常会出现内存溢出的错误,这是因为有些图片的分辨率比较高,把它直接加载到内存中之后,会导致堆内存溢出的问题。这篇博客就来讲解一下Android的堆内存以及如何在Android应用中加载

2016-08-25 16:41:51 896

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

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

2016-08-16 21:02:54 1860

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

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

2016-08-14 21:41:07 1284

原创 【错误记录】 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] Please check logcat output for more details.[20

2016-08-04 10:07:22 1538

原创 Eclipse调试Android开发工具ADB

要使用adb就要先配置adb的环境变量http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html配置完了之后,就可以使用adb的命令了。比较有用的两个是adb pull adb logcat -v time >把日志保存到计算机上查看ADBADB = Android Debug Bridge

2016-07-28 16:35:16 798

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

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;- 如果str1[i] != str2[j],则L[i,j] = max{L[i,j - 1],L[i - 1

2016-07-19 22:10:47 1044

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

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

2016-07-19 20:42:07 2014

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

给定k个整数的序列{N1,N2,...,Nk },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 注:为方便起见,如果所有整数均为负数,则最大子序列和为0。算法一,穷举法,找出所有子数组,然后求出子数组的和,在所有子数组的和中取最大值/*O(n^3)穷举法 * 缺点:重复累加,与maxSum比较,每次i->j中间累加完了才与maxSum比较

2016-07-18 21:49:25 6100

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

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

2016-07-18 13:47:23 3424

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

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

2016-07-11 19:44:46 3833

原创 android自定义LinearLayout和View

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

2016-07-09 15:04:03 7739

Gson-2.5.jar

2016-05-31

apache poi包,处理excel

apache poi包,处理excel的包

2015-12-13

空空如也

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

TA关注的人

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