自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 android中加载本地图片到内存

android中加载本地图片到内存首先先来了解下下面这些名词的关系: 名词 解释 px 屏幕上的点就是由像素点组成的,可以说是绝对的单位 Density 屏幕密度 DensityDpi 每英寸的像素数:160dpi代表着每英寸有160px的像素 Dip 设备独立像素,简称dp,android中控件的大小推荐设置这种单位

2016-05-14 15:38:17 1701

原创 Zygote进程的启动

1. 系统启动时init进程会创建Zygote进程,Zygote进程负责后续Android应用程序框架层的其它进程的创建和启动工作。2. Zygote进程会首先创建一个SystemServer进程,SystemServer进程负责启动系统的关键服务,如包管理服务PackageManagerService和应用程序组件管理服务ActivityManagerService。SystemServer

2015-12-10 11:32:56 1472

原创 android studio上git的使用

1.先下载好git并安装好2.配置本机git信息$ git config --global user.name "llj" $ git config --global user.email [email protected].创建sshkey$ ssh-keygen -t rsa -C "[email protected]"按回车后会在

2015-12-08 17:47:35 769

原创 android中Gson类库的使用

1.反序列化1.public T fromJson(String json, Class classOfT)2.public T fromJson(String json, Type typeOfT)3.public T fromJson(Reader json, Class classOfT)4.public T fromJson(Reader json, Type typeO

2015-12-03 12:14:04 2557

原创 android Material主题中的button效果

在android5.0新增了ripple的效果,他可以运用到Button,ImageButton,TextView,以及一些布局容器。首先,我们看android:Theme.Material.Light主题中设置的各种ripple效果属性的默认值:1.@drawable/item_background_material2.@drawable/item_background_borderl

2015-12-01 14:08:51 9251

原创 android自定义权限

今天在研究android自定权限的时候,发现一个错误:11-25 16:16:24.819 1747-1747/com.example.android.renderscriptintrinsic E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.android.renderscriptintrinsic, P

2015-11-25 16:53:11 761

原创 AndroidSwipeLayout的使用(listview,gridview,view中滑动显示隐藏按钮的使用)

首先感谢类库作者。这个控件比较强大,强大之处就在于SwipeLayout这个类SwipeLayout:里面封装了对拖动事件的处理类ViewDragHelper,以及内嵌了两个参数类,使用了枚举类:public static enum DragEdge { Left, Right, Top, Bottom; }; public static enum ShowMode

2015-11-06 12:02:43 1905

原创 AnimationEasingFunctions类库的使用

首先感谢类库作者。这个是一个定义了各种TypeEvaluator的类库,并通过TypeEvaluator来生成一个值动画对象。Glider.classpublic static ValueAnimator glide(Skill skill, float duration, ValueAnimator animator) { return Glider.glide(

2015-11-04 12:54:26 1391

原创 AndroidSweetSheet类库的使用

普通的弹框多以dialog的形式弹出,这个类库是以布局的形式弹出来的。以下是作者的源类库中的包定义:SweetSheet.class代码中主要使用的类,在初始化时候需要传入依附的父布局(以后弹出的view就是要加入到这个view中的):// SweetSheet 控件,根据 rl 确认位置 mSweetSheet = new SweetSheet(rl)

2015-11-03 18:11:10 1293 1

原创 SystemBarTint的使用(设置半透明状态栏)

1.在系统是4.4以上的系统,包括4.4开始可以设置半透明的状态栏了代码: if(VERSION.SDK_INT >= VERSION_CODES.KITKAT) { //透明状态栏 getWindow().addFlags(WindowMa

2015-07-28 16:58:20 15620 2

原创 AndroidViewAnimations开源框架实现

1.这是一个开源的动画库,首先感谢作者的分享。BaseViewAnimator.class这个是所有动画对象的基类,主要用来设置动画的属性。public abstract class BaseViewAnimator { public static final long DURATION = 1000; private AnimatorSet mAnimatorSet;// 存

2015-07-27 14:48:29 3754

原创 任务处理类Bolts的使用(可以代替AsyncTask)

AndroidExecutors.class用来构建在android中使用的线程池 public static ExecutorService newCachedThreadPool() { ThreadPoolExecutor executor = new ThreadPoolExecutor( CORE_POOL_SIZE, MAX_POO

2015-04-30 17:45:07 1994

原创 Comparable使用

1.对象类必须实现Comparable接口2.使用Collections.sort(list);对集合进行排序3.return返回1的排在集合的前面,自己可以在这个方法里设置自己的排序。@Override public int compareTo(A a) { return a.getOrder().compareTo(this.order); }

2015-04-23 13:35:33 1007

转载 java中split()特殊符号"." "|" "*" "\" "]"

关于点的问题是用string.split("[.]") 解决。关于竖线的问题用 string.split("\\|")解决。关于星号的问题用 string.split("\\*")解决。关于斜线的问题用 sring.split("\\\\")解决。关于中括号的问题用 sring.split("\\[\\]")解决。

2015-04-20 14:32:01 2221

原创 selector的使用

1.字体颜色的变化放在color文件夹下android:color可以是颜色的引用,也可以是直接的#ffffff2.背景图片的的变化放在drawable下android:drawable要是图片的引用3.背景颜色的变化放在drawable下可以是引用(l两种方式): 可以直接是颜色字符串:

2015-04-18 15:41:27 506

原创 Application解析和里面的回调函数

该类作为一个程序的标记,刚开始做android的时候,直接都是着手编写四大组件的上。后来发现一般都是自己写个类来自己继承,然后在onCreate中有限处理一些任务,以及捕捉一些全局性的异常。今天在看api的时候发现里面有几个非常有用的方法。首先看继承结构:他继承了ContextWrapper类,顾名思义,Context的包装类,在ContextWrapper中维护这一个正真的Con

2015-04-17 21:52:17 5973

原创 android 调用系统拍照

1.点击进入拍照存在设置好后的文件// 通过uuid生成照片唯一名字 Settings.PICTURE_TMPURL = UUID.randomUUID().toString() + "image.jpg"; // 在该路径下构件文件对象 File tempFile = new File(Settings.TEMP_PATH, Settings.PICTURE_TMPU

2015-04-16 15:00:40 518

原创 java线程池的使用

1.如果线程池中的线程小于核心线程,新加入的线程对象默认会开启新的线程,直到超过核心线程2.如果好过了核心线程就会先将线程对象放在队列中,队列里面放不下了,且核心线程数小于最大线程数,就会开启新的线程来执行线程对象3.如果后两者都满了,则拒绝任务,抛出异常1.newFixedThreadPool(int nThreads)public static ExecutorServ

2015-04-15 14:17:59 574

原创 EventBus事件分发框架解读

转载:EventBus 源码解析以下是一些具体过程的分析:下面的方法是注册最终调用的方法: private synchronized void register(Object subscriber, boolean sticky, int priority) { List subscriberMethods = subscriberMethodFinder.findSu

2015-04-15 10:40:56 1984

翻译 AsyncTask解析

package com.example.demo.activity.net;import java.util.ArrayDeque;import java.util.concurrent.BlockingQueue;import java.util.concurrent.Callable;import java.util.concurrent.CancellationException;

2015-04-14 13:09:49 550

原创 图片加载框架Picasso解析

picasso是Square公司开源的一个Android图形缓存库主要有以下一些特性:在adapter中回收和取消当前的下载;使用最少的内存完成复杂的图形转换操作;自动的内存和硬盘缓存;图形转换操作,如变换大小,旋转等,提供了接口来让用户可以自定义转换操作;加载载网络或本地资源;

2015-04-13 15:32:51 9900 2

原创 图片加载框架Glide解析

Glide是一个高效、开源、 Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个是支持远程图片的获取、大小调整和展示。近日,Glide 3.0发布,现已提供jar包下载,同时还支持使用Gradle以及Maven进行构建。该版本包括很多值得关注的新功能,如支持G

2015-04-13 15:32:19 40914 14

翻译 FLAG_EXCLUDE_STOPPED_PACKAGES导致接受不到广播

android 3.1之后增加了系统的安全权限,为了防止有些应用通过静态注册的广播而开启。在系统发出的广播中默认加上了FLAG_EXCLUDE_STOPPED_PACKAGES的flag,加上这个flag之后,不会去匹配包下面没有开启(就是已经停止的)组件。就是说当前应用在没有开启的情况下,即使注册了静态广播,系统的广播(由于设置了默认的flag)发出广播时,只会向那些应用已经开启的广播发送。所以

2015-04-03 10:54:47 1135

原创 handler为什么要使用内部类

Handler classes should be static or leaks might occur.原因是:当Android应用启动的时候,会先创建一个应用主线程的Looper对象,Looper实现了一个简单的消息队列,一个一个的处理里面的Message对象。主线程Looper对象在整个应用生命周期中存在。当在主线程中初始化Handler时,该Handler和L

2015-04-02 10:59:55 1439

转载 编译FBReaderJ阅读器

由于从github上下载来的代码里面存在在jni的代码,需要使用ndk编译工具将其编译1.jdk,sdk环境先配置好2.配置Apache AntANT_HOME  E:\apache-ant-1.9.4-bin\apache-ant-1.9.4CLASSPATH  ;%ANT_HOME%libPATH  ;%ANT_HOME%bin

2015-03-31 10:41:10 491

原创 setBackgroundColor

1.setBackgroundColor(0xFFFF0000);2.setBackgroundColor(Color.BLACK);public class Color { public static final int BLACK = 0xFF000000; public static final int DKGRAY = 0xFF444444;

2015-03-27 17:40:38 5621

原创 OnPageChangeListener

tabs.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { Log.i("test", "onPageSelected:page" + arg0); } @Override public void on

2015-03-25 14:59:16 743

转载 getDimension,getDimensionPixelOffset,getDimensionPixelSize

1.getDimension()是基于当前DisplayMetrics的density进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。2.getDimensionPixelSize()与getDimension()功能类似,不同的是将结果转换为int,并且小数部分四舍五入。3.getDimensionPixelOf

2015-03-25 13:01:28 843

原创 TypedValue.applyDimension的作用

public static float applyDimension(int unit, float value, DisplayMetrics metrics) { switch (unit) { case COMPLEX_UNIT_PX: return

2015-03-25 12:34:35 1611

原创 View的移动(offsetTopAndBottom,scrollBy,scrollTo)

1.通过直接更改view的left,top,right,bottom的方法(瞬间改变)layout():改变了left,top,right,bottom,并在setFrame()中调用---invalidate()---onSizeChanged(newWidth, newHeight, oldWidth, oldHeight);---invalidate()---r.set--- p.i

2015-03-19 10:18:19 10478

原创 android各种文件夹路径

context.getCacheDir():  /data/data/com.example.qymh/cachecontext.getFilesDir():  /data/data/com.example.qymh/filescontext.getExternalCacheDir();   /storage/sdcard0/Android/data/com.example.qymh/

2015-03-11 16:00:45 8896

原创 actionbar的使用

1.在最新的android-support-v7-appcompat兼容包中,提供了兼容到2.1的actionbar.如果要使用最新的actionbar就要使用如下主题的activity,并且要继承ActionBarActivity。Theme.AppCompat如果目标的手机系统在11以上,也就是3.0以上的,需要在values-v11包中添加如下主题如果目标的手机系统在14以上

2015-03-10 11:18:59 431

原创 android的倒计时类CountDownTimer使用

private CountDownTimer timer = new CountDownTimer(30000, 1000) { @Override public void onTick(long millisUntilFinished) { mCountTv.setText((millisUntilFinished / 1000) + "″后重发"); } @Overr

2015-03-09 16:07:20 515

转载 (7).android.app.admin(控制设备管理器的一些类)

该包主要是控制一些系统的设置:在res文件建立xml/my_admin.xml文件: <!-- limit-password 设置密码的规则 watch-login 监控屏幕解锁尝试次数 reset-password 更改屏幕解锁密码 force-lock 设备自动锁屏 wipe-data 删除全部的数据 -->

2015-02-28 13:21:33 3052

原创 NiftyDialogEffects(各种动画的dialog)

NiftyDialogBuilder:该类继承Dialog,提供了快速创建dialog的方法在构造器中就将dialog的view进行了初始化:public NiftyDialogBuilder(Context context) { super(context); init(context); } public NiftyDialogBuilder(Context c

2015-02-07 23:04:15 555

原创 MediaPlayer的简单使用

// 设置uri if (!TextUtils.isEmpty(url)) { mSwitchIv.setSelected(false); if (mMediaPlayer != null) { mMediaPlayer.release(); mMediaPlayer = null; } mMediaPlayer = new MediaPl

2015-02-06 17:12:18 586

原创 VitamioBundle的使用

1.需要在activity中判断if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))            return;2.缓冲状态的回掉,用于显示加载进度(其实是设置MediaPlayer的该方法)mVideoView.setOnBufferingUpdateListener(new OnBufferingUpd

2015-02-05 16:19:14 2588

原创 软键盘弹出问题

输入框在键盘上面1.stateUnspecified|adjustUnspecified(scollview中表现2,否則表现3)在scollview中会自动弹出软键盘且会压缩scollview的高度,下面显示软键盘,不在scollview中不会自动弹出,手动弹出时软键盘覆盖在布局上面,布局不压缩2.stateUnspecified|adjustResize在scollview中会

2015-02-04 19:02:51 460

原创 textview斜体

在xml文件中使用android:textStyle=”bold” 可以将英文设置成粗体, 但是不能将中文设置成粗体。(即使xml中中文显示的是粗体,运行显示后显示的是正常的)。* Typeface.DEFAULT //常规字体类型   * Typeface.DEFAULT_BOLD //黑体字体类型  * Typeface.MONOSPACE //等宽字体类型  * Typefa

2015-01-21 14:18:08 4721

原创 PackageInfo,PackageItemInfo等一些类

PackageInfo:手机中所有包的信息,相当于从AndroidManifest.xml.收集到的所有的信息PackageItemInfo:一些信息的基类,相当于某一item的信息,比如一个activity,service,provide...,子类的继承关系图如下ApplicationInfo:从某个应用的AndroidManifest的〈application〉节点收集到的信息

2015-01-20 17:51:24 2048

空空如也

空空如也

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

TA关注的人

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