自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spring Boot(一) 入门

一、创建项目进入http://start.spring.io/快速创建一个springboot项目选择gradle构建,填写包名等信息后下载代码到本地,导入到idea。二、代码1、自动生成了如下代码@SpringBootApplication表示这是个springboot应用,点击左侧的绿色三角形即可启动项目,由于springboot内置了Tomcat,所以不需要手动配置。(Application类

2017-10-16 11:49:17 515

原创 Volley

1、Volley的简单使用: 首先创建requestQueue请求队列: RequestQueue requestQueue = Volley.newRequestQueue(context); 接着创建请求,这里以StringRequest为例:StringRequest stringRequest = new StringRequest(Request.Method.GET, url,

2017-04-11 16:31:45 299

原创 NDK入门

1、安装NDK开发工具:进入Android Studio->Preferences->Android SDK->SDK Tools,找到NDK安装: 2、新建project,在gradle.properties中加入android.useDeprecatedNdk=true在app中的build.gradle的defaultConfig中加入ndk { moduleName

2017-03-30 11:29:22 355

原创 Rxjava2

1、创建被观察者Flowable: Flowable<String> flowable = Flowable.create(new FlowableOnSubscribe<String>() { @Override public void subscribe(FlowableEmitter<String> e) throws Exception {

2017-03-29 19:02:20 542

原创 Retrofit源码学习之动态代理

我们已经知道retrofit的主要作用是把一个接口解析包装成http的请求,由OKhttp发送。用到的技术就是动态代理。动态代理的作用就是当你要调用某个Class的方法前或后,插入你想要执行的代码。接下来我们看一下如何实现动态代理。 一、定义接口:public interface UserListener { String getName(); int getAge();}二、创

2017-03-11 13:30:37 2998

原创 Android复习之Activity的一切

一、生命周期 Activity的生命周期是老生常谈的话题了。主要有如下七个方法: onCreate() 创建Activity调用, onStart() Activity可见了,但是不能与用户交互, onResume() Activity获得焦点,可以与用户交互, onPause(), onStop() Activity不可见, onDestroy() Activity销毁不可见, 以

2017-03-11 12:56:33 247

原创 Effiective Java读书笔记——第2章 创建和销毁对象

第1条:考虑用静态工厂方法代替构造函数。 例子:Boolean类的静态工厂方法:public static Boolean valueOf(boolean b){ return (b?Boolean.True:Boolean.FALSE);}好处: 1、与构造函数不同,静态工厂方法具有名字。如BigInteger(int,int,Random)返回的BigInteger可能是素数,如果

2017-02-26 15:24:50 245

原创 Java并发相关辅助类

1、CountDownLatch 作用:完成一组在其他线程的操作之前,使得一个或多个线程一直等待。 构造方法: CountDownLatch(int count) count为计数器的总数 其他方法: countDown(),每调用一次,count减一 await(),在count等于0之前,使得当前线程一直处于等待状 态,直到count等于

2017-02-22 14:41:15 417

原创 Thread相关方法介绍

1、Object.wait(),Object.notify() 作用:当在一个线程内调用object.wait方法后,这个线程会释放掉当前持有的对象锁,直到调用object.notify方法唤醒。 注意事项:需要在synchronized同步块中执行。 例子:final Object o = new Object(); Thread t1 = new Thread(new Ru

2017-02-22 11:24:41 265

原创 封装RecyclerView Adapter 实现可添加多个header和footer,可设置loadingView,低耦合的多种布局。

占位

2017-02-16 20:43:45 1205

原创 自定义LayoutManager

1、Recyclerview回收机制: 自定义LayoutManager时需要将不需要的View进行回收,在需要使用View时通过getViewForPosition获取View,这个View可能是之前回收的View,也可能是新new出来的,具体操作由recyclerView的recycler实现。 recyclerView内部有两个缓存:scrap和recycler。scrap缓存的View是

2017-02-14 16:19:40 371

原创 Rxjava操作符

1、map()操作符(一对一的转化)Observable.just("Hello") .map(new Func1<String, String>() { @Override public String call(String s) { re

2017-02-09 11:35:41 252

原创 Rxjava用法

1、RxJava基本概念: Observable(可观察者,被观察者)、Observer(Subscriber)(观察者)、subscribe(订阅)。Observable和Observer通过subscribe相关联。2、创建Observer(subscriber)即观察者Observer<String> observer = new Observer<String>() {

2017-02-09 11:04:02 262

原创 使用camera、matrix仿即刻APP换一换

@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //画当前图片 camera.save(); camera.rotateX(0); camera.getMatrix(matrix); camera.rest

2017-02-06 19:08:40 747

原创 RecyclerView之ItemTouchHelper仿今日头条频道管理拖动

Github地址:这里写链接内容 ItemTouchHelper的使用ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.Callback() { @Override public int getMovementFlags(RecyclerView rec

2017-01-03 20:21:55 2010

原创 Android 安装release版apk出现多个实例的问题解决方法

Android 安装release版apk出现多个实例的问题解决方法

2016-09-07 16:01:18 1860

原创 ViewPager + RecyclerView的显示问题

Recyclerview 添加viewpager作为头部的显示bug

2016-09-07 15:59:46 7313 3

原创 ViewPager自动切换及手动滑动重新计时的问题

ViewPager自动切换及手动滑动重新计时的问题

2016-09-07 15:58:36 4169 5

原创 Android图片操作工具类

package com.aliyun.oss.ossdemo;import android.app.Activity;import android.app.AlertDialog;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Handler;import andr

2016-05-10 11:22:36 950

原创 Android 5.0 自定义dialog 背景不透明解决方法

在android 5.0 以上的版本中,自定义的dialog如果有圆角的话背景底部会出现白色,如图: 解决方法是在style.xml文件中定义一个dialog的样式,代码如下:<style name="Dialog" parent="android:style/Theme.Dialog"> <item name="android:background">#00000000</ite

2016-04-28 14:42:18 1464

原创 Android 文件操作

写入文件public static boolean saveObject(Context context, Serializable serializable, String file) { FileOutputStream fos = null; ObjectOutputStream oos = null; try { fos

2016-04-11 20:07:40 347

原创 DrawerLayout+FragmentTabHost+ToolBar实现左滑菜单及fragment切换

1、drawerlayout是谷歌官方的侧滑菜单布局,drawerlayout下的第一个布局被视为主布局,第二个被视为左滑菜单,第三个为右滑菜单<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:

2016-03-14 19:18:54 1789

原创 Handler用法

一、handler + runnableHandler mHandler = new Handler();//将runnable加入到handler的线程队列中mHandler.post(runnable);Runnable runnable = new Runnable() { @Override public void run() {

2016-03-08 20:14:10 323

原创 Jenkins持续集成测试之Android单元测试

一、单元测试代码的编写 1、在Android Studio的创建的Android项目中,test文件夹下的ExampleUnitTest类编写测试代码 2、写好后可在AS的Terminal中输入gradle命令:gradle test 进行测试,测试结果可在app\build\reports\tests\debug文件夹下的index.html查看 二、Jenkins的相关配置 1、进入jo

2016-03-07 18:00:48 1683

原创 Android gradle配置

project下的build.gradle文件配置buildscript { repositories { maven{ url "http://.../content/repositories/thirdparty" //maven私服上存放第三方jar包的地址 } maven{ url "ht

2016-03-03 11:49:51 439

原创 Android自定义view

一、自定义属性 1、在values文件夹下新建attrs.xml文件 2、自定义属性name:名字,format:类型<resources> <attr name="mText" format="string"></attr> <attr name="textSize" format="dimension"></attr> <attr name="textColor" f

2016-03-02 16:57:07 270

转载 Android属性动画(ObjectAnimation)

public void objectAnimation(View v){ LinearLayout llProgress = (LinearLayout) findViewById(R.id.ll_progress); final float scale = getResources().getDisplayMetrics().density; flo

2016-03-01 13:48:46 914

原创 Java反射

一、对于任意一个类,都能知道这个类的所有属性和方法,对于任意一个对象,都能调用他的任意一个方法 二、获取反射机制的三种方法 1、Class c1 = Class.forName(“Employee”) 2、Class c2 = Employee.class; 3、Employee e = new Employee(); Class c3 = e.getClass(); 创建对

2016-03-01 10:16:47 213

Android ViewPager自动翻页及手动翻页后重新计时

Android ViewPager自动翻页及手动翻页后重新计时

2016-12-30

Prim算法求最小生成树

数据结构 利用prim算法求最小生成树 运行无错误 欢迎下载

2012-12-25

空空如也

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

TA关注的人

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