自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 使用RecyclerView实现快速索引

之前做项目的时候遇到一个需求是实现品牌的字母排序功能,网上的资料很多,但是有一部分有bug,这篇文章是我学习和解决部分bug之后的总结。今天带来的是RecyclerView的A-Z字母排序和过滤搜索功能。 首先上效果图: 重点:1、实现数据排序分类 2、实现右侧的字母导航 3、搜索这里使用了一个中文转化为拼音的工具包,即pinyin4j-2.5.0.jar。官网地址:htt

2017-11-03 10:53:45 1562

原创 Node.js安装及环境配置之Windows篇

3######一、安装环境######1、本机系统:Windows 10 Pro(64位)2、Node.js:v6.9.2LTS(64位)二、安装Node.js步骤1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/2、选安装目录进行安装3、环境配置4、测试三、前期准备1、Node.js简介简单的说 Node.js 就是运行在服务端的 Ja

2017-10-18 08:11:35 1234

原创 图片二次采样

布局文件:    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"   >     

2017-10-13 08:33:14 242

原创 Git常用命令

查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区

2017-10-13 08:32:19 234

转载 快速集成视频直播功能

前言前段时间的工作安排,需要做一个视频监控的功能,其实就是采用 m3u8 做一个直播。确定需求后进行了一堆调研,最后在B站的 ijkplayer 与 Google 的 ExoPlayer 中做出了选择,对于为啥选择了 ExoPlayer ,后面会做具体分析,目前先留点悬念,目前根据选择 ExoPlayer,从最初调研到集成成功打算做一个专题,分别从众多框架中为何选择了 ExoPla

2017-10-13 08:26:28 432

原创 Android开发:用Drawable XML绘制带阴影效果的圆形按钮

根据交互设计的需要,可以考虑用Drawable的XML绘制按钮,好处有:矢量绘制,易于缩放;字节数更少(一般而言);基于XML文本,属性值易于调整;Drawable组件间可嵌套,可重用;XML与项目其他源代码在一起,便于版本控制。当然也有缺点:没有可视化的编辑器,编辑不够直观;受限于基本的图形和填充方式;美工人员很难上手。下图是泡面管家的计时器,中间的圆形(包含镂空

2017-10-13 08:22:45 1959

原创 android之线程池

线程池算是Android开发中非常常用的一个东西了,只要涉及到线程的地方,大多数情况下都会涉及到线程池。Android开发中线程池的使用和Java中线程池的使用基本一致。那么今天我想来总结一下Android开发中线程池的使用。OK,假如说我想做一个新闻应用,ListView上有一个item,每个item上都有一张图片需要从网络上加载,如果不使用线程池,你可能通过下面的方式来开启

2017-10-13 08:20:23 184

原创 android同步与异步

android 只有UI线程可以刷新界面,其他副线程不行,这样就需要副线程通过通信消息修改刷新和修改界面。 有2种方式可以实现: AsyncTask,Handle AsyncTask android提供的简单用于异步通讯的线程主要四个实现接口:     onPreExecute(), 该方法将在执行实际的后台操作前被UI 线程调用。可以在该方法中做一些准备工作,如在

2017-10-13 08:18:00 422

原创 recyclerview+okhttp+glide实现网络请求加载图片列表

导入依赖compile 'com.squareup.okhttp3:okhttp:3.8.1'compile 'com.google.code.gson:gson:2.8.1'compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'compile 'com.github.bumptech.glide:glide:3.8.0'

2017-09-19 09:04:20 2266 1

原创 自定义view雪花

main布局RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:myview="http://schemas.android.com/apk/res-auto" andr

2017-09-12 20:23:21 252

原创 Android Glide

Glide的特点区别于其它的第三方加载库,它可以与activity、fragment的生命周期绑定,在Paused暂停加载,在Resumed的时候又自动重新加载。支持Memory和Disk图片缓存支持Gif和Webp格式图片使用Bitmap Pool可以使Bitmap复用对于回收的Bitmap会制动调用recycle,减少系统回收压力总体设计基本概念

2017-09-12 09:05:05 379

原创 Android65K

Android65K随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:view plain copy print?"color:#ff0000;">UNEXPECTED TOP-LEVEL EXCEPTION:    java.lang.Illega

2017-09-12 09:03:15 301

原创 进程与线程

1.定义  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.  线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

2017-09-12 09:00:34 191

原创 recyclerview瀑布流

main布局RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match

2017-09-11 08:05:34 219

原创 自定义view圆环进度条

main布局    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddin

2017-09-04 08:08:15 196

原创 自定义圆环随机数

main布局(自定义view控件)LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_paren

2017-09-03 21:01:07 377

转载 事件分发机制

探讨Android事件传递机制前,务必明确android的两大基础控件类型:View和ViewGroup。View即普通的控件,没有子布局的,如Button、TextView. ViewGroup继承自View;ViewGroup控件,有子控件,如Linearlayout、Listview等。而事件即MotionEvent,最重要的有3个:(1)MotionEven

2017-08-29 16:18:11 1773

原创 pupwindow列表

整体思路1.首先添加butterknife的依赖,取消掉ActionBar,使用toolbar代替2.完成整体的布局,初始化控件,设置点击事件3.初始化popwindow所要显示的数据4.初始化popwindow控件的设置5.popwindow与listview相关联6.三个popwindow所依附的linearlayout,根据点击事件,做对应逻辑处理(改变textview的颜色,

2017-08-28 15:00:01 363

原创 Android实现视差特效

视差特效实现思路:1.解析OnTouche,Action_Down,Action_move,Action_up,业务逻辑过于复杂2.重写Listview的overScrollBy方法,继承式自定义控件listview,根据用户下拉的距离,动态修改headerview的高度 a.拷贝文件资源到项目中,自定义控件继承listview b.使用自定义控件,并往头部添加布局,设置适配器

2017-08-28 14:25:17 933

原创 Android抽奖轮盘

main布局(图片资源请自行寻找,抱歉)FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="

2017-08-28 09:49:42 680

转载 Android studio查看SQlite数据库

最近在做SQLIte,建表以后,却无法找到数据库文件用模拟器测试,在Eclipse中打开DDMS ——>File Explorer——>data——>data——>对应包下——>databases就能看到数据库文件了,然后导出到桌面,用SQLite Expert查看即可用模拟器测试,在Android studio中点击Tools——>android——>Android De

2017-08-26 09:14:10 1678

原创 侧滑菜单

专注于侧滑菜单的制作

2017-08-13 20:32:30 150

转载 java的三大特性之封装

从大二接触Java开始,到现在也差不多三个年头了。从最基础的HTML、CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过、失落过、寂寞过。虽然是半道出家但是经过自己的努力也算是完成了“学业”。期间参加过培训机构,但是极其不喜欢那种培训方式,于是毅然的放弃了选择自学(可怜我出了6000块钱啊),虽然自学途中苦很多,但是乐更多,当中的付出和收获只有自己知道。黄天不负有心人,鄙人愚钝,在大四第

2017-08-05 09:37:37 338

转载 Activity启动模式 及 Intent Flags 与 栈 的关联分析

在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的。    Intent主要用于2种情景下:(1)发起意图  (2)广播    它的属性有:ComponentName,action,data,category,extras,flags等,通常情况下,进行Intent的

2017-08-05 09:35:46 454

原创 Android画画板

main.xml布局RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="mat

2017-08-04 21:32:32 272

转载 自定义view圆并随手指移动

main代码public class MainActivity extends AppCompatActivity { private int screenW; //屏幕宽度 private int screenH; //屏幕高度 @Override protected void onCreate(Bundle savedInstan

2017-08-04 15:35:39 329

转载 获取手机wifi或4g网络的IP地址

main代码public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView

2017-08-04 15:32:01 7913

原创 日夜间模式切换

main.xml的布局RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="matc

2017-08-04 15:16:35 489

原创 onSaveInstanceState与onRestoreInstanceState的执行前提

onSaveInstanceState方法会在什么时候被执行,有这么几种情况:1、当用户按下HOME键时。这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则2、长按HOME键,选择运行其他的

2017-08-04 11:45:19 332

原创 自定义圆形图片实现多点触控放大缩小和拖动

如有雷同,不胜荣幸public class TouchView extends ImageView { private Paint p; static final int NONE = 0; static final int DRAG = 1; //拖动中 static final int ZOOM = 2; //缩放中 static f

2017-08-04 10:19:34 361

转载 ImageLoader工具类

public void setimage(String url, ImageView imageView, Context context) { ImageLoaderConfiguration loaderConfiguration = new ImageLoaderConfiguration.Builder(context).build(); DisplayImageOptio

2017-08-02 15:33:02 254

转载 如何由一个项目跳到另一个项目

Intent intent = new Intent(Intent.ACTION_MAIN);//知道要跳转应用的包名、类名ComponentName componentName = new ComponentName("com.example.rikao01", "com.example.rikao01.MainActivity");//第一个参数是要跳转到那个APP的包名全名,第二个参数

2017-08-02 15:19:08 2335

空空如也

空空如也

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

TA关注的人

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