- 博客(134)
- 资源 (13)
- 问答 (2)
- 收藏
- 关注
原创 Android 双进程守护
本地服务code:` package app.project.service;import android.app.Service; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.Servi
2017-07-26 20:06:03
580
原创 BloomFilter
BloomFilter 和 HashMap如果使用HashMap存储大量的k/v,数据量大会出现内存溢出。使用BloomFilter,可以完美的解决该问题。BloomFilter主要提供两种操作: add()和contains(),作用分别是将元素加入其中以及判断一个元素是否在其中,类似于Java中的Set接口,它内部采用的byte数组来节省空间。
2017-07-04 16:59:37
458
原创 React Native实战之flexbox布局(RN基础)
flexbox是Flexible Box的缩写,弹性盒子布局 主流的浏览器都支持flexbox布局是伸缩容器(container)和伸缩项目(item)组成Flexbox布局的主体思想是元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间,当Flex元素超出可用空间时将自动缩小。总之,Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩。按照伸缩流的方向布
2017-04-04 19:39:33
578
原创 setScale,preScale和postScale的区别
1、setScale(sx,sy),首先会将该Matrix设置为对角矩阵,即相当于调用reset()方法,然后在设置该Matrix的MSCALE_X和MSCALE_Y直接设置为sx,sy的值2、preScale(sx,sy),不会重置Matrix,而是直接与Matrix之前的MSCALE_X和MSCALE_Y值结合起来(相乘),M’ = M * S(sx, sy)。3、postScale(sx,sy
2017-01-03 14:04:24
1293
原创 ScrollView 的一个小方法
当SCrollView里面需要做动态显示、隐藏的时候,为了让ScrollView自动滚动到底部,需要加上fullScroll方法, new Handler().post(new Runnable() { @Override public void run() { // TODO Auto-generated method stu
2017-01-03 14:01:07
476
原创 Android Matrix.mapRect 方法讲解
今天刚好有用到这个方法,字面意思就是将Matrix 的值映射到RecF中,写了一个小demo测试Bitmap bitmap = null; private float dis=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance
2016-12-30 15:16:33
11042
原创 Android开发人员不得不收集的代码(持续更新中)
https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md
2016-12-12 10:44:57
764
原创 Java 之 组合模式
组合模式有时候也叫“部门-整体模式”,它使我们树形结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样处理复杂元素,从而使得客户程序与复杂元素内部结构解耦。组合模式角色:Component(抽象构建接口):为组合对象声明接口,在某些情况下实现从此接口派生出的所有类共有的默认行为。Leaf(叶部件):在组合中表示叶节点对象,叶节点没有子节点。Composite(组合类):定义有
2016-11-03 17:24:06
395
原创 JNI语法 JNI参考 JNI函数大全
一、对照表 Java类型 本地类型 描述 boolean jboolean C/C++8位整型 byte jbyte C/C++带符号的8位整型 char jchar C/C++无符号的16位整型 short jshort C/C++带符号的16位整型 int
2016-10-26 11:07:55
804
原创 java Object类的wait和notify学习
public class ThreadTest2 { public static void main(String[] args) { Sample sample = new Sample(); IncreaseThread thread1 = new IncreaseThread(sample); DecreaseThread thread2 = n
2016-09-23 14:43:51
413
原创 Java 线程 synchronized 学习
**synchronized** 关键字:当一个方法被synchronized关键字修饰的时候,该方法叫同步方法 Java中的每个对象都有一个锁(lock)或者叫监视器(monitor),当访问某个线程的访问synchronized 方法时,表示给该对象上锁,此时其他任何线程都无法访问该synchronized 方法,直到之前的那个线程执行完方法或者抛出异常,那个该对象的锁被释放掉,其他线程才可以
2016-09-22 15:03:51
328
原创 Android 实现卫星导航
类似这种点击展开的效果package com.example.arcmenu;import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.util.Log;import android.view.View;import
2016-09-22 10:29:43
628
原创 Java内部类
一 、静态内部类 静态内部类只能访问外部类的静态成员变量或者静态方法,生成静态内部类对象的方式: 外部类名.静态类名 对象名=new 外部类名.静态类名();二、成员内部类 class MemberInner { private int a = 3; class Inner { public void doSomeThing() {
2016-09-19 13:59:17
360
原创 Java 中Collection和Collections 、Comparable 和Comparator的区别
Collection是一个接口,Set和List集合的父类Collections是一个类,主要用于对集合的排序,sort方法
2016-09-15 17:31:09
2101
原创 Java 中Set集合的使用
Set<String> set=new HashSet<String>(); set.add("a");//通过add方法加入元素 set.add("b"); set.add("c"); set.add("d"); set.add("e"); set.add("f"); //通过迭代器Iter
2016-09-15 17:10:58
757
原创 Map获取值的方式
第一种: Map<String,String> map=new HashMap<String, String>(); map.put("a", "b"); Collection<String> values=map.values(); for(Iterator<String> iterator=values.iterator();iterato
2016-09-15 16:45:35
12502
1
原创 java 类型通配符
public class Generic2<T> { T foo; public T getFoo() { return foo; } public void setFoo(T foo) { this.foo = foo; } public static void main(String[] args) { Gen
2016-09-14 20:30:45
895
原创 Java 向下类型转换
public class Test { public static void main(String[] args) { Parent p = new Child(); Child child = (Child) p;//这种叫做向下类型转换,父类强转成子类,父在上、子在下,故叫做向下类型转换 child.single(); }}class Pa
2016-09-06 20:04:50
2535
原创 java策略模式练习
public class Person {private int id;private int age;private String name; }要求:假如有若干个Person对象存在一个List当中,对它们进行排序,分别按照id、age、name进行排序(正常的倒序、升序),假如年龄或者姓名重复,则按照id排序。public class Person { protected int id
2016-09-06 15:42:28
615
原创 Java 泛型
public class Generic {private T[] fooArray;public T[] getFooArray() { return fooArray;}public void setFooArray(T[] fooArray) { this.fooArray = fooArray;}public static void main(String[] args
2016-09-06 14:17:15
276
原创 HashSet知识
HashSet底层是用HashMap实现的,当调用其add方法时,是将对象作为HashMap的key存放,而value对应一个HashSet
2016-09-06 13:55:16
354
原创 Java 内部类的实例化
Java 内部类的实例化public class A{ class B { }}如何实例化B呢? A.B b=new A.B();
2016-09-06 12:08:01
424
原创 Java 策略模式
Java的策略模式中体现了两个非常基本面向对象的原则 -封装变化的概念 -编程中使用接口,而不是对接口的实现策略模式的定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 策略模式使这些算法在客户端调用它们的时候能够互不影响的变化策略模式的组成抽象策略角色–策略类,通常由一个接口或者抽象类实现 具体策略角色–包装了相
2016-09-06 11:12:05
767
原创 C语言 ,有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用拆半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出“无此数”
注意此题是要求用拆半法#include<stdio.h> int main() { int t[9]={1,3,5,7,9,11,13,15,17}; int start=0,end=8,c,mid; //start表示查找区间开始的位置,end是查找区间的最末位置 scanf("%d",&c); while(start<=end) { mid
2016-09-01 17:48:31
21538
1
原创 C语言,有一个已排好的数组,要求输入一个数组后,按原来的排序规律将它插入数组
#include<stdio.h>int main(){ int n=6,i=0,b=0,temp=0; int a[6]={1,2,4,5,8}; scanf("%d",&b); for(i=n-2;i>=0;i--) { if(a[i]>b) { a[i+1]=a[i]; } else
2016-09-01 11:54:05
6718
原创 C语言输入以下图案
先分析,分两部分,上面和下面,上面的规律是 *的变化是 1、3、5、7所以代码可以这样写#include<stdio.h>int main(){ int i; int j; for(i = 1;i<=7;i=i+2) //先打印上半部分。(7为最多行拥有*的个数,+2每行差数) { for(j=1;j<=7-i;j++)//当i是1的时候,输入6
2016-09-01 10:59:27
10725
原创 C语言 杨辉三角
效果图 如上#include<stdio.h>int main(){ int n=10,i=0,j=0; int a[n][n]; for(i=0;i<n;i++) { a[i][i]=1; a[i][0]=1; } for(i=2;i<n;i++) { for(j=1;j<i;j++)
2016-08-31 18:21:10
719
原创 C语言学习 ,一个球从100米的高度自由落下,每次落地后反弹回到原高度的一半,再落下,再反弹,求它在第一次落地时,共经过多少米,第10次反弹多高
先找到规律,从第二次开始,前一次的反弹和本次的落下是相等的,#include<stdio.h>int main(){ double i=100,sum=100;//sum一开始就赋值给100 int j=0; i=i/2; for(j=1;j<10;j++) { sum+=(2*i); i=i/2;
2016-08-31 16:44:28
20702
1
原创 C语言学习,将一个数组中的值按逆序重新存放,例如原来顺序为8,6,5,4,1 。要求改为1, 45,8
#include<stdio.h>int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100,101}; int temp,i=0,j=0; for(i=0;i<11/2;i++) { temp=a[i]; a[i]=a[10-i]; a[10-i
2016-08-30 22:08:57
22191
2
原创 C语言学习,有一个已排好序的数组,要求输入一个数字后,按原来的排序规律将它插入数组
#include<stdio.h>int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp,i=0,j=0; scanf("%d",&temp); for(i=9;i>=0;i--) { if(temp<a[i]){ a[i+1]
2016-08-30 21:46:20
61950
5
原创 Android Matrix 平移
public class MyImage extends ImageView implements OnGestureListener { private GestureDetector mGesture; private Matrix matrix; public MyImage(Context context, AttributeSet attrs) { sup
2016-08-22 11:34:37
1928
原创 Android 自定义控件之三点循环缩放
效果图如上,就是三点循环的变大、变小package com.example.dotdemo;import java.util.ArrayList;import java.util.List;import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import android.anim
2016-08-17 14:22:08
1023
原创 Android 自定义控件之图片裁剪
package view;import java.util.ArrayList;import java.util.List;import util.SystemUtil;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.grap
2016-08-17 10:22:39
1181
原创 Paint 的一个小知识点
之前在网络上看到这样的进度条,一直不知道两个角是怎么出来的,原来是Paint的一个方法Paint.setStrokeCap(Paint.Cap.ROUND);可以设置
2016-08-12 16:14:18
413
原创 Android 画波纹进度条
public class MyLineView extends View { private Paint mPaint, mPaint2; private Path mPath = new Path(); protected int mViewWidth, mViewHeight; protected int mWidth, mHeight; private f
2016-07-26 10:52:40
1265
原创 Android ListView 头部缩小放大的效果
这里写链接内容http://img.blog.youkuaiyun.com/20160722181210700” alt=”这里写图片描述” title=”” />://img.blog.youkuaiyun.com/20160715123807827) ListView 头部缩小放大的效果package com.example.draglistview;import android.animation.ValueAni
2016-07-22 18:23:41
1729
原创 Android 微博头条头部滑动的效果
效果图如上package com.example.pageindicator;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.os.Bundle;import android.support.v4.app.Fr
2016-07-15 13:33:37
1587
原创 Android ClipDrawable 应用
ClipDrawable 对应于标签,它可以根据当前的等级来裁剪一个Drawable,裁剪的方向可以通过android:clipOrientation和android:gravity来共同控制,android:clipOrientation表示裁剪方向,有竖直、水平方向,常常用于满圆的进度条。准备两张图片 命名为full_classroom_img 、free_classr
2016-07-08 15:26:22
312
360手机助手附近的布局
2015-02-10
Widget启动报异常。请求解决
2014-12-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人