自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android使用VideoView播放视频文件及添加WebVTT字幕

设置播放源,支持本地或者网络资源(如:HLS、RTSP):videoView.setVideoURI(uri)添加播放控制器MediaController:可选MediaController controller = new MediaController(this);controller.setMediaPlayer(this);videoView.setMediaController(cont...

2018-07-16 15:35:37 5790

原创 二叉搜索树(BST)的增删改

维基百科关于二叉搜索树的介绍二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树。在二叉查找树删去一个结点,分三种情况讨论:若*p结点为叶子结点,即PL(左子树)和PR(右子树)均为空树。由于删去叶子结点不破坏整棵树的结构,...

2018-04-12 10:55:27 764

原创 使用DDMS中的native heap检查Android native内存泄露

检查手机上目录system/lib(system/lib64)下存在libc_malloc_debug_leak.so、libc_malloc_debug_qemu.so(eng或者user-debug版本自带)setprop libc.debug.malloc 1(android7.0以后设置新属性 :setprop libc.debug.malloc.options backtrace ...

2017-05-04 21:19:49 5189

原创 CursorAdapter如何监听数据变化通知界面刷新

ContentObserver 监听数据库变化DataSetObserver 监听cursor close/deactivate/requery

2017-02-28 16:11:51 1093

原创 HttpURLConnection替代apache httpclient上传文件

Android 6.0 release removes support for the Apache HTTP client. If your app is using this client and targets Android 2.3 (API level 9) or higher, use the HttpURLConnection class instead.

2017-02-10 11:48:25 902

原创 okhttp3缓存实践

离线时使用cache,在线时访问网络并更新cacheOkHttpClient设置cache后,response自动进行缓存;通过拦截器,离线时request添加头信息header(“Cache-Control”, “only-if-cached”)强制使用缓存

2017-02-08 15:07:17 2127

原创 波兰式转换为逆波兰式

波兰式是在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之前,所以这种表示法也称为前缀表达式。例如: (2 + 4) * 6的波兰式为 *+246逆波兰式(Reverse Polish notation,RPN,或逆波兰记法),将运算符写在操作数之后,也叫后缀表达式。例如:(2 + 4) * 6的逆波兰式为 24+6*算法实现(java): 构建波兰式二叉树后续遍历二叉树生成逆波

2017-02-05 23:58:51 1390

原创 开源库混淆Proguard

eventbus、retrofit、rxjava

2017-01-18 10:31:13 300

原创 计算N的阶乘结果末尾含多少个零

计算N的阶乘结果末尾含多少个零

2016-08-16 23:33:47 4457 1

原创 Android SyncAdapter同步实践

SyncAdapter

2016-07-26 19:33:12 3978

原创 Android简单获取手机联系人姓名电话号码

1.手机上联系人数据库文件(contact2.db)存放目录:/data/data/com.android.providers.contacts2.联系人源码位于工程目录:packages\apps\Contacts3.数据库中一堆表,但常用这些表:data、phone_lookup、contacts、[email protected]

2016-04-08 19:56:00 3899 1

原创 picasso vs UIL

图片加载开源库:picasso VS UniveralImageLoader

2015-11-22 10:11:53 1020

原创 Ubuntu Apache2开启mod_rewrite解决laravel路由失效问题

1、开启rewrite模块;$sudo a2enmod rewrite或$sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load2、修改/etc/apache2/sites-available/000-default(默认),将的AllowOverrid

2015-10-31 19:26:54 3266

原创 AlertDialog传递application context报错原因分析

前言:在Activity中某个地方需要弹对话框时,通常会构造一个AlertDialog然后show一下搞定。其中在构造AlertDialog时,也很自然的传递了当前Activity作为上下文context,但这里如果我们故意传递Application context,那么会发生应用崩溃。本着知其然知其所以然的精神,来初探一下原因。1.根据堆栈信息,ViewRootImpl如下地方跑出异

2015-09-17 16:14:42 3530

原创 RecyclerView缓存的问题

1.RecyclerView非常灵活,包括定制RecycledViewPool。参考接口:public void setRecycledViewPool(RecycledViewPool pool)示例: final RecyclerView.RecycledViewPool pool = new RecyclerView.RecycledViewPool() {

2015-07-10 18:34:42 14647

原创 Android5.0 ToolBar

ToolBar使用经验总结:1.如果需要兼容5.0以下版本,建议使用support.v7.appcompat中的ActionBarActivity,其ActionBar的实现用ToolBar替换了原来的ActionBarView,其中ToolBar继承自ViewGroup,本身没有提供自定义view的接口,需要可以通过getSupportActionBar返回的WindowDecorActionBa

2015-06-19 10:41:54 1048

原创 android4.4中activity启动、事件派发

2014-04-18 17:20:53 737

原创 BFS求解迷宫问题初探(java版)

BFS,其英文全称是Breadth First Search。 BFS并不使用经验法则算法。从算法的观点,所有因为展开节点而得到的子节点都会被加进一个先进先出的队列中。一般的实验里,其邻居节点尚未被检验过的节点会被放置在一个被称为 open 的容器中(例如队列或是链表),而被检验过的节点则被放置在被称为 closed 的容器中。(详情见百度百科)import java.util.Lin

2014-01-24 14:30:21 4374 1

原创 动态规划求解01背包问题初探(C版)

理论部分来自http://blog.csdn.net/ymeng_bupt/article/details/6820544一、基本概念    动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略    基本思想与分治法类似,也是将待求

2012-10-26 17:54:32 1258

原创 Android的LMK和OOM

Android分析之LowMemoryKillerlinux操作系统的传统理念就是内存用的越多越好,尽可能拿来用,既然被尽量的使用,自然应该有清除机制。Android以linux为基础,自然部分继承了这个特性。Android使用lowmemorykiller在达到某个内存门限的情况下去选择进程删除来释放内存。关键的配置文件有如下两个,/sys/module/lowmemorykiller/pa

2012-10-23 18:42:50 4585

原创 约瑟夫问题初探

约瑟夫问题:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他

2012-10-23 09:52:51 1084

原创 Android远程服务绑定

通常我们会在一个acitivity中通过调用bindService来绑定一个服务,但当绑定的服务和当前的activity属于不同的进程时,这种情况属于远程服务绑定。1.所绑定的service在本包内,但是在AndroidManifest.xml中指定service为一个进程(运行时为单独一个进程),就是远程绑定。2.所绑定的service在本包外(运行时为单独一个进程),也是远程绑定。

2012-10-19 17:47:23 1623

原创 快速排序算法实现(C版)

一趟快速排序的算法: 1)设置两个变量I、J,排序开始的时候:I=0,J=N-1; 2)以第一个数组元素作为关键数据,赋值给key,即 key=A[0];3)从J开始向前搜索,即由后开始向前搜索(J=J-1即J--),找到第一个小于key的值A[j],A[j]与A[i]交换;4)从I开始向后搜索,即由前开始向后搜索(I=I+1即I++),找到第一个大于key的A[i

2012-10-18 16:27:22 610

原创 Android之网络文件下载

环境搭建:本地服务器(下载wamp【Windows, Apache, MySQL, PHP 】,安装即可,然后将网页或文件放进 www directory)虚拟机(访问本地服务器的ip:10.0.2.2) 注意事项:权限相关网络访问 存储卡访问 文件权限 如:chmod  777 /data 源代码:package com.example.net_ex0

2012-10-17 10:28:54 569

原创 计数排序算法实现(C版)

算法的步骤:1.找出待排序的数组中最大和最小的元素2.统计数组中每个值为i的元素出现的次数,存入数组C的第i项3.对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)4.反向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1 源代码:#include//double start_time = 0;//double end

2012-10-16 09:23:21 749

转载 Android下打印调用栈

Android下打印调用栈1. Java层如何打印调用栈?在优化Android启动过程时,同事给出一种打印出调用栈的函数。分享一下    java.util.Map ts = Thread.getAllStackTraces();      StackTraceElement[] ste = ts.get(Thread.currentThread());

2012-09-24 15:47:05 767

原创 Android按键超时的ANR原理小结

1) 按键处理主要的功臣是WindowManagerService. [email protected] = new InputManager(context, this); @InputManager.java     public InputManager(Context context, W

2012-09-22 16:40:59 8703

原创 android动态库存放路径问题

首先来看下我们是如何使用自己的动态库:public class MyActivity extends Activity { /** Called when the activity is first created. */ //WebView webView; public native int sum(int i, int j); static{

2012-09-21 18:21:06 7967

原创 android异常捕获

为了更好的理解,先介绍下背景:当我们调用startActivity(),向AMS发起启动一个Acitivty的请求后,AMS在幕后帮我们做了很多事情。其中会启动一个新的进程(一个进程中可以有多个Activity)startProcessLocked()@ActivityManagerService.java// Start the process. It will either

2012-09-21 17:40:35 1700

lotus_OA进程killer

如果你还在为OA(Lotus notes)异常后不能再打开和登录而烦恼吗?那这个一定能帮助你,非常方便实用,帮你轻松杀掉相关进程,无需重启!适合windows xp、win7等。

2012-09-20

windows程序设计及api函数参考大全

显然,很难说哪种方法更有利于开发Windows应用程序。更主要的是,也许是应用程序自身的特性决定了所使用的工具。不管您最后实际上使用什么工具写作程序,学习Windows API将使您更深入地了解Windows工作的方式。Windows是一个复杂的系统,在API上增加一个程序写作层并未减少它的复杂性,仅仅是掩盖了它,早晚您会碰到它。了解API会给您更好的补救机会。

2010-07-13

Linux程序设计学习资料

学习bash第二版、sed与awk、lex与yacc、Linux设备驱动这些资料搜集,均为图片扫描中文版,不是很清晰。学习的话还是英文版的为上,不过目前只找到《学习bash第二版》英文版,有上传。

2010-02-08

学习bash(第二版)

bash是自由软件基金会发布的“Bourne Again Shell”的缩写。它是流行的UNIX Bourne shell的免费可用替代产品,供全球Linux用户选用。《学习bash》正是bash的权威指南。 无论你是对bash的用户界面感兴趣,还是对其强大的编程能力感兴趣,你都会发现本书很有价值。它教授了如何使用bash的高级命令行特性,如命令历史、命令行编辑和命令完成。 本书还介绍了shell编程,一种UNIX或Linux用户不可或缺的技巧,阐述了如何使用bash的编程特性完成各种功能。读者还将学习流程控制、信号处理以及命令行处理和I/O方面的内容以及如何调试bash程序。 最后,本书介绍了如何获取、安装、配置和定制bash,并为系统管理员提供了如何对其用户群体进行bash管理的建议。 第二版包括了bash 2.0版本的所有特性,同时也适用于bash 1.x版本。bash的新特性包括一维数组、参数扩展和更多的模式匹配操作。bash 2.0甚至提供了与POSIX.2标准更多的一致性,并且在POSIX.2模式中,它是完全与POSIX.2一致的。第二版还加入了一些新命令,增强了安全性,也加入了readline,增强了配置和安装过程,并且增加了附助编程的bash shell调试器。 经过不懈的实践和对实例及问题进行深入的研究后,你会发现《学习bash》对Linux和其他UNIX用户来说是很有价值的。

2010-02-08

IPMI学习资料(double)

1.Intelligent Platform Management Interface Specification 2.Understanding IPMI

2009-10-04

网络课设(发送TCP数据包)

仅供参考:当主机跨越网络向其他设备传输数据时,就要进行数据封装,就是在OSI模型的每一层加上协议信息。每一层只与接受设备上相应的对等层进行通信。物理层:比特流;链路层:数据帧;网络层:数据包(IP报头+数据);传输层:数据段(TCP报头+数据);利用原始套接字发送数据包。(STREAM和DGRAM套接字,只需在应用层指定我们要发送的数据,其他工作交给下面自动完成。)TCP数据包应该采用面向连接的方式send()来进行发送,但程序会有点问题。为了忽悠**和自己,用了sendto()来让程序能够运行。望指正~

2009-05-16

空空如也

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

TA关注的人

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