- 博客(83)
- 资源 (3)
- 收藏
- 关注
原创 Gzip压缩与解压
/** * 压缩 * @param unGzipStr * @return */public static String GzipCompress(String unGzipStr) { if (TextUtils.isEmpty(unGzipStr)) { return null; } try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIP.
2020-10-28 10:52:05
271
原创 Android常见技巧---App按返回键退出程序但不销毁
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(false); return true; } return super.onKeyDown(keyC...
2018-09-12 10:44:00
1841
原创 比较App版本大小
// 比较版本号的大小,前者大则返回一个正数,后者大返回一个负数,相等则返回0public static int compareVersion(String version1, String version2) { if (version1 == null || version2 == null) { return -1; } String[] ver...
2018-08-02 10:16:04
1102
原创 Android6.0以上动态权限申请
在Android6.0之前只需在AndroidManifest.xml文件写明权限即可。但是在Android6.0之后也就是SDK>=23的时候,一些隐私权限需要动态申请,而且在用户同意授权之后App才能拥有该权限。 private void checkPermission() { //检查权限(NEED_PERMISSION)是否被授权 PackageManager.PERMI...
2018-07-31 17:03:33
467
原创 使用socket建立长连接
服务端代码:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket; publi...
2018-07-31 16:59:35
1106
1
原创 Android——图片设置为高斯模糊效果(ImageView)
效果图://模糊Resources res = ShowActivity.this.getResources();//拿到初始图Bitmap bmp= BitmapFactory.decodeResource(res,R.mipmap.user);//处理得到模糊效果的图Bitmap blurBitmap = ImageFilter.blurBitmap(this, bmp, 20f);...
2018-02-23 14:51:51
7886
原创 Glide的使用
Picasso是不支持加载GIF图片的!!!依赖dependencies { compile 'com.github.bumptech.glide:glide:3.7.0'}网络权限<uses-permission android:name="android.permission.INTERNET" />http://www.cndog.net/tpb/2013-12/14/14...
2018-02-23 14:41:23
307
原创 Fresco的属性
依赖: compile 'com.facebook.fresco:fresco:0.11.0'xmlns:fresco="http://schemas.android.com/apk/res-auto "<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/my_image_view" android:...
2018-02-23 14:30:56
310
原创 Android——一些常用的自定义View
效果图:自定义ViewMyLinearLayout.javapublic class MyLinearLayout extends ViewGroup { private int marginTop = 50; private int marginLeft = 50; private int initTop = 50; priv
2018-01-18 16:29:30
567
原创 Android————AndFix热修复
AndFix介绍:AndFix,全称是Android hot-fix。是阿里开源的一个Android热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。支持Android 2.3 到 6.0。依赖:compile 'com.alipay.euler:andfix:0.3.1@aar'MainActivity.javapublic class MainActivity extends A
2018-01-18 15:43:14
365
原创 Android——APP多渠道打包
1.添加友盟统计依赖库compile 'com.umeng.analytics:analytics:latest.integration'allprojects { repositories { mavenCentral() } }2.Manifest中配置权限和Keyuses-permission android:name="android.per
2017-12-29 09:13:09
477
原创 Android——断点续传(下载)
断点续传的原理:断点续传和断点下载都是用的RandomAccessFile, 它具有移动指定的文件大小的位置的功能seek 。断点续传是由服务器给客户端一个已经上传的位置标记position,然后客户端再将文件指针移动到相应的position,通过输入流将文件剩余部分读出来传输给服务器断点下载 是由客户端告诉服务器已经下载的大小,然后服务器会将指针移动到相应的position,继续读出,把文件返回
2017-12-29 09:07:59
976
原创 Android——app的版本更新(强制更新/非强制更新)
1.App版本检测:要实现App的更新下载,我们上面介绍了,前提是服务器要保存一个App的版本号(通常的方式是保存versionCode,当然你要对比versionName也没关系)。当用户去手动检测版本,或者进入首页自动检测时,第一步是需要请求服务器的版本号,拿到版本号之后与当前App版本号(当前版本号可通过PackageInfo获取)进行对比。服务器返回的版本号大于当前App版本号,证明App
2017-12-29 08:45:50
15772
原创 android——本地相机上传头像
添加依赖:compile 'com.facebook.fresco:fresco:0.12.0'compile 'org.greenrobot:eventbus:3.1.1'compile 'io.reactivex.rxjava2:rxjava:2.1.7'compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'com.sq
2017-12-21 08:49:27
546
原创 Android——实现网络下载资源
网络权限:uses-permission android:name="android.permission.INTERNET" />uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>uses-permission android:name="android.permission.WRITE_E
2017-12-20 20:50:08
1325
原创 Android——视频播放器
jiecaovideoplayer的使用说明:这个播放器本身就具有自动记忆播放进度的功能,全屏状态下具有手势快进和快退的功能,以及左边控制亮度,右边控制音量,点击全屏后视频还是竖屏,需要旋转手机才能变成横屏播放,并且使用移动数据时,会有dialog提示。添加依赖:compile 'fm.jiecao:jiecaovideoplayer:5.5'布局文件:
2017-12-20 19:26:22
602
原创 android——悬浮图标(FloatingActionButton)
效果图:添加依赖:compile 'com.getbase:floatingactionbutton:1.9.0'布局文件:com.getbase.floatingactionbutton.FloatingActionsMenu android:id="@+id/multiple_actions" android:layout_width="wr
2017-12-20 19:17:15
7427
原创 android——做一个电影播放的Demo
APP下载地址效果图: 实现要求:1. 项目框架:MVP;注意:最大程度上避免内存泄漏;2. 图片加载:Fresco框架;3.网络加载框架:使用Retrofit+RxJava+okHttp实现网络加载;4. 数据展示使用RecylerView;5. ButterKnife,EventBus业务逻辑需求:1. 使用Mvp+Retr
2017-12-19 13:40:41
3844
原创 仿探探图片卡左右滑动效果
效果图:1、实现如图效果2、根据接口请求数据并展示3、实现如效果视频的切换效果4、换一批 可以切换随机切换一批电影数据添加依赖:项目的build.gradle allprojects { repositories { jcenter() maven { url 'https://jitpack.io' } }}...
2017-12-14 15:59:36
2623
原创 Android——自定义View实现9宫格解锁
自定义View1.实现一个子类继承View 2.覆盖onDrow()函数,渲染图像 3.覆盖onTouchEvent()函数 4.监听按下、移动,松开手指的动作 5.重新在onDrow()中渲染对应的的图像效果图:这是一个仿京东金融的一个九宫格解锁,最上面的日期显示使用的Time()获取到当前的时间,我们得到日期对其赋值就好了。九宫格解锁有两个模式:CREATE_MODE...
2017-12-14 14:50:29
1152
1
原创 android——顶部导航栏滑动变换背景色
效果图:当鼠标向下滑动的时候,顶部导航栏会设置一个距离顶部的值进行判断,滑动的时候,当滑动距离的值大于我们设置的这个值就改变导航栏的背景颜色,当滑动距离小于这个值的时候,不会发生改变,会恢复初始的背景颜色。在API 23以上的版本,ScrollView会有一个onScrollChanged()方法,这个方法会监听到我们滑动的高度,从而进行一些判断。在API 23以下的版本我们想要对...
2017-12-14 14:19:50
3107
原创 Android——沉浸式
Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字。京东的顶部栏就是一个沉浸式,它就是将状态栏给隐藏掉了,实现一个沉浸的效果。public class ImmersionUt
2017-12-14 13:50:11
468
原创 MVP+Retrofit+RxJava(Flowable)结合使用
MVP流程图: 添加依赖:compile 'io.reactivex.rxjava2:rxjava:2.1.7'compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'com.squareup.retrofit2:retrofit:2.3.0'compile 'com.squareup.retrofit2:conver...
2017-12-07 08:18:40
3481
原创 Android——MVP+xRecyclerView+Retrofit+OkHttp+RxJava结合应用
一、效果图: 二、技能要求:1. 如上图,使用 MVP+xRecyclerView+Retrofit+OkHttp+RxJava 接口:APIKEY=‘71e58b5b2f930eaf1f937407acde08fe’http://api.tianapi.com/nba/?key=APIKEY&num=10三、实现思路 1. 主页面显示一个xR...
2017-12-06 08:11:44
1222
1
原创 Android——Fresco、EventBus、GreenDao、Butterknife、Retrofit综合使用
一、案例效果图 二、技能描述 通过Retrofit进行网络请求数据,要求后两个参数(下方接口地址中的10和1)通过注解方式传进去,使用RecyclerView进行列表展示,请求到数据之后,使用GreenDao进行数据缓存,当进入页面时,先从数据库中取数据,进行展示,再进行网络请求,有数据就更新,没有网络情况下只显示数据库中数据。进入页面后判断网络状态,通过Ev...
2017-12-03 20:18:27
573
1
原创 Android——Greendao封装进行
关于GreenDao greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。关于greenDAO的概念可以看官网greenDAO greenDAO 优势 1、一个精简的库2、性能最大化3、内存开销最小化4、易于使用的 APIs5、对 Android 进行高度优化 GreenDao 3.0使用GreenDao 3.0采...
2017-12-01 20:25:39
4552
原创 Core Java——IO流的分类
一:IO流的分类1:从方向上分:输入流 / 输出流2:从处理的单元上分:字节流 / 字符流3:从处理的效率(介质):节点流 / 处理流 二:流类基本结构:三:一般操作文件流的步骤: 1:使用File类来找到一个文件 2:通过File类的对象去实例化字节流或者字符流的子类 3:进行字节流或者字符流的读写操作 4:关闭文件流四:System.in和S
2017-11-29 10:42:22
448
原创 Android——仿京东秒杀
效果图:京东秒杀是两个小时一个场次,判断本机的时间进行场次定时,然后在这两个小时里面进行倒计时。MainActivity import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;...
2017-11-23 09:41:29
1463
原创 Android——仿京东垂直滚动广告栏
效果图:实现仿京东垂直滚动广告栏,它是一个动态的无限自动轮播图,让我们看看它是怎么实现的:先看一看布局文件:activity_main.xml <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a...
2017-11-23 09:17:42
2752
原创 Android——EventBus实现一级购物车
效果图:实现接口: 公共请求参数:source=android参数名称:source参数值:android类型:String http://120.27.23.105/product/searchProductskeywords=笔记本&page=1参数说明:keywords 关键字字段 String类型 必传page 页码数 Str...
2017-11-23 08:49:32
551
原创 Android——仿京东淘宝分类页面
效果图:json在assets下添加依赖: compile 'com.squareup.okhttp3:okhttp:3.8.1'compile 'com.facebook.fresco:fresco:0.11.0'compile 'com.alibaba:fastjson:1.1.46.android'MainActivitypublic class MainA...
2017-11-22 15:57:31
14936
1
原创 Android——二级列表实现购物车
效果图:添加依赖:compile 'com.squareup.okhttp3:okhttp:3.9.0'compile 'com.google.code.gson:gson:2.8.2'compile 'com.github.bumptech.glide:glide:3.7.0'compile 'org.greenrobot:eventbus:3.1.1'项目清单中添
2017-11-22 14:43:59
2625
原创 自定义ScrollView实现图片下拉放大(弹性效果)+ 悬浮框
效果图:MyScrollViewpackage com.bwie.com.wangruixin1509c20171121;import android.content.Context;import android.graphics.Rect;import android.os.Handler;import android.util.AttributeSet;impo
2017-11-21 09:30:07
569
原创 Android——自定义拦截器实现OKHttp网络请求
示例图:一、技术选型:1. 项目框架:MVP;注意:避免内存泄漏;2. 图片加载: Universal-Image-Loader或Glide图片加载框架3.网络加载框架:OkHttp4. 自定义应用拦截器,封装公共请求参数(注意:必须通过拦截器封装公共请求参数,否则无法请求数据)公共请求参数,在我们项目研发过程中,作用非常大。封装公共请求承参数之后,那么所有的接
2017-11-13 15:45:01
5102
原创 Android——第三方QQ登录
现在的第三方登录很普遍如QQ,微博,微信,今天我们就来实现如何接入QQ登录到我们的项目中 要想使用QQ登录我们需要到腾讯开放平台注册账号获取开发者资格地址:http://open.qq.com/ 注册完成后点击我们右上角的管理中心,然后选择Android平台就会获取APPID和APPKEY。创建完成后我们需要到 http://wiki.open.qq.com/wiki/mobile/S
2017-11-12 19:57:15
985
原创 Android——MVP架构OkHttp的二次封装以及RecyclerView的使用
MVP框架:MVP架构是当前比较成熟的Android架构,还有其他架构比如最初始的MVC和MVVM。MVC相对于较为落后,MVVM使用DataBind,普及性不如MVP。所以最终决定自己设计的框架是基于MVP思想进行总结的框架。选择MVP框架的原因之一也是google官方的示例中MVP sample已经是完成,证明google官方对于MVP的承认度。MainAc
2017-11-10 13:38:34
1016
原创 Android——OKHttp的使用
添加依赖:compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'POST请求MapString,String>params =new HashMapString,String>();params.put("name","tsy"); MyOkHttp.get().post(this,
2017-11-10 13:28:38
353
原创 Android——BottomTabBar实现底部导航栏
示例图:首先在build.gradle添加依赖compile 'com.hjm:BottomTabBar:1.1.1'activity_main.xml中定义一下该控件xml version="1.0" encoding="utf-8"?>RelativeLayout xmlns:android="http://schemas.android.com/
2017-11-06 18:31:00
1775
原创 Android——Banner无限轮播图
示例图:在build.gradle中添加依赖compile 'com.youth.banner:banner:1.4.9'compile 'com.github.bumptech.glide:glide:3.7.0'在项目清单中添加权限uses-permission android:name="android.permission.INTERNET"/>u
2017-11-05 20:16:29
517
原创 Android——实现二维码扫描
首先在build.gradle添加依赖compile 'com.journeyapps:zxing-android-embedded:3.3.0'然后在项目清单中添加权限uses-permission android:name="android.permission.CAMERA" />uses-permission android:name="android.permi
2017-11-05 19:47:53
510
京东分类页面
2017-11-22
XlistView view包
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人