- 博客(43)
- 资源 (3)
- 收藏
- 关注

原创 轮播Banner使用简单集成
第一:权限配置第二:compile 'com.squareup.okio:okio:1.5.0'compile 'com.squareup.okhttp3:okhttp:3.2.0'compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'compile 'com.
2017-10-13 17:06:05
261
原创 studio3.0Butterknife使用及报错解决
第一步添加依赖implementation 'com.jakewharton:butterknife:8.8.1'implementation 'com.jakewharton:butterknife-compiler:8.8.1'使用就是这样 接下来是解决报错Annotation processors must be explicitly declared now.The following
2017-12-04 16:19:19
3141
原创 ijkplayer简单实现
简介:基于 ijkplayer 简单的 UI 界面 当前项目是基于 ijkplayer 项目进行的播放器界面 UI 封装。 是一个适用于 Android 的 RTMP 直播推流 SDK,可高度定制化和二次开发。特色是同时支持 H.264 软编/硬编和 AAC 软编/硬编。主要是支持 RIMP、HLS、MP4、M4A 等视频格式的播放 基于 ijkplayer 封装的视频播放器界面,支持 RTMP
2017-11-23 10:48:17
1613
2
原创 Ijkplayer使用
简介 ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS。需要导入相关so库和包以下是我的GitHub下载地址 GitHub源码下载 我们需要的只有lib包下的和整个media包 如图 接下来就是配置了 修改APP下的build.gradle, 主要设置.so及.aar的位置:apply
2017-11-22 21:29:00
1324
原创 greendao3.22的使用
1简介greenDAO功能 对象/关系映射(ORM) greenDAO Android ORMgreenDAO的本质是为存储在关系数据库SQLite中的数据提供一个面向对象的接口。只需定义数据模型,greenDAO将创建Java数据对象(实体)和DAO(数据访问对象)。这将为您节省很多无聊的代码,只是来回移动数据。除此之外,greenDAO还提供了一些高级的ORM功能,如会话缓存,预先加载和
2017-11-15 17:35:27
407
原创 多线程断点续传显示进度条和百分比
简介 复制即可用使用简单 这是一个简单使用的支持暂停和继续多线程下载显示进度条和百分比进度的多 首先添加依赖compile 'com.loopj.android:android-async-http:1.4.9'权限 记得如果是模拟器的话需要手动设置允许操作内存 <uses-permission android:name="android.permission.INTERNET"/>
2017-11-11 14:20:31
2223
原创 Recyclerview添加点击事件
目的 实现如listview的点击事件的效果 原理 为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将这个事件传递给外面的调用者。而“为RecyclerView的每个子item设置setOnClickListener”在Adapter中设置。其实直接在onClick中也能完全处理item的点击事件,但是这样会
2017-11-11 09:42:39
539
原创 AndroidEventBus3.0用法全解析
前言EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,我们会使用广播来处理,但是使用广播稍显麻烦并且效率也不高,如果传递的数据是实体类需要序列化,那么很显然成本会有点高。
2017-11-10 20:06:22
243
原创 断点续传进度条显示 开始 暂停 结束
先看图 1. 断点续传原理 在本地下载过程中要使用数据库实时存储到底存储到文件的哪个位置了,这样点击开始继续传递时,才能通过HTTP的GET请求中的setRequestProperty()方法可以告诉服务器,数据从哪里开始,到哪里结束。同时在本地的文件写入时,RandomAccessFile的seek()方法也支持在文件中的任意位置进行写入操作。同时通过广播将子线程的进度告诉Activit
2017-11-10 19:57:46
590
原创 tablayout结合动态创建fragment
第一添加依赖implementation 'com.android.support:design:26.1.0'第二步使用2.1得到控件@BindView(R.id.fra_tab_layout)TabLayout tabLayout;2.2添加tab页还可以添加图片的百度很多for (int i = 0; i title.length; i++) {
2017-11-05 18:50:11
919
原创 Retrofit结合rxjava使用
首先对他进行简单的介绍Retrofit是Square开发的一个用于网络请求的开源库,内部封装了okhttp,并且和RxAndroid完美的兼容,使得Android的开发效率增加不少的同时也使代码变得清晰易读。下面就是使用了第一步添加依赖compile 'io.reactivex:rxjava:1.1.3'compile 'io.reactivex:rxandroid:1.1.
2017-11-05 18:36:05
293
转载 Android 插件仓库
转自鸿洋神微信1024 送你几个用起来很爽的Studio插件原创 2017-10-24 鸿洋 鸿洋上周基本上被阿里巴巴Java开发规约刷屏了,不过真心赞,那么顺势给大家推荐几个用起来很爽的插件~~首先还是推荐下阿里巴巴Java开发规约的插件,如果你还没用使用,一定记得尝试下~本篇文章的环境:MAC + Android St
2017-11-03 08:48:04
1832
原创 Activity生命周期
Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity生命周期进行一次总结。Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:1.当A
2017-11-03 08:45:59
226
原创 开发常遇到的异常总结
异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException。Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。
2017-11-03 08:44:12
1149
原创 MVP模式介绍以及和mvc对比
一、MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。 在MVP模式里通常包含4个要素: (1)View:负责绘制UI
2017-11-03 08:42:07
441
转载 MVP 模式简单易懂的介绍方式
转载至 http://kaedea.com/2015/10/11/android-mvp-pattern/Android MVP 模式 [1] 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP 模式 的优势就充分显示出来了。MVP 模式是 MVC 模式在 Android 上的一种变体,要介绍 MVP
2017-11-03 08:39:21
281
原创 Lambda使用
这里只介绍使用流程具体语法清百度studio3.0使用如下第一创建工程时需要API24以上第二配置model如下进去是空白的如下图配置进入点击箭头所指的或者 file里 点击下图所指studio3.0以下配置在gradle中module中配置1.8 Lambda 配置依赖在Android文件下 compileOptions{
2017-11-03 08:35:46
212
原创 Fresco基本使用基本介绍
Fresco介绍项目github地址:https://github.com/facebook/fresco Fresco中文API:http://fresco-cn.org/docs/index.htmlFresco是目前最强大的图片加载组件之一 。Fresco中设计有一个叫做image pipeline的模块。它负责从网络,从本地文件系统,本地资源加载图片。 为了最大
2017-11-03 08:28:40
410
原创 自定义view圆加属性动画
从左上到右下 第一步自定义viewpackage views;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import andro
2017-10-25 21:06:00
377
原创 Android 购物车 高仿淘宝
先上图 接下来我就上代码啦 main布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:l
2017-10-25 17:58:49
2124
原创 自定义view原环进度圈
第一view类packageviews;importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.graphics.Rec
2017-10-22 18:19:51
289
原创 recycle人view多条目以及多条目的点击事件
一实现多条目注意创建adapter时继承RecyclerView.Adapter不能添加viewholder泛型如下RecyclerView.Adapter如果添加泛型是无法使用多个viewholder的1重写getviewtype事件@Overridepublic int getItemViewType(int position) {return 1;
2017-10-22 17:54:41
504
原创 XRecyclerView使用
第一步compile 'com.jcodecraeer:xrecyclerview:1.3.2'第二步在布局文件中使用android:id="@+id/xRecyclerView"android:layout_width="match_parent"android:layout_height="match_parent">第三步在main中使用xRecycl
2017-10-22 17:50:09
388
原创 项目屏幕适配
一. 为什么要屏幕适配;2012年到2014年支持Android设备的种类从3997增长到18796。同时各大厂商定制的屏幕尺寸也非常多。这将非常不利于我们进行屏幕适配。这要求我们必须掌握屏幕适配技能,以便使我们的app可以适用于不同屏幕尺寸的设备上。二。屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2
2017-10-22 17:49:08
348
原创 Glide基本使用
Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。目前,Glide最新的稳定版本是3.7.0,虽然4.0已经推出RC版了,但是暂时问题还比较多。因此,我们这个系列的博客都会使用Glide 3.7.0版本来进行讲解,这个版本的Glide相当成熟和稳定。第一步添加依赖compile 'com.git
2017-10-22 17:48:05
222
原创 okhttp简单封装及使用
第一步 导入依赖compile 'com.squareup.okio:okio:1.5.0'compile 'com.squareup.okhttp3:okhttp:3.2.0'compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'compile 'com.google.code.gson:gson:2.8.2'第三步 清单配置权限
2017-10-18 18:41:23
657
原创 Android面试宝典
1.常用的存储方式有哪些?(概率50%) (五种,说出哪五种,五种存储方式什么情况下用。)注意sharepreferes对象支持读取不支持写入,写入引用Editor。 SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。 SharedPrefe
2017-10-17 16:00:15
314
原创 电商项目的大致架构
电商核心订单(处理)购物车获取列表添加购物车编辑购物车删除购物车支付登录(次核心)原生第三发(大部分采用)APP用户管理的模块登录注册修改密码忘记密码获取验证码验证验证验证码获取用户信息apptaken 做认证用的
2017-10-13 17:11:00
334
转载 jQuery选择器详解
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass") 选择使用myClass类的css
2017-10-13 17:04:01
185
原创 imageloader使用一分钟集成
首先添加依赖compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'第一步新建一个MyApplication继承Application,并在onCreate()中创建ImageLoader的配置参数,并初始化到ImageLoaderImageLoader.getInstance().init
2017-10-13 17:01:53
229
原创 RecyclerView 简单讲解
那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。你想要控制其显示的方式,请通过布局管理器LayoutManager你想要
2017-10-13 17:01:00
351
转载 OKhttp讲解及各种协议
OKHTTP:1.为什么要使用okhttp?使用范围OkHttp支持Android 2.3及其以上版本。 对于java JDK1.7以上。官方英文网站https://github.com/square/okhttp/wiki/Recipes中文社区http://www.cnblogs.com/ct2011/p/3997368.html
2017-10-13 16:59:03
3493
1
原创 Android历史版本及和eclipse基本区别
studio和eclipse的区别1 studio是Google专门为Android量身定做的2 studio整合了Gradle构建工具3 完善的插件系统4 eclipse创建项目更简单5 eclipse项目体积小6 简述为什么开发Android应用配置了SDK还要配置JDKAndroid使用java进行开发,而jdk是Java的核心sdk是Android的
2017-10-13 16:56:04
1374
原创 Android 6.0权限简单总结
1. Android 6.0 运行时权限的介绍在保护用户隐私方面:Android6.0为了更好的保护个人隐私,添加了运行时权限:分为两类,一类是Normal Permissions,这类权限不涉及个人隐私,不需要用户进行授权,比如手机震动,访问网络;一类是Dangerous Permissions,这类权限涉及个人隐私,需要用户进行授权,比如读取SD卡,访问通讯录等。在用户操作方面:当执行
2017-10-13 16:52:24
331
转载 Android命名规范
刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法
2017-10-13 16:49:59
238
原创 Butterknife(黄油刀使用)一分钟集成
1简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及 setOnClickListener代码,可视化一键生成。2如何使用在项目的project 的build.gredle 文件中的dependencies标签下添加。classpath 'com.neenbedankt.gradle.plugins
2017-10-13 16:47:21
662
原创 logger使用
添加build.gradle依赖compile'com.orhanobut:logger:2.1.1'2. 初始化Logger.addLogAdapter(new AndroidLogAdapter());3 一般使用Logger.d("debug");Logger.e("error");Logger.w("warning");打印jso
2017-10-13 16:46:29
1339
原创 二维码生成及扫描
package com.bwei.test.erweima;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.v7.app.AppCompatA
2017-10-09 13:50:03
243
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人