自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

原创 toolbar和popupwindow的使用

前言: 大多数时候,都习惯了”搬抄”,直接拿已有的东西,在改改,很多时候都是这样,toolbar和popupwindow使用的时候就是这样,今天整理一下,可以当用的时候,能复制粘贴,能修改,还能自己动手亲自写。toolbar: 概述:在android 3.0的时候推出了actionBar这个控件,在android 5.0时,推出toolbar,在v7包中,用来取代actionBar.使用:

2017-06-02 17:15:27 1607 4

原创 框架模式-观察者模式

观察者模式:概念:定义对象间的一种一对多的依赖关系。当一个对象的状态发生变化时,所有依赖它的对象都得到了通知并自动更新。一个软件系统里面包含了各种对象,就像一片欣欣向荣的森林充满了各种生物一样。在一篇森林中,各种生物彼此依赖和约束,形成一个个生物链。一种生物的状态变化会造成其它生物的相应行动,每一个生物都处于别的生物的互动中。角色概念:Subject(被观察者): 提供一个具体被观察者的接口

2017-04-07 17:05:07 816

原创 视频录制-MediaRecorder

视频录制:首先视频的录制和音频的录制都是耗时的,需要在单个线程中去操作,在开启录制时,视频这块的录制,配置参数的前后,有严格的要求,颠倒会报错,报关于Camera,和MediaRecorder的错误,直接上代码,代码里写的很清楚了,对了这块用到了SurfaceView这个控件,不清楚的可以去查查资料。SurfaceView的初始化工作: private void initSurfaceView

2017-04-05 17:16:13 910

原创 音频的两种录制方式-AudioRecord,MediaRecorder的使用及播放

AudioRecord和MediaRecorder两种都可以录制音频,MediaRecorder已实现大量的封装,操作起来更加简单,而AudioRecord使用起来更加灵活,能实现更多的功能。1.AudioRecord: 优点:可以实现语音的实时处理,进行边录边播,对音频的实时处理。 缺点:输出的是PCM的语音数据,如果保存成音频文件是不能被播放器播放的。要用到AudioTrack这个去进行处理

2017-04-01 23:08:58 25889 3

原创 Git的一些常用命令,及.gitignore的配置

要很好的掌握Git,先要明白四个名词概念:Workspace(工作区):新添加的,和修改的未add操作的。Stage(暂存区):add操作过后,会进入暂存区。Repository(本地仓库):commit操作后,会进入本地仓库。Remote(远程仓库):push操作后,会提交到远程仓库。Git的配置:# 显示当前的Git配置$ git config --list#设置用户名和邮箱,即提交

2017-03-28 10:55:53 23717 1

原创 网络框架-okhttp

okhttp是什么?简而言之就是一款优秀的网络框架。 能实现的功能?Get、Post请求,文件上传和下载等等….从基本功能的调用,看看一篇关于okhttp的封装:// http Get操作OkHttpClient client = new OkHttpClient();String run(String url) throws IOException { Request request =

2017-03-21 22:50:45 785

原创 框架模式-MVVM

整理这个……

2017-03-18 22:48:01 552

原创 框架模式-MVP

什么事MVPMVP是一种模型,是模型(Moudle)、视图(View)、主持人(Presenter)组成的。模型(Moudle):负责处理数据,比如网络的加载数据,本地存取数据。视图(View)负责界面展示,及与用户交互。主持人(Presenter)协调者,M与V的桥梁,负责把数据设置到 View上。MVP模式图: 如图所示,View与Model并不直接交互,而是由Present

2017-03-18 22:45:04 430

原创 使用Js解析xml字符串和xml文件

我们比较熟悉java中的xml解析,有多种方式可以解析,下面看看js中怎么解析xml的,折腾一下午,总结一下:本地解析xml字符串:xml样式:<note> <title>你是人间的四月天</title> <author>林徽因</author> <content> 我说 你是人间的四月天; 笑响点亮了四面风; 轻灵在春的光艳中交舞着变。

2017-03-17 17:00:52 6000 1

原创 代码混淆-Proguard

混淆的概念: 将程序代码,装换成一种功能等价的,但难于理解和阅读的形式行为。混淆影响的元素有: 类名,变量名,方法名,包名,其它元素。影响的是java代码,对于资源,布局它是不能混淆的,就是酱紫…混淆的目的: 防止反编译,辛辛苦苦写的代码,被别人轻易拿去了,要哭。开启混淆://默认的混淆位于sdk/tools/proguard/proguard-android.txt,自己定义的混淆位于:pr

2017-03-15 11:30:36 505

原创 android中的两种打包方式,及多渠道打包

签名时什么: android应用文件(apk)中保存的一个特别字符串 签名的作用: 用来标识不同的应用开发者的身份,比如开发者A,开发者B,如果一个开发者开发多款应用最好使用同一个签名。为什么要签名: 1.系统要求的,Android系统要求每一个Android应用程序都必须经过数字签名才能安装到系统中,也就是说,如果一个Android应用程序没有经过数字签名是不能安装到系统中的(平时连接手机

2017-03-15 10:00:50 16941 1

原创 Jsoup-实现简单的网络爬虫

Jsoup的简介: jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。Jsoup的功能: 1.从一个URL,文件或字符串中解析HTML; 2.使用DOM或CSS选择器来查找、取出数据; 3.可操作HTML元素、属性、文本;做了一个这样的demo,先看效

2017-03-13 15:03:09 479

原创 插件下的plugin.xml以及Camera的调取方法

先看plugin.xml: plugin.xml定义了你的插件所需要的结构和设置,它由一些元素来提供有关这个插件的详细配置信息打开plugins/cordova-plugin-camera/plugin.xml//这里只截取android块的<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:andro

2017-03-12 15:14:59 1437

原创 生成Cordova项目,给Cordova加插件

安装Cordova CLI Cordova命令行工具是由npm包分发的。安装cordova命令行工具,通过下面步骤: 1.下载和安装Node.js。安装完成后你可以在命令行中使用node 和 npm 。2.(可选)下载和安装git client, 如果你没有。安装成功后,你可以在命令行中使用git。 这个命令行使用下载git仓库中的资源。3.安装cordova 模块使用Nodejs的npm工具。

2017-03-11 22:47:13 2968

原创 android与html交互

用webview实现android与html交互:初始化webview代码:private void initWebview(){ webView=new WebView(this); webView.setWebViewClient(new WebViewClient()); webSettings=webView.getSettings(); webSetting

2017-03-09 10:29:58 1346

原创 android开发好的技术文章集锦(持续更新...)

你有好的,下面评论发来,我加入进去,一起学习一起进步。** Android混淆的用法:http://www.androidchina.net/6044.html** Android避免内存溢出(Out of Memory)方法总结:http://www.androidchina.net/6362.html** app瘦身 http://www.androidchina.net/6360.html

2017-02-28 16:29:31 765

转载 Android App 沉浸式状态栏解决方案

原文请点击这里:http://jaeger.itscoder.com/android/2016/02/15/status-bar-demo.html伴随着 Android 5.0 发布的 Material Design,让 Android 应用告别了以前的工程师审美,迎来了全新的界面,灵动的交互,也让越来越多的 App 开始遵从 material design 设计原则,不再是以前拿着iOS设计稿

2017-02-24 16:36:23 530

原创 3张图片让你彻底明白app目录下build.gradle中配置的用法和含义

as中的app目录下通常要配置一大堆东西,好多东西莫名又费解,这里参考几个博客内容整理了一下,都有注释,希望大家能一起理解,满满的干货。 直接上图: 看完上面图片后,应该对很多配置都知晓到底是做什么用的了….下面上配置代码:apply plugin: 'com.android.application'android { compileSdkVersion 24 //最高API等级

2016-10-28 16:55:47 2305

原创 AndroidStudio中导入jar包和类库

jar包的导入AndroidStudio中导入jar包和Eclipse中类似,都可以把jar包直接复制粘贴到libs目录下,如图: 完了,点击这个jar包,右键如图,选择Add As Library这个即可,完了可以在这个目录下看到我们刚刚加的volley的jar包: 即可使用jar包,AS中还有两种加入jar包的方式,一是点击上个图片右侧的“+“”,选择Library Dependen

2016-10-24 16:34:41 1137

原创 自定义GridView,实现item之间相互滑动

先上效果图,看看是不是你想要的效果,运行效果挺好,代码量不大,也没有bug,你如果也想要这种效果,就果断选它吧。代码里都有相关注释,这里上传部分代码,完整代码下面会给链接,用到的可以去下载一下:主界面MainActivity:public class MainActivity extends AppCompatActivity { private TextView tv_edit;

2016-09-27 09:56:42 710

原创 列表滑动删除

效果图:整体效果还不错,欢迎拍砖: 下面上代码:MainActivity代码:public class MainActivity extends AppCompatActivity implements View.OnClickListener, SwipeLayout.OnSwipeChangedListener { private ListView listView; priv

2016-08-04 09:54:10 420

原创 View滑动的原理,解析scrollTo,ScrollBy和Scroller

滑动的概念,很不好理解,想通过这一篇博文,让自己和不明白的人加深下理解,希望我的语言能够使你明白:首先我们要理解,为什么使用滑动? 因为手机屏幕,给我们的视图就那么大,我们看到的视图有限,要想在固定的视图,去展示更多的东西,我们就需要去滑动,把隐藏的那部分变为可视视图。我们可以把能展示的大小看成一个很大的画板,我们展示看到的区域是里面的一部分,当我们需要看到更多的时候,就需要去滑动画板,让自己看到

2016-05-25 17:53:29 2422

转载 ProGuard详解

我一直也没明白ProGuard的作用,只是使用但三方类库时,要在progrard这个文件里去添加一些代码,一般照做就是了,刚刚看到一篇关于Proguard的文章,写的感觉很不错,就转载过来了,希望大家一起探讨…… 原文请点击这里: 综述  对于ProGuard工具想必我们都不陌生,它能够通过移除无用代码,使用简短无意义的名称来重命名类,字段和方法。从而能够达到压缩、优化和混淆代码的目的。最终我们

2016-05-04 11:22:09 1125

原创 用Glide去实现图片的缓存和瀑布流

效果图: 上面的加号和回收箱能实现加载一个图片和删除一个图片,结合上一篇实现的图片的加载用Glide实现图片的缓存,这次我们用RecyclerView来做,下面直接上代码,有问题留言大家一起探讨…MainActivity代码:public class MainActivity extends AppCompatActivity { private List<String> mDatas

2016-05-03 11:08:37 3249 4

原创 Glide-图片的加载和缓存

Glide的简绍和用法,请点击这里对比写过的LruCache、DiskLruCache缓存下面直接上代码,相信你一看就能明白:MainActivity:public class MainActivity extends Activity { private GridView gridview; @Override protected void onCreate(Bundle s

2016-04-28 16:46:56 5149 7

原创 View的工作原理

相关概念: ViewRoot:ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程都是在viewroot中完成。View的绘制流程: View的绘制流程是从ViewRoot的performTraversals方法开始的,它经过measure,layout,draw三个过程才最终将一个View绘制出来,performTr

2016-04-28 15:40:30 4398

原创 图片缓存-LruCache、DiskLruCache

LruCache是一个泛型类,它内部采用了一个LinkedHashMap,以加强引用的方式存储外界的缓存对象,其提供了get和put方法,来完成缓存的获取和添加缓存,当缓存满时,LruCache会移除较早的缓存对象,然后再添加新的缓存对象。DiskLruCache用于实现存储设备的缓存,它通过将缓存对象写入到文件系统从而实现缓存的效果,DiskLruCache得到了官方推荐,但不属于Android

2016-04-28 15:15:25 677

原创 Activity启动的工作过程知识点

参考任玉刚老师的书籍和这篇博客Android源码分析-Activity的启动过程和这篇Android Activity学习笔记——Activity的启动和创建学习笔记。一Activity概念:android的核心不是application,而是activity,至少我们开发的时候是这样的;activity就是被用来进行与用户交互和用来与android内部特性交互的组

2016-03-07 15:01:44 688

nexus-3.20.1-01-mac.zip

构建本地仓库

2021-04-19

MVP-Moudle

一个详细的,超实用的MVPDemo

2017-03-19

gif图片上传

Gridview的拖动

2016-09-26

瀑布流代码

很好用的瀑布流

2016-08-08

空空如也

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

TA关注的人

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