自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (26)
  • 收藏
  • 关注

原创 Android内存分析

Android 内存分析

2022-09-18 11:13:24 862 1

转载 C# 中await和async的作用

转载于:https://www.cnblogs.com/liqingwen/p/5831951.html  谢谢大神走进异步编程的世界 - 开始接触 async/await 序  这是学习异步编程的入门篇。  涉及 C# 5.0 引入的 async/await,但在控制台输出示例时经常会采用 C# 6.0 的 $"" 来拼接字符串,相当于string.Format() 方法。 目录What's 异...

2018-02-08 10:19:45 15439 1

原创 TextView 高亮字体局部点击

如题  点击TextView中的某个高亮区域响应点击事件简单的封装了下,成下面几个类CommonUtil.javapublic class CommonUtil { /** * Fistly before call this method you should below method first to make sure no backg

2017-11-26 21:29:17 966

原创 GreenDao基本使用

一.背景之前用dbFlow,但是因为某些原因不适合所有机型,所以准备用GreenDao,所以现在写篇文章记录一下使用的基本要点。二.基本知识点和坑 增 mUser = new User((long)2,”anye3”); mUserDao.insert(mUser);//添加一个 删 mUserDao.deleteByKey(id); 改 mUser = n

2017-10-08 22:09:32 1170

原创 Android .9图制作

一.背景正常的png图片在不同设备上都会等比例拉伸,有时候就会导致失真,所以这时候我们就要用.9图来指定图片哪些位置需要拉伸,哪些部分显示内容不用拉伸。二.如何使用.9图四条黑边的意义顶部:在水平拉伸的时候,保持其他位置不动,只在这个点(或线条)的区域做无限的延伸左边:在竖直拉伸的时候,保持其他位置不动,只在这个点(或线条)的区域做无限的延伸底部:在水平

2017-10-05 11:20:22 1129

原创 Cordova基本使用

先占个坑

2017-07-12 22:40:13 388

原创 搭建自己的Maven库

一.背景最近在搞Gradle,然后看到搭建自己的Maven库,所以试试,搭建maven库需要使用Nexus Repository去这个网站下载https://www.sonatype.com/download-oss-sonatype ,但是注意了要下载这个,因为这个才支持Maven(页面有写的)二.安装1.进入这个文件运行install-n

2017-05-08 07:45:18 9959 1

转载 Emmet安装问题

emmet安装失败先是安装失败,然后翻墙,又出现去gihub下载 PyV8,连接地址:https://github.com/emmetio/pyv8-binaries#readme然后找到你的Sublime_text_3的packages的安装包路径a.如果你是window

2017-03-03 22:27:48 584

原创 shrinkResources 的使用

一.背景对于缩小APk大小,除了开启混淆minifyEnabled true还有使用shrinkResources true说下这两者的区别minifyEnabled 这个是用来开启删除无用代码,比如没有引用到的代码shrinkResources 用来开启删除无用资源,也就是没有被引用的文件(经过实测是drawable,layout,实际并不是彻底删除,

2017-02-23 23:30:39 23048 2

原创 Activity Fragment数据传递(对象)引用不变问题

一.背景一天写代码出了bug,Activity传给fragment的arraylist经过fragment中的修改居然会改变activity的arrayList(之前传给fragment的那个),当时我就震惊了,颠覆了我多年对Android的认知。一开始找到这篇博客:http://www.cnblogs.com/duanxz/p/3566221.html  里面说bundle是传递引用,但

2017-02-12 21:13:53 3423 2

原创 关闭DrawerLayout的手势滑动

/**     * The drawer is unlocked.      */    public static final int LOCK_MODE_UNLOCKED = 0;    /**     * The drawer is locked closed. The user may not open it, though     * the app ma

2017-02-12 16:55:30 3393

原创 官方Databinding常用的一些方法

一.公用的实体类工具类Animal.javapackage com.example.administrator.databindtext12225;import android.databinding.ObservableField;import android.databinding.ObservableInt;public class Animal { publ

2017-02-09 22:16:52 2637

翻译 packageName和applicationId有什么区别(基于最新官方文档)

一.背景因为一些软件需要配置不同平台,要求“包名”(实际上指的是applicationId)不一样,然后我就想为什么只要改applicationId,不改packageName,而且这两者有什么区别呢?所以就有了今天的这篇博客了二.官方文档啥都不如直接看官方文档来的快,接下来我就翻译下吧,就当练手了,老司机可以直接看官方文档官方文档:https://developer.andr

2017-01-16 22:28:46 10221 1

原创 魅族安装不了安装过的应用

一.背景魅族metal有的应用安装之后一些应用之后,然后卸载,就再也装不上了,不管什么版本,第一次就恢复出厂设置,后来又出现了,so...作为Android程序员,我表示可能是卸载不干净,只能root,但是想想还是算了,毕竟考虑安全性问题,于是忍了一年,最近发现一个方法,可以完美解决,不用root了二.解决方法1.要用到adb,没配置adb环境的童鞋看着,按照步骤配置就可以了如

2017-01-08 21:59:54 6130

原创 Rxjava基本使用

之前转载过一篇Rxjava的使用,现在自己写了一个demo分析下简单的使用,估计下次就该分析源码了一.基本用法(1)用的是new  Action1// observable call 1 currentThreadmain// subscrible callxcqw 我是大雄currentThreadmain// observable call 2

2017-01-02 22:54:34 437

原创 Android视频播放器Exoplayer自定义

一.背景最近要用播放器播放视频,以前没怎么做过,但是听说过很多款第三方播放器,Android系统是没有播放器,以前写过一个用surfaceview写的简易播放器,但是离商用还有很远的路,所以经过一番研究,我还是决定用谷歌的Exoplayer,至于原因请看下面1.vitamio官网地址:https://www.vitamio.org/据说挺好用,但是要钱的,所以商用不行,貌似还不少,

2017-01-02 17:19:21 7146 2

原创 android Statusbar隐藏

官方文档在此:https://developer.android.com/training/system-ui/status.html详细的描述了怎么隐藏Stausbar public void hideStatusBarLowthan16(){ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCRE

2016-12-28 23:25:29 1370

原创 Android像爱奇艺屏幕旋转(华为P9特殊处理)

一.背景做一个播放器,然后像爱奇艺那样1.自由旋转屏幕2.点击最大化不会立马随着传感器变化(我的解决方案就是当最大化的时候监听又没有转动过90度,如果有就让他随着传感器变化,如果没有就不随着传感器变化)public class MainActivity extends AppCompatActivity { private boolean fullScreenFla

2016-12-21 22:28:27 2690

原创 Android调节屏幕亮暗度和音量

一.背景做视频用到了就记录下,从github(https://github.com/curtis2/SuperVideoPlayer 谢谢)上扒了一个项目的手势调亮度和音量(但是有bug!!!就是调节音量感觉会突然消失),本文重点是如何调节音量二.代码package com.example.administrator.gesturetext;import andro

2016-12-18 22:57:20 2980

原创 反编译APK获取包名和资源文件

每次用都查一会儿,这次把他记下来最新下载和使用Apktool.jar的方法  https://ibotpeaches.github.io/Apktool/   貌似要翻墙so  你懂得执行语句 Java -jar apktool.jar d test.apk -o out    (out是输出的文件夹名字)中间遇到一个问题用 appktool.bat   (apktool.ba

2016-12-07 22:59:23 2912

原创 Recycleview内容靠左

解决方法1.在布局文件下面写个View,然后width使用fill_parent(不要问我为什么知道,试了半天)2.试出了方法1觉得这个方法实在太傻比,然后才想起来还有谷歌百度,然后发现有更好的方法。就是在baseadapter中的onCreateViewHolder中填充布局的时候使用Inflater.inflater(R.layout.item,parent,false)至于原

2016-11-27 16:20:49 866

原创 单例模式的DCL问题

刚刚写完静态代码块问题,突然想到之前单例模式的坑,虽然解决办法知道了,但是之前的原理不太明白,刚刚突然想清楚了。。。就是这么任性1.饿汉式//饿汉式 class Single{ private Single(){} //私有化构造函数。 private static Single s = new Single(); //创建私有并静态的本

2016-11-27 16:06:41 1471

原创 静态代码块,构造代码块,构造函数之间的差别及先后执行顺序

突然有点不清晰,那么就把他整清晰1.构造函数这个不用多讲2.普通代码块普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”说白了就是类中的方法的代码3.构造代码快//构造块:直接在类中定义且没有加static关键字的代码块称为{}构

2016-11-27 15:00:35 3546

原创 is not an enclosing class

public class A{public class B{}}直接new B 会出现上述错误1. A a = new A();2.A.B b = a.new B();这样就可以了

2016-11-20 19:23:07 1925

原创 dagger的使用

拖延症犯了......赶紧补上吧一.背景最开始用dagger是因为项目需求,后来用着用着就太爽了,少写了不少代码,整个项目都清爽了,隔了一段时间没敲代码,用法都快忘干净了,所以赶紧写下来二.基本介绍什么引入方式我就不讲了,github上面都有一开始用dagger,主要是那些注解看不懂是什么意思,那就先把注解是啥意思写出来,然后再结合代码解释,这样就简单很多了。·

2016-11-15 22:59:09 410

原创 DBflow的使用

先占个坑

2016-11-15 22:58:37 850

原创 Google语音的使用

先占个坑

2016-11-15 22:56:33 1011

原创 MVVM基本使用

先占个坑

2016-11-15 22:56:05 358

原创 retrolamba语法

先占个坑

2016-11-15 22:55:22 177

转载 RxJava的使用

转自:http://gank.io/post/560e15be2dca930e00da1083#toc_24  多谢大神   本文加了自己的一些注释前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始

2016-11-15 22:54:44 979

原创 Toolbar的使用

setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击  false 不可以点击。actionBar.setDisplayHomeAsUpEnabled(true)   // 给左上角图标的左边加上一个返回的图标 。对应Actio

2016-11-15 22:53:54 265

原创 Android Studio快捷键(Window,Mac)

来源于http://blog.csdn.net/janice0529/article/details/45322871  谢谢大神   然后加点自己的理解及注释Mac下快捷键的符号所对应的按键⌥—> option|alt⇧—>shift⌃—>control⌘—>command⎋—>esc注: 与F6/F7/F12等F功能键开头的组合的

2016-11-03 16:41:04 503

转载 JVM结构、GC工作机制详解

转自:http://blog.csdn.net/tonytfjing/article/details/44278233  谢谢大神面试的时候经常被问到JVM,GC原理,所以今天百度了下,转载大神的文章,加点部分自己的理解文章主要分为以下四个部分JVM结构、内存分配、垃圾回收算法、垃圾收集器。下面我们一一来看。一、JVM结构根据《java虚拟机规范》规定,JV

2016-10-09 15:05:18 361

原创 AsyncTake与targetSdkVersion设置的关系产生异常(串行,并行导致的)

一.问题背景  设备(17),app一开始开了一个AsyncTask阻塞式接收消息(也就是一直执行不完),那么问题来了关于AsyncTask版本的问题,可以看看AsyncTask介绍targetSdkVersion设置  大于12   那么就是串行执行,如果新开了了一个AsyncTask就不会执行,因为前面那个AsyncTask阻塞没执行玩targetSdkVersion设置  小

2016-09-22 13:30:08 392

原创 Builder设计模式

一.用途1.为了把构建过程跟表示形式分离出来(说白了,动物生孩子,龙生龙凤生凤,老鼠的儿子XXX,过程都一样,但是最后生出来的不一样),所以可以把这个过程抽出去,因为大家都一样嘛二.使用场景1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2、当构造过程必须允许被构造的对象有不同表示时。三.举个栗子(1)女娲造人的例子,显示早了

2016-09-17 21:12:06 435

原创 用代理抓数据的坑

用fiddler抓包,如果是iso8859-1的编码方式会被强制转为GB2312,如果没有处理的话就会乱码

2016-08-16 18:42:19 449

原创 Math.round这个方法有坑

System.out.println("xcqw 5.4 *"+Math.round(5.4));System.out.println("xcqw 5.5 *"+Math.round(5.5));System.out.println("xcqw 5.6 *"+Math.round(5.6));System.out.println("xcqw -5.4*"+Math.round(-5.4));

2016-08-11 16:47:10 2065

原创 强引用,软引用,弱引用,虚引用的使用

Java中没有指针的概念,而引用就是一个弱化的指针,保证开发不能任意操作内存。最近整理了一下之前不明白的各种级别引用:强引用、软引用、弱引用、虚引用,它们的特点和应用场景汇总如下:1、强引用    如果一个对象具有强引用,GC绝不会回收它;当内存空间不足,JVM宁愿抛出OutOfMemoryError错误。一般new出来的对象都是强引用,如下[java]

2016-08-07 22:55:18 476

原创 ListView和GridView多次调用GetView的现象和解决办法

背景:以前遇到过,最近又碰到了,就总结一下吧一.ListView(1)出现原因是因为listView的高度不确定,一般用的是wrap_content,导致系统需要不断地测量,也就是多测调用onMeasure方法,所以就多次调用getView,所以解决方法也挺简单,把宽高写死(精确给个数字,或者match_parent).(2)解决方法adapter.javapack

2016-08-07 17:12:37 5661 3

原创 Android基础——对话框集合

只是为了方便查阅。。。记性不好一.dialog public void showDialogOne(View view) { // 工厂设计模式. 得到创建对话框的工厂 AlertDialog.Builder builder = new AlertDialog.Builder(this); // 设置标题 buil

2016-07-26 15:42:37 336

for daily read

for daily read

2024-05-22

daily test 0520

for soft 0520

2024-05-20

java虚拟机基本介绍

java虚拟机基本介绍

2022-08-25

For PAG Demo 0704

For PAG Demo 0704

2022-07-04

GreenDao基本使用

GreenDao基本使用,包括增删改查,一对一,一对多,多对多

2017-10-08

DataBinding基本使用

dataBinding基本使用方法

2017-02-09

Android音量明暗度

Android音量明暗度

2016-12-18

DataBindText

databinding基本使用

2016-12-11

原型模式实践代码

原型模式实践代码

2016-03-23

AIDL基本使用

AIDL基本使用方法和注意事项

2016-02-03

android应用层的代码

Android应用层源码

2016-02-01

属性动画的必要条件

属性动画的必要条件,用一个ViewWrapper重新包装一下,或者用ValueAnimator改变一下layoutParams.width

2016-01-26

overridePengdingTransition

overridePengdingTransition实现左右滑动切换Activity

2016-01-26

简单的帧动画

简单的帧动画实现例子

2016-01-26

仿芝麻积分的简单实践

芝麻积分的简单实践。

2016-01-20

仿芝麻信用分

仿芝麻信用分做了一个简单的实践。

2016-01-20

Canvas时钟绘制

用Canvas绘制一个时钟。

2016-01-20

各种Interceptor的不同效果

四种不同动画对应不同Inteceptor不同的效果

2015-11-08

基础代码简单版

基础动画简单版。

2015-11-08

基础动画源码复杂版

基础动画代码复杂版。

2015-11-08

WebVIew的基本使用

webview的基本使用

2015-10-24

代码写布局。

用代码写布局、

2015-10-18

checkbox,RaidoButton,改变默认的图标

checkbox,RaidoButton,改变默认的图标......

2015-10-17

让Andoird手机屏幕显示到电脑上

让Andoird手机屏幕显示到电脑上

2015-10-17

Fragment与Activity通信最好的方法

Fragment与Activity通信最好的方法

2015-10-15

Fragment(相同Activity,不同Activity)间的通信

Fragment(相同Activity,不同Activity)间的通信,都包含了

2015-10-15

Fragment后退栈和add,remove,replace的基本使用

Fragment后退栈和add,remove,replace的基本使用.

2015-10-15

Fragment基本使用

Fragment基本使用。

2015-10-15

毕向东html.doc,css.doc,javascript

毕向东html.doc,css.doc,javascript

2015-04-25

空空如也

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

TA关注的人

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