自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pengkv的专栏

一路精彩

  • 博客(234)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android开发有用的三方网站

有赞- 免费的微商城 http://youzan.com/ 秀米微信图文编辑器 http://xiumi.us/ 禅道项目管理软件 http://www.zentao.net/ 移动开发整合平台 http://www.devstore.cn/ 安卓开发工具平台

2015-06-16 14:11:53 1650 1

原创 各位大神对Java本质的一些的理解

关键字final:final变量的定义本身并不复杂,就是变量一经初始化就不能再指向其它对象(并不是不可以改变值)。(原文链接)关键字static:被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。(原文链接

2015-04-09 20:28:58 2362

原创 自定义View--弹性小球

效果图自定义代码public class BezierView extends View { Paint paint;//画笔 Path path;//路径 int radius = 50;//圆的半径 int time = 100;//计数时长 int index; int offsetIndex; float viewX, viewY;//图形中

2016-06-20 18:12:41 5303 1

原创 自定义View--最近刚开始流行的倾斜列表/图片

效果图代码实现一、定义属性在values文件夹下的attrs文件添加以下代码<resources> <declare-styleable name="TiltView"> <attr name="type" format="integer" /> </declare-styleable></resources>二、自定义布局public class TiltView

2016-06-07 11:19:01 3006

原创 RxJava常用功能

精彩推荐:给 Android 开发者的 RxJava 详解//RxJava 有2个最基本概念:Observable (可观察者,即被观察者)、 Observer (观察者)1.创建Observable对象Observable<String> myObservable = Observable.create(new Observable.OnSubscribe<String>() { @Ove

2016-06-02 10:00:40 1322

原创 StickListView--悬停效果

效果图实现思路监听ListView的滑动,等目的项为列表第一个可见的ItemView时,添加一个一个的布局,产生悬停效果实现代码public class CustomViewAcyivity extends BaseActivity { Toolbar toolbar; WindowManager mWindowManager; WindowManager.LayoutPara

2016-05-27 17:37:47 2062 2

原创 自定义View--单行上下滚动广告

效果图实现代码public class ScrollBanner extends LinearLayout { private TextView mBannerTV1; private TextView mBannerTV2; private Handler handler; private boolean isShow; private int startY1

2016-05-27 09:07:17 3486

转载 ViewDragHelper解读

精彩推荐Android ViewDragHelper完全解析 自定义ViewGroup神器 模仿探探首页卡片左右滑动效果,滑动流畅,卡片view无限重生案例效果图案例注释public class SlideLayout extends ViewGroup { private List<CardItemView> viewList = new ArrayList<>(); // 存放的是每一

2016-05-26 15:10:21 1602 1

原创 解决导入其他项目时文件乱码

效果图:操作流程:选择GBK –> Reload,然后选择UTF-8 –> Convert

2016-05-25 18:28:36 1630

原创 自定义View--可以拖曳的GridView

效果图自定义代码public class DragGridVeiw extends GridView { private final int PRESS_TIME = 1000;//长按时间 private int mDownX;//触碰时的X坐标 private int mDownY;//触碰时的Y坐标 private int mMoveX;//移动时的X坐标

2016-05-25 11:29:29 2224 3

原创 DiskLruCache使用指南

效果图DiskLruCache下载下载DisLruCache类,复制到项目中使用代码public class DisLruCacheActivity extends BaseActivity { private DiskLruCache mDiskLruCache; private Context context; private ImageView imageView;

2016-05-24 11:35:11 1256

转载 Android存储使用参考

原文链接:Android存储使用参考基本操作权限uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />判断sd卡可用public

2016-05-24 09:56:15 1379

原创 Rxjava+Retrofit 请求数据

添加依赖compile 'io.reactivex:rxjava:1.1.0'compile 'io.reactivex:rxandroid:1.1.0'compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'compile

2016-05-23 14:33:49 1518

原创 Retrofit初体验

添加依赖compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'compile 'com.google.cod

2016-05-23 09:51:46 1022

原创 线程结果回调Runnable、Callable、Future、FutureTask

//线程可以用我们常用的Runnable接口实现,但是这样没有返回值,如果想要线程运行结果,可以使用Callable、Future、FutureTask使用Runnable ExecutorService executorService = Executors.newCachedThreadPool(); for (int i = 0; i < 10; i++) {

2016-05-17 10:28:37 3369

转载 图片三级缓存工具类

原文链接: Android图片缓存技术!直接用在你的项目中,简单方便高效效果图 功能代码import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Handler;import android.os.Message;

2016-05-16 18:15:01 1660

原创 两张图解释Stack栈的用法

主要方法Object push (Object object) // 把对象压入栈顶部。int search (Object object) // 返回对象在栈中的位置,以1为基数。boolean empty () // 判断栈是否为空Object peek () //返回栈顶部的对象,但不从堆栈中移除它。Object pop ()

2016-05-16 14:19:29 1222

原创 标题栏的2个属性,沉浸式相关

<!--状态栏不覆盖在ContentView上--><item name="android:windowDrawsSystemBarBackgrounds">false</item><!--设置系统状态栏为透明--><item name="android:windowTranslucentStatus">true</item>//状态栏透明并覆盖在ContentView上(4.4 以上的属性)

2016-05-10 09:46:45 5859

原创 Android 混淆配置及Bug处理

//**为了防止apk反编译后源码泄漏,我们需要对发布的应用进行混淆打包。**好东西要分享:使用proguard混淆android代码 Android混淆打包那些事儿本项目的proguard-rules.pro文件#==================================【基本配置】==================================# 代码混淆压缩比,在0~7之间,默

2016-05-04 17:56:57 5942

原创 Arcgis地图常用操作

效果图 功能简介这个页面用到了添加图层,添加覆盖物,覆盖物的事件处理,地图的旋转、缩放,高德定位,地图分层显隐,关键词搜索等功能。本篇博客仅为了记录相关功能实现的代码块,所以未进行排版梳理,对Arcgis有需求的,建议看官方文档 或中文文档 。布局代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="

2016-04-28 13:23:46 9859 6

原创 自定义View-6-拖动按钮复杂版

效果图View代码第一步:自定义属性 在values文件夹下的attrs.xml文件下添加代码declare-styleable name="DragHoriView"> attr name="hor_number" format="integer"/> attr name="nodestext" format=

2016-04-23 11:21:49 1449

原创 自定义View-5-拖动选择按钮

效果图View代码第一步:自定义属性 <declare-styleable name="DragView"> <attr name="icon_drag" format="reference"/> <attr name="color_circle" format="color"/> <attr name="dot_num" format="intege

2016-04-23 11:21:20 1465

原创 自定义View-4-重写onDraw

效果图页面代码public class SouthView extends View { private Paint mPaint; private int mRadius; private int mCirclrRadius; private float mDegrees=0; public SouthView(Context context) {

2016-04-23 11:20:54 1366

原创 自定义View-3-重写onLayout

效果图布局文件LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">

2016-04-23 11:20:29 1829

原创 自定义View-2-重写onMeasure

效果图布局文件LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">

2016-04-23 11:19:49 1337

原创 自定义View-1-动态添加view

效果图//在代码中实现添加布局布局文件LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:id="@+i

2016-04-23 11:19:19 4589

原创 自定义View-序言-你需要的知识点

//自定义View是编程水平进阶的一个体现,要想实现自定义View,你需要掌握以下知识点。View的弹性滑动属性动画弹性滑动View的触碰事件View事件的分发机制View事件的滑动冲突View的绘制原理动态添加代码理解MeasureSpecmeasure流程layout流程draw流程以及shape、selector等

2016-04-23 11:18:41 1019

原创 程序Bug解决流程

//平时开发难免会遇到许多Bug,有时纠结了好久真的想一头撞死,所以总结了一般解决Bug的流程,仅供参考。解决Bug的首要步骤,也是最重要的步骤就是知道错在哪,只有你找到真正的错因,你才能找到解决之道,所以一定要找到真正出错的原因,具体到那一行代码找到真正出错的原因,具体到那一行代码找到真正出错的原因,具体到那一行代码//如何能精确定位到错误的那一行代码呢?1、打断点、打Log、注释掉相关代码逐行排

2016-04-22 23:40:16 1413

原创 学习新技术知识的方法

//一如IT深似海,从此学习是日常。IT业日新月异,总避免不了学习新知识,总结了些个人的学习方法,仅供参考。1、看官方文档2、看Demo3、搜相关文章,有必要的话买相关书籍4、加QQ群向前辈请假5、多敲代码、勤动手6、作总结、写博客

2016-04-22 23:27:32 1319 1

原创 5.0以上运行正常,5.0以下报错

遇到一个变态问题,导入一个jar,5.0以上运行正常,5.0以下就报错Error inflating class com.esri.android.map.MapView后来发现是导入的依赖包太多了,可以通过下面的配置解决1、在build.gradle里面加defaultConfig { multiDexEnabled true}2、在Application里面加@Overrideprote

2016-04-18 09:28:11 2395 2

原创 android studio 更新Gradle版本方法

在导入其他项目时,经常由于gradle版本不一致而导致不能编译解决方法:第一步:点击让它下载,其实目的并不是要它下载,因为这样速度会很慢,这样做只是为了让它在本地创建相应的目录结构第二步:直接在浏览器输入以下地址即可下载压缩包,直接根据需要更改版本号 比如想下载1.9版本 http://services.gradle.org/distributions/gradle-1

2016-04-16 14:20:58 22140 1

原创 更新gradle插件,提升编译速度

每次编译运行都要等一会,很不开心有没有,那就升级下gradle插件,体验下Instant Run吧。一:原来我还在用1.5.0的二:编译时会提醒我升级三:File–>Setting–>输入Instant Run ,点击右上角update project就可以了四:当你运行一次后再编译时,它只会重新编译修改的部分

2016-04-16 14:15:53 2420

原创 Android开发找工作之前先看看这些知识点吧

1.Listview列表效率优化(1)利用convertview回收视图 (2)采用ViewHolder模式 (3) 异步加载图片 (4) 快速滑动时不加载图片 (5) 如果自定义的item中有图片,需要处理图片(减少图片所占内存) a.对图片进行边界压缩 b.用option类来保存图片大小 c.避免图片的实时缩放,最好预先缩放到视图大小 (6)尽量避免在list

2016-04-03 21:41:19 1797

原创 一个封装类教你学会SQLite数据库

数据库操作类的命名一般以Dao为结尾,什么是Dao呢?DAO(Data Access Object) 数据访问对象是第一个面向对象的数据库接口数据实体类public class Tree { private int id; private String name; private int age; private float price; public int

2016-02-26 14:15:24 7316 5

原创 Git代码管理的使用流程

准备工作首先要配置SSH才能对代码进行操作,配置操作请谷歌。1、检出仓库git clone username@host:/path/to/repository2、进入到工程目录cd 工程路径3、获取主干最新代码git checkout master(切换分支) git pull(获取最新代码)4、新建一个开发分支myfeaturegit checkout -b myfeature5、保存更改内容g

2016-02-26 10:00:39 4145

原创 DownloadManager:系统的文件下载器

系统通知栏系统文件夹String uriStr = "https://qd.myapp.com/myapp/qqteam/AndroidQQ/mobileqq_android.apk"; Uri mTargetUri = Uri.parse(uriStr); DownloadManager.Request mRequest = new Downloa

2016-02-26 09:34:31 2017 4

原创 自定义ProgressDialog加载图片

mDialog = new ProgressDialog(this); mDialog.setCancelable(true);//是否可以被取消 mDialog.setMessage("loading...");//加载显示的信息 mDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//圆环

2016-02-23 23:53:45 4548 1

原创 Android蓝牙技术Bluetooth使用流程(详解)

蓝牙设备之间的通信主要包括了四个步骤设置蓝牙设备寻找局域网内可能或者匹配的设备连接设备设备之间的数据传输具体编程实现1. 启动蓝牙功能首先通过调用静态方法getDefaultAdapter()获取蓝牙适配器BluetoothAdapter,如果返回为空,则无法继续执行了。例如:BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDe

2016-02-12 20:32:49 7484

原创 Android蓝牙技术Bluetooth初体验

一:Bluetooth包简介//Android平台提供了一个android.bluetooth的包,里面实现蓝牙设备之间通信的蓝牙API。总共有8个类,常用的四个类如下:BluetoothAdapter类//代表了一个本地的蓝牙适配器。它是所有蓝牙交互的入口点。利用它你可以发现其他蓝牙设备,查询绑定了的设备,使用已知的MAC地址实例化一个蓝牙设备和建立一个BluetoothServerSocket(

2016-02-12 19:28:47 2717 1

原创 WindowManager(视图主宰者)

WindowManager允许我们在Activity上添加或者是移除view。//这个类主要有三个方法:WindowManager.addView(view,LayoutParams);WindowManager.removeView(view);WindowManager.updateViewLayout(view,LayoutParams);效果图:使用方法://自定义视图final Vi

2016-01-26 15:30:12 1914 6

屏幕信息获取软件

可以获取屏幕信息

2016-05-25

git录制工具-高效版

最简洁的gif录制工具

2016-05-25

屏幕长度颜色截取工具

屏幕长度颜色截取工具

2016-05-25

gif录制器,高效版

2016-05-25

薄荷标题栏

通用标题栏

2016-05-10

Adapter加载动画源码

最简洁实现adapter加载动画的代码,还可自定义动画效果

2015-10-27

底部菜单栏Demo

FragmentTabhost实现的底部菜单栏,简洁

2015-08-12

gif绿色录制工具超级简单

超级简单的gif绿色录制工具,免安装直接使用,很小的体积

2015-08-12

二维码、条形码的扫描以及二维码的生成

支持二维码的扫描、条形码的扫描、二维码的生成和自定义扫描框

2015-08-10

SQLiteDemo

一个关于SQLite的例子,里面有增删改查的方法

2015-08-05

Android Studio 的设置

Android Studio 的设置,包含界面、快捷键等

2015-08-03

volley.jar

网络加载项目Volley,于2015/6/17从官网下载转化成.jar文件,使用起来更方便

2015-06-17

空空如也

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

TA关注的人

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