移动开发
文章平均质量分 61
xy8199
这个作者很懒,什么都没留下…
展开
-
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 · 242 阅读 · 0 评论 -
Android——自定义View实现9宫格解锁
自定义View1.实现一个子类继承View 2.覆盖onDrow()函数,渲染图像 3.覆盖onTouchEvent()函数 4.监听按下、移动,松开手指的动作 5.重新在onDrow()中渲染对应的的图像效果图:这是一个仿京东金融的一个九宫格解锁,最上面的日期显示使用的Time()获取到当前的时间,我们得到日期对其赋值就好了。九宫格解锁有两个模式:CREATE_MODE...原创 2017-12-14 14:50:29 · 1129 阅读 · 1 评论 -
android——顶部导航栏滑动变换背景色
效果图:当鼠标向下滑动的时候,顶部导航栏会设置一个距离顶部的值进行判断,滑动的时候,当滑动距离的值大于我们设置的这个值就改变导航栏的背景颜色,当滑动距离小于这个值的时候,不会发生改变,会恢复初始的背景颜色。在API 23以上的版本,ScrollView会有一个onScrollChanged()方法,这个方法会监听到我们滑动的高度,从而进行一些判断。在API 23以下的版本我们想要对...原创 2017-12-14 14:19:50 · 3077 阅读 · 0 评论 -
Android——沉浸式
Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字。京东的顶部栏就是一个沉浸式,它就是将状态栏给隐藏掉了,实现一个沉浸的效果。public class ImmersionUt原创 2017-12-14 13:50:11 · 441 阅读 · 0 评论 -
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 · 524 阅读 · 0 评论 -
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 · 1289 阅读 · 0 评论 -
Android——视频播放器
jiecaovideoplayer的使用说明:这个播放器本身就具有自动记忆播放进度的功能,全屏状态下具有手势快进和快退的功能,以及左边控制亮度,右边控制音量,点击全屏后视频还是竖屏,需要旋转手机才能变成横屏播放,并且使用移动数据时,会有dialog提示。添加依赖:compile 'fm.jiecao:jiecaovideoplayer:5.5'布局文件:原创 2017-12-20 19:26:22 · 580 阅读 · 0 评论 -
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 · 7370 阅读 · 0 评论 -
Android——Fresco、EventBus、GreenDao、Butterknife、Retrofit综合使用
一、案例效果图 二、技能描述 通过Retrofit进行网络请求数据,要求后两个参数(下方接口地址中的10和1)通过注解方式传进去,使用RecyclerView进行列表展示,请求到数据之后,使用GreenDao进行数据缓存,当进入页面时,先从数据库中取数据,进行展示,再进行网络请求,有数据就更新,没有网络情况下只显示数据库中数据。进入页面后判断网络状态,通过Ev...原创 2017-12-03 20:18:27 · 544 阅读 · 1 评论 -
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 · 1446 阅读 · 0 评论 -
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 · 2708 阅读 · 0 评论 -
仿探探图片卡左右滑动效果
效果图:1、实现如图效果2、根据接口请求数据并展示3、实现如效果视频的切换效果4、换一批 可以切换随机切换一批电影数据添加依赖:项目的build.gradle allprojects { repositories { jcenter() maven { url 'https://jitpack.io' } }}...原创 2017-12-14 15:59:36 · 2582 阅读 · 2 评论 -
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 · 1206 阅读 · 1 评论 -
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 · 3449 阅读 · 2 评论 -
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 · 1805 阅读 · 0 评论 -
比较App版本大小
// 比较版本号的大小,前者大则返回一个正数,后者大返回一个负数,相等则返回0public static int compareVersion(String version1, String version2) { if (version1 == null || version2 == null) { return -1; } String[] ver...原创 2018-08-02 10:16:04 · 1076 阅读 · 0 评论 -
Android6.0以上动态权限申请
在Android6.0之前只需在AndroidManifest.xml文件写明权限即可。但是在Android6.0之后也就是SDK>=23的时候,一些隐私权限需要动态申请,而且在用户同意授权之后App才能拥有该权限。 private void checkPermission() { //检查权限(NEED_PERMISSION)是否被授权 PackageManager.PERMI...原创 2018-07-31 17:03:33 · 442 阅读 · 0 评论 -
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 · 7798 阅读 · 0 评论 -
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 · 289 阅读 · 0 评论 -
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 · 284 阅读 · 0 评论 -
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 · 548 阅读 · 0 评论 -
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 · 345 阅读 · 0 评论 -
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 · 470 阅读 · 2 评论 -
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 · 3810 阅读 · 1 评论 -
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 · 14859 阅读 · 1 评论 -
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 · 537 阅读 · 0 评论 -
Android GridView 仿今日头条频道管理
实现思路要实现2个gridview之间的Item相互移动:1、首先我们获取我们点击的位置、处于gridview哪个位置2、获取位置后、我们就能拿到这个Item的View,我们获取item绘制缓存的Bitmap对象。3、将Bitmap设置的一个Imageview上,然后将这个ImageView放到一个容器中去进行移动操作,这样可能有人有疑问,为什么不直接把item放到原创 2017-09-20 09:49:04 · 2026 阅读 · 1 评论 -
XListView 下拉刷新 上拉分页加载更多
Xlistview项目主要是三部分:XlistView,XListViewHeader,XListViewFooter,分别是XListView主体、Header、Footer的实现。Header是通过设置height,Footer是通过设置BottomMargin来模拟拉伸效果。实现IXListViewListener接口中的onRefresh()和onLoadMore()方法。每个方法中还原创 2017-09-11 19:02:06 · 546 阅读 · 0 评论 -
网络请求HttpClient 异步加载 图片缓存
HttpCient:HttpClient是Apache开源组织提供的HTTP网络访问接口(一个开源的项目),从名字上就可以看出,它是一个简单的HTTP客户端(并不是浏览器),可以发送HTTP请求,接受HTTP响应。但是不会缓存服务器的响应,不能执行HTTP页面中签入嵌入的JS代码,自然也不会对页面内容进行任何解析、处理,这些都是需要开发人员来完成的。现在Android已经成功集成了原创 2017-09-09 09:02:41 · 1397 阅读 · 0 评论 -
ListView多条目加载
在现实的项目开发中,listView往往会加载不同类型的数据,这就要求我们要对listView进行多条目的加载,对数据类型进行判断,怎么判断呢?主要在适配器里面进行类型的判断。代码如下:在listView适配器重写的四个方法的基础上,再手动重写两个方法,分别是:getViewTypeCount(),getItemViewType(int position),这两个方原创 2017-09-10 19:07:13 · 385 阅读 · 0 评论 -
ViewPager 无限轮播 自动轮播
1、ViewPager的应用 ViewPager应用很简单,只需使用android.support.v4.view.ViewPager组件即可,同ListView一样,需要给它指定一个适配器。 四大函数略。2、实现无限循环 当banner位于1屏,向左滑动,此时位于最后一屏, 当banner位于最后一屏,向右滑动,此时位于第一屏。package com.example.myap原创 2017-09-08 17:18:04 · 448 阅读 · 1 评论 -
Android 归属地查询手机号码
一个简单的Demo,从聚合数据申请手机号码归属地数据接口;在EditText中输入待查询号码,获取号码后在子线程中使用HttpUrlconnection获取JSON数据,之后进行解析;认识Http协议Android中发送http网络请求是很常见的,要有GET请求和POST请求。一个完整的http请求需要经历两个过程:客户端发送请求到服务器,然后服原创 2017-09-08 19:01:25 · 3166 阅读 · 2 评论 -
使用PullToRefresh实现下拉刷新和上拉加载
PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView2.ExpandableListView3.GridView4.WebView等多种常用的需要刷新的View类型,而且使用起来也十分方便。首先添加依赖:compile 'com.jwenfeng.pulltorefresh:library:1.0.3'布局:原创 2017-09-15 19:05:09 · 914 阅读 · 0 评论 -
TabLayout ViewPager Frangment之间的应用
学习Android应用开发已经有一段时间了,对涉及应用开发的主要基础知识已经有了一定的了解,但是基本上写的代码都是一些单一知识点的演示Demo,与一个完整的产品相差甚远。要具备开发复杂的产品级应用的能力,在掌握了应用开发的基础知识的前提下,最好的方法莫过于模仿别人开发的优秀应用。在模仿中循序渐进,以程序员角度去看待每一个APP是如何实现的,它有什么优缺点,并从中提升自己。模范别人应用其实就是一种开原创 2017-09-13 20:31:01 · 542 阅读 · 0 评论 -
TabLayout属性详解
TabLayout的基本使用方式在清单文件中设置如下代码即可:android:theme="@style/Theme.AppCompat"添加jar包:compile 'com.android.support:design:26.0.0-alpha1'效果图:方式一:1.在布局中加入该控件:an原创 2017-09-13 19:12:22 · 441 阅读 · 0 评论 -
Android中ConvenientBanner 网络上的图片
Android-ConvenientBanner通用的广告栏控件,让你轻松实现广告头效果。支持无限循环,可以设置自动翻页和时间(而且非常智能,手指触碰则暂停翻页,离开自动开始翻页。你也可以设置在界面onPause的时候不进行自动翻页,onResume之后继续自动翻页),并且提供多种翻页特效。 对比广告栏控件,大多都需要对源码进行改动才能加载网络图片,或者帮你集成不是你所需要的图片缓存库。而这个原创 2017-09-13 13:51:37 · 702 阅读 · 0 评论 -
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 · 338 阅读 · 0 评论 -
Android开发——自定义View之实现跟随手指移动的小球
案例:实现的功能:手指在屏幕上滑动,红色的小球始终跟随手指移动。实现的思路:1)自定义View,在onDraw中画圆作为小球;2)重写自定义View的onTouchEvent方法,记录触屏坐标,用新的坐标重新绘制小球;3)在布局中引用自定义View布局,运行程序,实现跟随手指移动效果。关键技术点:自定义View应用、触摸事件处理、canvas绘图、Paint应用...原创 2017-11-02 09:35:33 · 6516 阅读 · 2 评论 -
Android——自定义View之购物车的加减
自定义控件的实现有三种方式,分别是:组合控件、自绘控件和继承控件。(一)组合控件 组合控件,顾名思义就是将一些小的控件组合起来形成一个新的控件,这些小的控件多是系统自带的控件。比如很多应用中普遍使用的标题栏控件,其实用的就是组合控件,那么下面将通过实现一个简单的标题栏自定义控件来说说组合控件的用法。(二)自绘控件 自绘控件的内容都是自己绘制出来的,在View的onDr原创 2017-11-02 10:06:10 · 2037 阅读 · 0 评论 -
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 · 2563 阅读 · 0 评论