自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 方便的视频播放器-饺子播放器

转载地址:https://github.com/lipangit/JiaoZiVideoPlayer参考视频:http://ke.atguigu.com/course/149/learn#lesson/1978立志成为Android平台使用最广泛的视频播放控件 Q群:490442439 验证信息:jzvd目前认为安卓中视频点播的终极状态是系统的MediaPlayer,其他的...

2019-03-06 15:54:17 6558

转载 TabLayout+ViewPager+Fragment实现懒加载完全解决方案

开发过程中TabLayout配合ViewPager和Fragment的使用是常用的实现多页面的方式。但是这种方式存在一些问题:ViewPager会对其中的Fragment进行预加载。也就是说用户第一次打开第一个界面的时候,不仅第一个界面会进行加载,其他的界面也会进行界面的预加载。这样就会带来界面启动加载慢,浪费系统资源和用户流量的不好的体验。而Fragment的懒加载恰好可以解决这个问题.首先我...

2019-03-04 17:27:01 1073

原创 ViewPager 实现多种效果的用法

android-support-v4.jar 是谷歌提供给我们的一个兼容低版本安卓设备的软件包,里面包囊了只有在 Android 3.0 以上可用的API。而 ViewPager 就是其中之一。利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。准备在使用ViewPager之前,需要在 build.gradle 中加入如下语句:compile 'com.android.sup...

2019-02-16 17:53:40 464

原创 使用TextView加载html中的文字和图片

public class TestImageGetter extends AppCompatActivity implements Html.ImageGetter { private final static String TAG = "TestImageGetter"; private TextView mTv; @Override protected voi...

2019-02-13 17:47:08 416

转载 Android开发必知--WebView加载html5实现炫酷引导页面

  大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5做出手机引导页面,然后将其嵌入APP中。  首先我们分析一下,都需要做哪些工作?  1、制作html5引导页面。  2、把做好的页面放入Android工程中assets文件夹下。 ...

2019-01-24 12:07:24 1011

转载 android悬浮球实现各种功能、快速开发框架、单词、笔记本、应用市场应用等源码

Android精选源码悬浮球,实现一键静音,一键锁频,一键截屏等功能一个Android快速开发框架,MVP架构Android QQ小红点的实现源码android一款单词应用完整app源码android新闻简读,图片,视频 ,音乐以及二维扫码应用源码一款基于Material Design 的开源笔记本应用Android应用市场项目源码使用M...

2019-01-15 09:46:30 933

转载 Android自定义加载动画库zLoading

效果图演示效果动画1演示效果动画2上一个动画链接:Android自定义加载动画-交织个人博客介绍比较全,也会实时更新:Android自定义加载动画库zLoading目前拥有的类型:索引 类名 枚举值(Z_TYPE) 昵称 0 CircleBuilder CIRCLE 圆 1 ClockBuilder CIRCL...

2019-01-11 14:26:16 1210 1

原创 安卓的区标题栏及颜色代码

先介绍去掉标题栏的方法:第一种:也一般入门的时候经常使用的一种方法requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏注意这句一定要写在setContentView()方法的前面,不然会报错的第二种:在AndroidManifest.xml文件中定义<application android:icon="@drawable/icon"an...

2019-01-09 10:07:50 991 1

原创 Fragment 1 切换到 Fragment 2时生命周期变化

1、通过 add hide show 方式来切换 Fragment Fragment1 的生命周期变化为:onCreate()、onCreateView、onStart()、onResume() 回调 onHiddenChanged() 方法 Fragment2 的生命周期变化为: onCreate()、onCreateView、onStart()、onResume() ...

2018-12-17 11:40:05 176

原创 好用的视频播放sdk ijkplayer 二次封装的ijkplay

 本文章为博主在借鉴了一名前辈的文章后为了自己以后能够快速的回忆所写小计如有看不懂的地方还请谅解,毕竟只是为了自己更好的回忆  如有何不懂或者异常出现请浏览原文章,原文章中对于异常都有一 一解答。在此标注前辈文章地址 :https://github.com/jjdxmashl/jjdxm_ijkplayer     依赖本项目类库该项目是基于ijkplaye...

2018-11-30 09:56:19 1686

原创 关于 FrameLayout 控制位置

       FrameLayout框架布局是最简单的布局形式。所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件。这种显示方式有些类似于堆栈。当我们往里面添加组件的时候,所有的组件都会放置于这块区域的左上角;帧布局的大小由子控件中最大的子控件决定,如果都组件都一样大的话,同一时刻就只能...

2018-11-23 18:39:57 6208

转载 AppbarLayout的简单用法实现收缩效果

 ps:本文章为转载文章,原文为:https://www.jianshu.com/p/bbc703a0015e在许多App中看到, toolbar有收缩和扩展的效果, 例如:appbar.gif要实现这样的效果, 需要用到:CoordinatorLayout和AppbarLayout的配合, 以及实现了NestedScrollView的布局或控件.AppbarLayout是...

2018-11-23 15:02:07 2092

原创 Android 清除缓存详细实现(显示缓存大小)

 清除缓存功能算是个十分鸡肋的功能了,但是大多数产品或者客户都希望有这么个东西显得APP功能完善,网上有很多,但是对于新手来说,那些感觉并不详细,我贴个完整到小白都能懂的。下面是工具类,包含清除缓存、获取缓存文件大小、格式化方法。总之就是工具,自己创建一个帖进去。public class CacheDataManager {public static String getTot...

2018-11-07 16:04:21 854

原创 强软弱虚等引用快速理解

引言 早在JDK1.2,Java就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。但是平时我们的代码中似乎很少出现这些, 而之前还看到过一份代码中, 一个Activity中有一个静态变量持有对自己的弱引用,来达到类似的singleTask的效果.So, 是时候系统的学习一下软引用、弱引用这些,并对我们的代码...

2018-08-14 11:15:02 414

原创 static的简单了解

为分清这些,我们先看一段代码:#include<iostream>static int global_sta = 1; //global_sta为静态全局对象void print(){ int non_local = 2; //non_local为局部对象,非静态的 static sta_local = 3; //sta_local为静态局部...

2018-08-03 14:55:43 124

原创 高德地图的快速接入

1.导入SDK链接:https://pan.baidu.com/s/1vdoPXmsZ4CuVfV_J144zuw 密码:fvv2里面有定位 地图  获取屏幕中心经纬度 距离测量用的是EventBus传值2.添加权限  <!-- 用于访问网络,网络定位需要上网 --> <uses-permission android:name="andro...

2018-08-03 09:09:46 887

转载 Android 超级简单的打包apk

为什么要打包:apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用。打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用。 简单点说就是给你的apk发身份证,上户口,防止和你长的一样的人,...

2018-08-03 09:02:26 270

原创 Android事件分发的简单理解

事件分发   事件分发是由触发点击事件后事件处理的一个过程Android 的事件响应机制都是由外向内分发 ,有内到外处理。事件分发过程中需要OnInterceptTouchEvent 事件拦截方法 和OnTouchEvent事件处理方法 dispathTouchEvent分发点击事件方法协助完成 事件分发的顺序为Activity,ViewGroup,View   所需要执行的事件类型有 D...

2018-07-27 14:28:42 173

原创 Handler机制的快速入门

作用Handler的主要作用是便于用于线程之间的通信或更新主UI线程中的控件这里涉及到了UI主线程和子线程在Handler的原理说明之前,我们列出相关的重要的类:Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。 Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现h...

2018-07-20 10:31:47 197

原创 内存泄漏和内存溢出的区别与解决方式

内存泄漏(memory leak ) 内存溢出 (out of memory)内存泄露 :是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。我们知道了内存泄漏的原因而内存溢出则有可能是因为我们我们多次内存泄漏堆积后的后果则变成了内存溢出内存溢出: 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了...

2018-07-20 08:19:25 22613 1

原创 Android三种动画的对比与简单理解

Android三种动画分别为帧动画(Frame Animation)补间动画(Tween Animation)属性动画(Property Animation)动画分为传统动画和属性动画传统动画分为帧动画和补间动画Android3.0之后出现的属性动画 帧动画1、帧动画的特性: a. 用于生成连续的Gif效果图。 b. DrawableAnimation也是指...

2018-07-18 14:43:18 1542

原创 对于MVC的简单理解

MVC:MModel模型:适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理VView视图:应用中处理数据显示的部分,XML布局可以视为V层,显示Model层的数据结果CController控制器:在Android中,Activity处理用户交互问题,因此可以认为Activity是控制器,Activity读取V视图层的数据(e...

2018-07-18 09:34:55 3854

原创 PullToRefresh下拉刷新的简单使用

 Android中很多时候都会用到上下拉刷新,这是一个很常用的功能,Android的v4包中也为我们提供了一种原生的下拉刷新控件--SwipeRefreshLayout,可以用它实现一个简洁的刷新效果,但今天我们的主角并不是它,而是一个很火的第三方的上下拉刷新控件--PullToRefresh。PullToRefresh包括PullToRefreshScrollView、PullToRefresh...

2018-07-17 17:01:05 3037 1

原创 Android图片加载框架的简单比较与理解

转自 http://www.csdn.net/article/2015-10-21/2825984【CSDN现场报道】10月14日-16日,“ 2015移动开发者大会 · 中国”(Mobile Developer Conference China 2015,简称MDCC 2015)在北京新云南皇冠假日酒店隆重举行。本次大会由全球最大中文IT社区CSDN和中国最具关注度的全方位创业平台创新工场联合主...

2018-07-16 09:36:40 224

原创 关于MediaPlay使用方法 与基本理解

1)如何获得MediaPlayer实例:可以使用直接new的方式:MediaPlayer mp = new MediaPlayer();也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了2) 如何设置要播放的文件:MediaPlaye

2018-07-13 19:13:11 2119

原创 Activity 生命周期的个人理解与四种启动模式

这里我们先来看看这一张经典的生命周期流程图:Activity 的形态Active/Running: Activity处于活动状态,此时Activity处于栈顶,是可见状态,可与用户进行交互。 Paused 当Activity失去焦点时,或被一个新的非全屏的Activity,或被一个透明的Activity放置在栈顶时,Activity就转化为Paused状态。但我们需要明白,此时Activity只...

2018-07-08 19:53:58 719

原创 Toolbar 加 DrawerLayout 简单使用实现侧滑菜单

布局文件<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout android:id="@+id/dw" android:layout_width="match_parent" android:layout_height="match_parent

2018-05-10 10:54:57 230

原创 单例模式的简单理解

        单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例 。 其又分为三种形式饿汉式,懒汉式,双重锁式 首先是饿汉式  public class SpUtils{ //在自己内部定义自己的一个实例,只供内部调用 private static final SpUt...

2018-05-08 20:37:32 278

原创 ExpandableListView 简单实现二级列表

        ExpandavleListView是一个简单实现二级列表的控件,和其他ListView相同,ExpandavleListView也有一个adapter适配器Expandavleadapger。        定义布局文件<ExpandableListView android:id="@+id/Expandable" android:layout_width=...

2018-05-08 09:42:32 906 1

原创 SharedPreferences 案例的简单使用

此案例为使用SharedPreferences 轻量级的存储类 ,在登陆页保存用户名密码进行跳转并将用户名密码显示在另一个Activity的Textview上。SharedPreferences可以保存常规的Long、Int、String等类型数据登陆页的layout布局<?xml version="1.0" encoding="utf-8"?><LinearLayout ...

2018-04-24 19:37:40 900

原创 视频

package com.animee.app2;import android.content.Context;import android.graphics.Bitmap;import android.media.MediaPlayer;import android.media.ThumbnailUtils;import android.provider.MediaStor

2017-12-21 13:31:28 148

转载 bundle

Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”类继承关系:java.lang.Object     android.os.BundleBundle类是一个final类:public final classBundleextends Objectimple

2017-12-14 19:53:11 962

转载 gps

package com.animee.day10.demo03;import android.content.Context;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import androi

2017-12-11 08:31:08 119

原创 播放本地视频

public class MainActivity extends AppCompatActivity { SurfaceView surfaceView; MediaPlayer mp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sa...

2017-12-11 08:21:01 848

转载 蓝牙应用

package com.animee.day11.demo01;import android.app.Activity;import android.app.AlertDialog;import android.bluetooth.BluetoothAdapter;import android.bluetooth.BluetoothDevice;import android

2017-12-11 08:08:38 139

原创 为什么使用 ViewHolder 使用ViewHolder与不使用的区别

ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来...

2017-12-07 12:08:38 2450

原创 Mediaplay 的理解 与使用方法

1)如何获得MediaPlayer实例:可以使用直接new的方式:MediaPlayer mp = new MediaPlayer();也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了2) 如何设置要播放的文件:MediaPlayer要播放的文件主要...

2017-12-07 10:51:47 1610 1

空空如也

空空如也

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

TA关注的人

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