- 博客(32)
- 资源 (24)
- 收藏
- 关注
原创 androidstudio3.0开发ndk
1.配置ndk环境2.先写调用c代码的java代码public class NDKTest { static { System.loadLibrary("myLib"); } public native String getStrFromC();}myLib是加载的so库的文件名字===>如 : libmyLib.so3.cd到app
2017-11-13 17:41:51
4627
原创 一个揭露动画的的折线图
就是上面的这个折线图,加载的时候有揭露动画,gif图就不录制了,直接上代码,代码注释写的很详细了,自定义属性没有加,为了方便直接拿来用package com.oneweone.momocamera.widget;import android.animation.ValueAnimator;import android.content.Context;import android.gra
2017-11-02 19:51:57
1129
转载 view的事件传递机制
下面进入正题,先来看下Android中事件的分类:1、键盘事件:主要是指按下虚拟键盘的某个按键、或者机身的物理按键时产生的事件。2、鼠标事件:Android4.0之后增加了对鼠标事件的监控,如ACTION_HOVER_ENTER。3、触摸屏事件:凡是触摸屏幕而产生的事件都是触摸屏事件,触摸屏事件包括很多,比如单点触控、多点触控)、轨迹球事件等。我们这里主
2017-09-14 19:30:04
647
原创 实现炫酷的点赞动画
先上图<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:background="@drawable/orval" android:layout_width="40dp"
2017-08-09 16:40:33
1132
原创 okhttp添加本地缓存(支持get post)
要实现一个okhttp的缓存策略,就是对应某些个接口缓存,第一反应就是拦截器,拦截器是okhttp中的精华所在,大体逻辑:1.拿到文件的最后修改时间和当前时间对比,大于30分钟,缓存失效,重新请求并缓存数据2.对比时间,小于30分钟,直接从缓存读取,重新构造response在拦截器方法中返回上代码:public class CacheInterceptor implements
2017-08-07 14:08:25
1410
1
转载 android打包混淆
原文链接:http://blog.youkuaiyun.com/javazejian/article/details/50587857通过前两篇的学习,我们对Android打包流程有了基本的认识,本来这篇内容是准备分析ant的android多渠道打包过程,但是在测试案例的时候,发现还有一个比较重要的知识点没介绍-ProGuard技术,因此本篇就来介绍一下android的混淆技术之ProGuard。
2017-06-15 13:58:15
799
转载 python脚本多渠道打包应用
原文链接:http://blog.youkuaiyun.com/javazejian/article/details/50760590今天终于要来给大家介绍Python多渠道打包啦,我也是很激动,当初虽然有gradle这样方便的打包方式,但是一旦渠道数量多了起来,gradle打包的时间也会成为一个瓶颈,之前打20个渠道左右,用gradle打包的话大概要花上20多分钟,如果以后渠道增加到上百个那就真的呵
2017-06-15 13:51:46
2349
原创 libjpeg哈夫曼算法压缩图片
之前的博客提到过关于图片压缩的方法: Android 图片压缩,Bitmap优化Android原生的压缩方法,不在乎两种:通过设置simpleSize根据图片尺寸压缩图片;通过Bitmap.compress方法通过压缩图片质量,去压缩。但是我们当我们对图片质量和图片文件大小同时存在要求时,我们发现无论怎么去设置参数,我们所做的效果总是不能尽如人意,而且同样大小的图片,效果却总是
2017-04-24 22:49:09
2951
原创 Android Studio快捷键
ActionMac OSXWin/Linux注释代码(//)Cmd + /Ctrl + /注释代码(/**/)Cmd + Option + /Ctrl + Shift + /格式化代码Cmd + Option + LCtrl + Alt + L清除无效包引用Option + Control + O
2017-04-17 16:02:53
407
原创 c语言内存四区(-)
内存四区模型 图1、内存四区模型流程说明1、操作系统把物理硬盘代码load到内存2、操作系统把c代码分成四个区3、操作系统找到main函数入口执行1、内存四区:一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的
2017-04-17 15:46:27
690
原创 基于camera+SurfaceView+MediaRecorder的录制微视频
录制视频的主要逻辑就是使用的Camera+SurfaceView实现摄像头和界面的录像同步,然后把Camera和MediaRecorder结合起来实现录像数据的存储.1.主要录制控件VideoRecorder自定义控件的实现extendsSurfaceViewpackage com.fanday.jokes.view;/** * Created by fanday on 2017/3
2017-03-26 15:56:39
1084
原创 node.js操作mysql的工具类
/** * Created by Administrator on 2017/3/13. *//** * 数据库模块 */var options = { 'host': 'localhost', 'port': '3306', 'user': 'root', 'password': 'root', 'database': 'book',
2017-03-19 23:06:00
1069
转载 2017年最新的25个库
这是一份2017年1,2月份发布的25个最佳安卓库的列表,你应该会喜欢,虽然是按顺序排列的,但排名不分先后。让我们开始吧!1.Lottie这是一个能解析Adobe After Effects动画导出的JSON文件并把它们渲染成本地动画的库。在Google Play Store上有一个示例app。github上超过7500颗星,应该不会错!
2017-02-23 15:18:29
573
原创 IPC(三)---IPC实现之Messenger和AIDL的使用讲解
一、AIDL的使用首先是service端的实现,在app Mudule中右键new->aidl->Book.aidl// Book.aidlpackage com.example.administrator.contact;parcelable Book;aidl接口IBook.aidl的实现// IBook.aidlpackage com.example.administ
2017-02-04 23:00:30
376
原创 IPC(二)---IPC基础概念介绍
一、Serializable接口Serializable接口是java提供得一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作.使用Serializable来实现序列化相当简单,只需在类的声明中指定一个类似下面的标示即可自动实现默认的序列化过程需要序列化的User.java类import java.io.Serializable;public class Us
2017-02-04 14:26:27
919
原创 IPC(一)--IPC简介和IPC产生的问题
IPC是Inter-Process Communication的缩写,含义是进程间通信,是指两个进程间交换数据的过程. 首先要区别什么是进程什么是线程:按照操作系统的描述线程是CPU调度的最小单元,是一种有限的系统资源. 而进程一般指一个执行单元,在PC和移动端指一个应用或者程序.因此进程和线程是包含和被包含的关系.IPC不是android系统特有的,Linux上可以通过命名管道、共享内容、信
2017-02-02 16:45:28
2438
原创 java反射技术
一.反射获取对象1.获取字节码文件的三种方式Class.forName("类的全路径")对象.getClass()类名.class2.获取构造方法的api Class clazz=Student.class; Constructor c = clazz.getDeclaredConstructor(boolean.class);//获取某个指定的构造方法(包括私有构造)
2016-11-02 11:15:31
803
原创 使用c语言实现一个简单的易语言
大家熟知的易语言底层其实就是c语言来实现的,c语言的32个关键字加上一些常用的其他,使用#define这种宏定义来实现简单的汉语替换1.下面就先打开VisualStudio,在头文件目录下新建一个 标识符.h 的文件,开始宏定义封装我们的易语言//auto 局部变量(自动储存)#define 自动 auto//break无条件退出程序最内层循环#define 中断 break //
2016-06-23 23:05:49
4770
1
原创 FragmentTabHost的使用--仿微信首页搭建
1.FragmentTabHost这个类是v4包下的,使用起来也是非常方便的先贴上布局代码<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_widt
2016-06-09 14:06:27
1311
4
原创 基于material design的过渡加载动画
几乎大部分应用都有Spalsh闪屏页面,目的就是进行一些初始化程序,检查版本更新等那么怎么打造一个炫酷的过渡加载动画呢?google提供了material design的设计风格分析整个过渡动画,可以分为三个阶段:1.旋转动画2.缩放动画3.水波纹扩散效果(这种效果也是material design风格大量采用的)1.进入MainActivity
2016-05-21 14:35:29
3123
原创 爱的贝塞尔曲线之属性动画之美
先放上一张效果看完开始撸代码1.先写一个HeartView继承View(ImageView)用于绘制❤形的Viewpublic class HeartView extends ImageView { private Paint paint; private Bitmap mBitmap; private Random ran; private Bitmap mBorder
2016-05-18 16:46:14
1347
4
原创 ViewPager+属性动画 实现炫酷视差动画效果
ViewPager有一个setPageTransform()方法可以实现很多酷炫的动画效果先来个仿QQ的侧滑面板效果 vp.setPageTransformer(true, new PageTransformer() { /** * 页面滑动时回调的方法, * @param page当前滑动的view * @param position 当从右向左滑的时候,
2016-05-13 15:02:44
6265
2
原创 双击退出界面
使用WindowManager可以让一些类似来电归属地的ui显示在窗口上面,即使返回到桌面1.参考Toast的源码可以看出一些眉目来,查看show()方法可以看到一个TN的类,继续跟踪TN可以看到构造方法,明确了TN就是初始化WindowManager的一些参数 TN() { // XXX This should be changed to use a
2016-05-11 09:52:11
1094
原创 安卓五子棋小游戏
一款五子棋小游戏,可以拿来联系一下自定义View1.写一个类继承View/** * Created by fanday on 2016/4/23. */public class PieceView extends View { private int lineNum=10;//棋盘的行列数 private float lineHeight;//每一行的行高 p
2016-04-26 14:51:20
1787
原创 高效加载本地相册图片的ImageLoader类
当我们相册中的图片有几千张的时候,你快速的拖动滚动条到底部,怎么样才能保证图片加载的流畅性以及避免OOM呢 1.使用Lru算法对图片进行缓存保证流畅性以及避免OOM 2.图片加载肯定是要异步进行的,那么就涉及到多线程的并发进行,使用线程池对任务进行调度 3.使用android内部的异步消息机制Looper+Handler对taskQueu
2016-04-21 21:09:37
2690
原创 自定义瓷砖效果的GridView
有时候需要给gridview加上分割线,没有现成的解决方案,这里写好一个可以直接用的自定义gridview,就叫做LineGridView吧。先上图,zaker客户端第三方分享的gridview样式:可以看到靠边的格子都是半封闭的,要实现这种效果仅仅靠美工给图片恐怕不行。反编译zaker的代码,虽然看不到整个代码,但是从中可以摸索出zaker是重写了gridview的dispatchD
2016-04-12 22:43:18
830
翻译 使用ionic开发webapp进行文件上传与下载
1.添加依赖的插件1.org.apache.cordova.file-transferhttps://github.com/apache/cordova-plugin-file-transferThis plugin allows you to upload and download files.This plugin defines global FileTransfer, Fi
2016-04-11 22:09:23
6193
原创 Android自定义时间轴的实现
时间轴时间轴,顾名思义就是将发生的事件按照时间顺序罗列起来,给用户带来一种更加直观的体验。京东和淘宝的物流顺序就是一个时间轴(如图),想必大家都不陌生。时间轴的初探初次见到这种UI,感觉整个布局似曾相识,但面对那条时间轴却又不知如何下手。其实,整个时间轴还是可以当做一个ListView处理,只是在Adapter中的布局要花点心思。好了,废话不说,看代码。整个效果就是一个Li
2016-03-16 10:05:23
4244
原创 自定义的微信快速索引电话本
如下图效果显示的快速索引,下面就开始吧!1.先看右侧的快速索引Bar,这是个自定义的View package cn.itcast.zz.quicklyindex.ui;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;impor
2016-02-11 13:42:05
2041
原创 自定义流布局FloatLayout(二)之如何在代码中定义shape资源
上次讲解了如何定义一个ViewGroup的流布局容器,这次具体讲一下容器中填充的TextView的具体设置1.动态添加那么设置圆角矩形的时候就不能再Drawable文件下通过创建shape资源来定义了,那么如何在代码中动态的定义圆角矩形的shape呢2.定义一个获取shapedrawable的类,通过传入参数就可以得到一个shape资源,然后利用随机数对它进行设置颜色 代码如下:p
2016-02-03 16:55:37
666
原创 自定义流布局FloatLayout(一)
有没有遇到过这种效果,那么这种排布是怎么实现的呢首先自定义一个类继承ViewGroup ,因为android提供的ViewGroup子类都不能实现这种效果然后要有一个思路:就是ViewGroup的measure()方法的执行过程是怎么样的--如果有子view的话就先测量子view--然后再测量自己的宽高1.在onMeasure()方法中获取到所有的子View ,然后对子view
2016-02-03 16:33:03
1464
原创 自定义按照图片宽高比例缩放的RadioLayout
有时候图片的宽高比例不对的话,图片显示的就很别扭,那么怎么才能让图片按照正常的比例显示而且宽度还能matchparent呢? 这就要自定义一个能够自适应的父布局,这样imageView即可以正常显示了,(之所以不在IamgeView上面进行修改是因为逻辑可能会复杂一点,所以自定义了一个父布局)首先自定义一个RadioLayout继承FrameLayout,然后重写onMeasure()方法中,
2016-02-03 10:26:54
1019
xUtils-master.rar
2015-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人