自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曲洋的博客

日出东方 唯我不败

  • 博客(65)
  • 问答 (1)
  • 收藏
  • 关注

原创 android 旋转动画

1 在res下创建anim文件夹<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate android:interpolator="@android:anim/linear_interpolator" androi

2017-11-28 22:37:46 425

原创 前端 emmet快速编写代码

http://www.w3cplus.com/tools/emmet-cheat-sheet.html

2017-09-30 09:34:59 406

原创 android 解析包错误

很多时候因为一些小问题而话费很长时间,例如,解析包错误,我前几天遇到的;这个错误在很多时候都会出现; 1 版本问题 2 app包不完整 3 下载的app路径下载完成后打开的路径不一致; 4 代码问题我遇到的是第三个问题;

2017-09-15 18:05:46 501

原创 王者系列之Mybatis入门配置(maven版本)

这次我们一起来做一个入门级别的持久层框架Mybatis的配置,正所谓完事开头难。1 引入依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.6</version> </de

2017-08-20 19:47:31 3220

原创 王者系列之springmvc maven版本

在后台开发中,maven相当的重要,如果没有maven的话,那你就要陷入无休止的jar的烦恼中了。上篇博客简单的讲解了手动导入jar的springmvc配置,这次就来讲讲如何通过maven来配置springmvc(如果不会maven请百度)。1 pom.xml配置<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://

2017-08-17 21:49:21 600

原创 王者系列之springMVC(二)

上一篇只是大概说了一下springmvc的配置,并没有自己亲手去配置,这次就来自己配置了(工具,eclipse); 1 创建dynamic web project2 配置servlet记得刚开始学习it的时候,就接触 过servlet,最基本的就是每一个请求都会有一个对应的servlet来处理用户的请求,那么问题来了,这么多请求岂不是要写一对servlet,是的,你说的没错,所以,框架就应运而生了

2017-08-10 20:18:22 321

原创 android 拍摄视频

android中拍摄视频的需求很常见,今天就来说说;1 打开系统相机 Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); if (takeVideoIntent.resolveActivity(getPackageManager()) != null) { startActivityF

2017-08-07 16:30:07 1070

原创 Android 拍照

android中如何获取拍照后的缩略图和和原图详细很多android开发人员都会遇到这样的问题,但是,往往都是当时解决了,并没有总结,下次遇到同样的问题仍然要花很多时间去搞,下面是 我总结的一点点经验:1 获取拍照后的缩略图 Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takeP

2017-08-07 15:01:26 324

原创 王者系列之springMVC

之前做过半年多的后台开发,学习到了后台的一些东西,有了基础,再加上现在android行情不太好,所以下定决心自学后台技术了。其实,早就想自学了,由于工作的原因一直没能狠下心来自学,这次是要不到黄河不死心了,首先呢,就以springMVC开始学习,你可能会问,直接从这货开始学吗?是的,应为在下有一定得java基础,也知道后台那些是重点,哪些是难点,再说了,东西太多,从头开始太难了,白天还要上班。本人的

2017-08-02 21:42:55 308

原创 android 沉浸式的实现

一行代码实现头部沉浸式: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); }注意这里先要获取系统版本只有大于api level 19的时候才会

2017-06-13 20:54:21 286

原创 android 版本差异信息

1 fragment 在3.0后加入的,要兼容低版本必须使用v4包下的fragment,获取fragmentManager要使用getSupportManager方法;

2017-06-10 10:41:30 342

原创 android listview错乱问题

由于listview的view复用机制导致了item的数据错乱,下面就是一个简单的解决方案;在list中的数据加一个是否被选中的的字段用作记录状态,在getview中:itemView.setchoosed(bean.isChoosed());itemView.setOnclickListener(){bean.setchoosed(itemView.ischossed());}

2017-06-06 19:01:03 378

原创 android button,checkbox抢夺焦点问题

在一个布局中如果存在checkbox这类自动抢夺焦点的组件的时候应该咋整呢:在布局中设置focusable=false;

2017-06-06 18:46:00 2594

原创 android webview详解

小伙伴们在开发安卓的时候一定会用到webview加载h5页面的,今天就来说说这货。 1 为什么要用呢 当然是为了节省成本了,假如,一个公司只有pc端的电商,现在想做移动端的电商了,那就可以直接把html加载到webview上了,节省了大量的成本;另外,尤其是在移动端,版本更新更加容易,不用每次都发布新版本,只要加载不同的html就可了,如果有bug的话就要发新版本了;2 加载

2017-06-06 00:22:00 347

原创 android 解析json

你只知道gsonformat?但是,http://www.jsonschema2pojo.org/ 这是一个神奇的神奇的网站,解析出来的实体类的字段类型都是包装类型,包装类型又什么好处呢?因为你永远不知道后端会给你返回什么类型,如果你用基本类型,后端返回了null,那就呵呵了;其实左下角又个preview就可以看到你解析出来的实体类,接下来要做的就是复制粘贴了;

2017-06-01 22:13:21 335

原创 android leakCanary检测内存泄露

1,添加依赖debugCompile ‘com.squareup.leakcanary:leakcanary-android:1.3’ releaseCompile ‘com.squareup.leakcanary:leakcanary-android-no-op:1.3’2 初始化public class MyApplication extends Application { p

2017-06-01 22:05:22 333

原创 Android monkey测试

很多人做安卓好几年了,但是呢,很少用monkey测试,下面我们来看看!1 配置adb环境变量D:\as\sdk\platform-tools , 我实在这个目录下方法,adb.exe,将这个目录粘贴到path环境变量最前面就可以了;2 打开cmdadb shell monkey -p com.example.administrator.myapplicat -v 10000 > C:\Users\A

2017-05-29 19:37:34 466

原创 android parceble序列化问题

parceble是安卓中的实体类序列化要实现的接口,效率要高于seriable接口,下面看看怎么实现把; 1 实现public class User implements Parcelable{ private String name; private Integer age; public static final Creator<User> CREATOR = new Cre

2017-05-29 00:42:35 859

原创 Android asynTask造成的内存泄露

有人会问,asynTask是安卓自带的异步任务,怎么可能也会造成内心泄露呢?可惜,代码终究是人写的;asynTask是activity中的非静态内部类,由于java内部类的特点,asynTask会持有外部类的隐式引用,由于asyntask的生命周期可能比activity的长,当activity销毁的时候而asynTask仍然在执行,这样就造成asynTask持有的activity引用不会无法回收,进

2017-05-27 23:36:09 412

原创 Android 单例模式引起的内存泄露

很多人可能说,单例也能引起内存泄露吗?开什么玩笑;下面先来段代码:public class MyClass { private static volatile MyClass instance; private Context mContext; private MyClass(Context context) { this.mContext = contex

2017-05-27 23:24:06 729

原创 git的常见命令

git diff HEAD 查看最后一次commit和当前工作区代码的差别git push -u origin mastergit diff --staged 查看暂存区的变化git diff 也可以查看工作区域的变化git checkout -- 文件名 撤销工作区对文件的修改,在add之前;git reset HEAD 文件名 将add过的文件从暂存区回复到工作区状

2017-05-21 11:38:15 217

原创 java bigdemical比较大小

java中对bigdimical比较大小一般用的是bigdemical的compareTo方法;int a = bigdemical.compareTo(bigdemical2)a = -1,表示bigdemical小于bigdemical2;a = 0,表示bigdemical等于bigdemical2;a = 1,表示bigdemical大于bigdemical2;

2017-05-05 23:27:03 117494 2

原创 Java bigdemical精确计算

很多同学在实际开始中都遇到过这样的问题,就是在对商品价格进行计算的时候都出现了不精确的问题,下面我们就来看看; /** * a 乘以b * @param chengshu * @param beiChengShu * @return */ public static String multiply(String chengshu, Stri

2017-04-28 16:55:21 1166

原创 java 数据库优化(一)

在我们书写sql语句的时候,如果在数据量比较小的时候不会影响到query,但是,当数据量大的时候就要考虑如何快速的查询数据; 下面介绍一些有用的技巧; 1 通过索引优化select count(*) from orders where user_id like '100%';这个sql是查询订单表里面以100开头的数据有多少;user_id 没有添加索引;alter table orders ad

2017-04-04 00:06:04 2538 1

原创 mysql 如何查看sql语句执行时间和效率

1 show profiles; 2 查看profiling 是否是on状态; 3 如果是off,则 set profiling = 1; 4 执行自己的sql语句; 5 show profiles;就可以查到sql语句的执行时间;

2017-04-03 19:10:55 26010

原创 Java 如何在github上开启自己的库

360云盘关闭了,种子没有了?慌不慌,那天百度云盘也关了该怎么办?不用慌,有解决办法,我们可以再github上存放自己的资料,哈哈;1 安装git输入下面的一路回车,如果你有C:\Users\Administrator.ssh的话进去后打开id_rsa.pub把公钥复制出来;没有的话就执行下面的命令;ssh-keygen -t rsa -C "[email protected]"2 申请gi

2017-01-20 17:53:39 438

原创 Android 从源码看Handler消息机制

今天闲的无聊,实在不知道干嘛了,就想起来android中很重要的一个东西,消息机制,也就是我们常说的handler消息机制,下面我们就来一起看看; 1 实例化Handler Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) {

2017-01-03 11:23:41 319

原创 Android 比ArrayMap更高效的SparseArray

上篇博客介绍了ArrayMap,由于它是基于2个数组,而不像传统的hashMap每添加一个元素都要new一个对象,所以arraymap比较高效,这这次说的SparseMap比arrayMap还高效一些,为什么呢?1 内部也是基于2个数组(kv)2 不用每次new对象3 avoids auto-boxing keys 避免装箱4 但是key只能是int类型那什么时候用呢?当hashMap或arr

2016-12-29 10:45:01 635

原创 android中你所不知道的高效的ArrayMap

昨天闲的蛋疼啊,就看看了集合框架的源码,忽然看到了这么一个玩意儿,arraymap,好奇就百度了一下,大概也了解了一下,今天就一言不合写博客了,知识在于积累啊。 1 看看hashmap是怎么回事//无参数的构造,第一个表示默认的容器大小 public HashMap() { this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);

2016-12-28 16:35:17 1537

原创 Android设计模式之工厂方法(1)

这些天趁着有时间在看android的设计模式,感受颇深啊,我等下的代码和大神没啥却别,大神之所以牛逼是因为能在合适的场景下使用合适的设计模式从而设计出完美的代码结构,路漫漫其修远兮,吾将上下而求索,来先看图: 错了错了,不是这张图(上错了): 工厂方法模式的核心就在于2个接口(或抽象类),请看上图,一个是Product抽象类,他就表示我们需要的实例的抽象,另一个就是FathorFacto

2016-12-26 11:58:18 339

原创 Android 源码分析之okhttp3(builder二)

上篇博客简单地介绍了一下builder设计模式,其实也很简单,相信聪明的你能很快理解他的精髓,这篇就来说说okhttp3的设计模式,其实也是builder模式,只不过和alertdialog有点小小的区别,这个区别就是在成员变量位置,ok3没有对成员变量进行封装,而alertdialog将成员变量封装到了一个含有内部类的类中了; 下面先看下ok3的代码: OkHtt

2016-12-25 15:51:08 513

原创 android 设计模式之builder(一)

Android中的builder模式非常的常见,应用的也很广泛,不okhttp,alertdialog等等都有使用这种模式,这种模式的好处就是讲操作的细节隐藏了起来,只关注结果;今天我就简单地分析下alertdialog的源码,但是呢,先来写一个关于builder的简单demo,这样理解alertdialog的源码了;package com.example.dialog;import android

2016-12-25 10:32:45 333

原创 Android as你所不知道的debug能力

很多人虽然整天都在用as,但是一旦代码出现问题就无从下手,这时候我就想起来那本《论debug的重要性》的书了,之前接收ali大神的代码我真是头疼,但是大神教我如何debug之后感觉整个世界的不一样了;就用下面的代码来做演示:public class MainActivity extends AppCompatActivity { int a; @Override protect

2016-12-22 23:32:22 2150

原创 Android 5.0特新中ViewAnimationUtils的使用

7.0来了,5.0的特性掌握了吗?下来个图 这样的动画就是5.0特性里面ViewAnimationUtils提供给我们的;先看方法说明 这个方法能做2件事,1是返回一个动画对象,2是讲图片裁剪为一个圆;下面是参数说明: 第一个参数:代表的是你要操作的view,第二个是圆的x方向的中点,第三个是圆的y方向的中点,第四个是这个圆开始时候的半径,第五个是结束时候的半径;下面就是代码了:pub

2016-12-21 15:31:35 4726 1

原创 Android Studio如何解决代码冲突问题

很多人都有这样一个问题, 在pull代码的时候往往会产生git上的代码和本地发送冲突,那么我就用一张图解决这个问题; 我们不用去关系绿色的部分, 只要关系红色的冲突部分就可了;

2016-12-20 11:53:05 1785

原创 Android 去掉listview自带的蓝色背景

<ListView android:id="@+id/lv" android:layout_width="match_parent" android:divider="@null"//去掉分割线 //下面这2个是去掉蓝色背景 android:cacheColorHint="@android:color/transpare

2016-12-19 21:04:58 393

原创 Android rxjava内存泄漏问题

虽然rxjava很好用, 如果产生过多的订阅就会造成内存泄漏问题, 如何解决呢?@Override protected void onDestroy() { super.onDestroy(); //主动解除订阅关系 if (mSubscription != null && !mSubscription.isUnsubscribed()) {

2016-12-16 10:30:33 1643

原创 Android 最简单的rxjava遍历集合写法

废话不多说,直接上代码List<User> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { User user = new User(); user.id = i + ""; list.add(user); } Obse

2016-12-15 17:02:36 6316

原创 Android Rxjava遍历,过滤集合

在android中我们操作最多的就是遍历集合,并将需要的元素过滤出来,下面就让我们一起通过rxjava来完成它吧;以后麻麻再也不用担心我遍历集合了,一次搞定遍历和过滤, 当然作者只是演示rxjava操作符中的一小部分;1 添加依赖 compile 'io.reactivex:rxjava:1.0.14' compile 'io.reactivex:rxandroid:1.0.1'2 把代码撸成

2016-12-15 16:50:08 13689 1

原创 Android okhttputils显示下载进度

//download the new app private void downLoadNewApp(NewVersion.XianzaishiRfBean version) { if (StringUtils.isEmpty(version.getUrl())) { ToastUtils.showToast("新版本的APP url为空");

2016-12-14 15:52:16 3185 2

空空如也

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

TA关注的人

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