自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程之美

观千剑而后识器,操千曲而后晓声20130816

  • 博客(199)
  • 资源 (36)
  • 问答 (3)
  • 收藏
  • 关注

原创 使用Git版本控制 .gitignore 忽略不需要提交的文件

团队协作开发的时候,每个人都要提交文件,为了避免不必要的文件提交,我们要进行一个简单的配置来忽略一些文件,只提交必要的文件。https://segmentfault.com/a/1190000002963895应各位朋友的要求,写这篇文章,让我们来简单了解下Android Studio中不同目录(文件)的位置和用途。首先看下一个App的最简单的目录结构【= = 好复杂的样子】OK,我们这么看,第一

2016-07-07 10:15:20 26368

原创 将 Google Analytics(分析)添加到 Android 应用中

将 Google Analytics(分析)添加到 Android 应用中本指南介绍了如何将 Google Analytics(分析)添加到您的 Android 应用以衡量用户在已命名屏幕上的活动。如果您目前没有应用,而是仅仅想了解一下 Google Analytics(分析)的工作原理,请参阅我们的示例应用。必需:最新版 Android Studio 和 Google Play 服务请注意:Go

2016-06-24 18:23:34 10050 2

转载 Android开发过程中的一些基本常识

http://blog.csdn.net/ekeuy/article/details/42292589 本文介绍Android开发过程中的一些基本常识,大多是一些流程、专业术语和解决问题的方法等。一、软件开发流程         一个完整的软件开发流程离不开策划、交互、视觉、软件、测试、维护和运营这七个环节,这七个环节并不是孤立的,它们是开发一款成功产品的前提,但每一项也都可以形成一个学科,是一个

2016-06-22 13:24:33 1099

原创 计算Bitmap占用的内存

在AndroidAPI(12)之前的版本和后来的版本是不一样: /** * 计算Bitmap占用的内存空间 * * @param bitmap * @return */ public static long getBitmapsize(Bitmap bitmap) { if (Build.VERSION.SDK_INT >= Build.VERSI...

2016-06-20 16:27:42 1174

转载 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

如果在刚够构建Android Studio项目的时候,运行发现,出现没找到资源的错误!找不到com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml[html] view plaincopy/路径/app/build/intermediates/exploded-aar/com.android.support/app

2016-06-16 15:41:06 976

转载 Android Animation模式详解

关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式:1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。动画类型下面先来看看Android提供的动画类型。Android的animatio

2016-06-15 09:58:19 1080

转载 ViewStub动态加载布局提高UI加载性能

ViewStub 定位:ViewStub 是一个不可见,size 大小为0 的一个View ,用于运行时 延迟inflate layout布局的。当ViewStub 变为可见,或者 调用了inflate() 方法,这个Layout资源会被加载。然后ViewStub会将加载的View或者Views 替换他自己在父布局中的位置因此ViewStub 一直存在,直到调用了setVisibility或者in

2016-06-14 16:18:22 4528

转载 U盘怎么分区合并

大家都知道电脑的硬盘分区一般是4个,分的区越多对硬盘损害大,而且损失的空间也越大,而U盘也是如此。一般买来的U盘都是只有一个区,有些朋友会用了软件把U盘分成了4个区,但发现损失了好多的空间,想合并结果发现合并不回来了。在这里小编来为大家分享一个不用软件就能合并U盘分区的办法,只要在cmd命令提示符依次打上一些英文单词就能完成了。一起来看看吧!  1、首先把你的U盘插在电脑上,点击开始→所有程序→附

2016-06-12 11:07:56 8358 2

原创 Android借鉴支付宝的思路解决 GridView网格线粗细的问题

借鉴支付宝,巧妙解决 GridView 添加分割线 关于相邻两个Item 之间的分割线加粗的问题。通用的两种给GridView 添加分割线的方法;http://stackoverflow.com/questions/7132030/android-gridview-draw-dividers给Gridview 添加分割线,也就是实现网格布局,不清楚谷歌为什么没有给Gridview 添加一个类似 ListView 的Divider 属性,因此就需要我们自己去添加分割线,目前两种方法,第一种是 利用Gri

2016-04-21 23:14:11 4121 2

原创 Android几种常见的多渠道(批量)打包方式介绍

几种常用的批量打包方式总结 Umeng 蓝贝壳儿 gradle 美团打包方式 使用介绍,以及效率比较。多渠道打包,主要是为了统计不同的渠道上包的下载数量,渠道越多,我们需要打的包数量越多,这个时候,我们没法去使用单纯的手动打包去一个一个的生成不同的渠道包,我们需要更高效的打包方式。

2016-04-19 22:37:19 19841 7

原创 (源码分析)Android-Universal-Image-Loader (图片异步加载缓存库)对Bitmap的优化处理

通过前两篇,我们了解了 UIL的使用配置,UIL将服务器上的一张图片保存到本地,加载到内存的过程,以及UIL对DiscCache和MemoryCache的策略,但是还有一部分比较重要,因为它是我们的开发日常中经常要处理的一个问题:Bitmap的优化。换句话说:如何将一个大的图片,加载到内存并显示,如果我们不处理,那么很容易发生OOM。那么UIL作为一款经典图片缓存框架接下来,我们就学习一下UIL中如何优化Bitmap,避免发生OOM的。三篇文章带给我的收获:UIL的使用配置 ,缓存策略 和 图片优化,通

2016-04-07 19:51:08 9352

原创 (源码分析)Android-Universal-Image-Loader (图片异步加载缓存库)的源码解读

转载请注明出处:http://blog.csdn.net/u011733020在Android开发中,对于图片的加载可以说是个老生常谈的问题了,图片加载是一个比较坑的地方,处理不好,会有各种奇怪的问题,比如 加载导致界面卡顿,程序crash。因此 如何高效的加载大量图片,以及如何加载大分辨率的图片到内存,是我们想要开发一款优质app时不得不去面对与解决的问题。通常开发中,我们只有两种选择:① 使用开源框架 ②自己去实现处理图片的加载与缓存。通常一开始让我们自己去写,我们会无从下手,因此先去分析一下

2016-04-03 20:44:15 2593 2

原创 (源码分析)Android-Universal-Image-Loader (图片异步加载缓存库)的使用配置

在Android开发中,对于图片的加载可以说是个老生常谈的问题了,图片加载是一个比较坑的地方,处理不好,会有各种奇怪的问题,比如 加载导致界面卡顿,程序crash。因此 如何高效的加载大量图片,以及如何加载大分辨率的图片到内存,是我们想要开发一款优质app时不得不去面对与解决的问题。通常开发中,我们只有两种选择:① 使用开源框架 ②自己去实现处理图片的加载与缓存。通常一开始让我们自己去写,我们会无从下手,因此先去分析一下开源的思路,对我们的成长很有必要。目前使用频率较高的图片缓存框架有 Univ

2016-04-03 16:14:33 2563 2

原创 Android 自定义View 入门——FlowLayout实例(流布局)

了解了自定义View的流程,那么接下来最好就是对着一个自定义View去分析,加深一下对步骤的理解,这里拿FlowLayout去分析。这样一个自定义View 是继承的ViewGroup,因为它里面还有一个个的子View 填充,因此我们分析出这是继承自ViewGroup。然后接着分析,这个布局会自动判断 当宽度达到屏幕的宽度时,自动换到下一行,那接下来我们就去实现这样一个布局。第一步:定义My

2016-03-11 20:19:11 4811 5

原创 View的简介

认识一个新的事物,首先我们从概念上讲,我们需要知道,这个事物 是什么,这个事物有什么用途?对应到View 上,我们要搞明白 View 的定义以及工作原理。 1.View是什么?  View是屏幕上的一块矩形区域,它负责用来显示一个区域,并且响应这个区域内的事件。可以说,手机屏幕上的任意一部分看的见得地方都是View,它很常见,比如 TextView 、ImageView 、Button

2016-03-11 19:58:51 17137 9

原创 Git上面的右滑退出当前Activity

使用说明:1 要打开的Activity 继承 SwipeBackActivity,并且在Manifest 文件中注册 android:theme="@style/swipeTheme"。 2 在新Activity 内设置允许滑动退出Activity, setSwipeBackEnable(true);。3 values 目录下的 attrs 与style需要拷贝到工程。4 Demo

2016-03-08 11:02:03 1479

原创 播放RTMP协议的流媒体的两种选择

播放网络视频,通常解析库我们可以有两个选择 FFMPEG 或者 vitamio。什么FFMPEG?FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从

2015-12-31 14:57:33 2728

转载 将Library上传到Jcenter

http://www.jianshu.com/p/0ba8960f80a9前言习惯了compile 'com.android.support:appcompat-v7:22.2.0'这样一句话帅气的引用某个库.这次自己尝试一下如何上传到'JCenter'~这里我以我自己的CrashCatcher为例来讲解一下.PS:工具: AndroidStudio,G

2015-12-04 08:58:25 941

原创 android 广告轮播位Banner轮播位 使用超级方便

GitHub 上面介绍的更详细:https://github.com/CodingForAndroid/CircleViewPager 2016.8.30 更新 : 添加两种切换效果内部封装,外部调用起来比较方便可以去Github 中下载 library(里面只有两个文件) 来导入项目中 https://github.com/CodingForAndroid/CircleViewPager也可以 通过下面方式导入, build.gradle 直接导入 dependencies {

2015-12-03 16:49:45 12310 36

转载 RippleEffect(水波纹效果)的实现

学习 谷歌 material design的交互设计、向新技术靠拢~ 由于谷歌的只有在5.0+才可以有这个效果~ 而我们手头手机大部分还是4.+的、因此自己去实现这个效果、让各种版本的都可以用 无疑是挺好的、这个Demo 实现了以下几点功能:①:要实现水波纹效果,首先这个View 必须是可点击的,也就是说clickable :true 才可以触发 比如默认 Button 的Cl

2015-12-02 11:20:28 3484 1

原创 看完这篇文章,你就了解了Android Handler的一切

今天的主人公是Handler,Handler 也是进行通讯用的,我们Android系统的运行,比如应用的启动,手机来电的提示,Activity的创建启动,都离不开Handler。大家都知道Handler可以跨线程通信,可以更新界面,让线程与线程进行通信,可以让某一条消息进入消息队列,等待被执行。而我在项目里也跟大家一样,拿它来接收通知,更新界面。 但是我一直都在用,但却没有认真地看过它的工作原理,而作为一个有进取心的程序员,我们不能只会用,而不知道它的工作过程,为了自己不一直平庸的做一个初级程序员,

2015-11-04 18:28:25 3353 1

转载 播放视频的框架Vitamio的使用问题

原文:http://blog.csdn.net/sunalongl/article/details/30252127?utm_source=tuicool&utm_medium=referral以前用过这个牛逼的框架,后来又随意搞了下,发现播放不了视频了,搞了老半天才搞好,今天又随便整了下,发现又不行了,我勒个插!现在终于又搞出来了,发现我总是把步骤搞错或少写了些东西

2015-10-30 11:33:30 1489

原创 Android Touch事件的分发响应机制

关于Touch 时间的分发响应文章有很多了,但是自己理一遍的印象 要比看别人的深刻,这里自己记一下,也便与以后回过头来翻!  Touch 事件 对于 新手来说,是很困扰的,因为事件之间的传递过程,我们还不理解,去翻看代码,翻着 翻着,反而越发不清晰,这里 我跟大伙一起理一下传递机制。首先 ,一点大家需要知道  所谓的 Touch事件包含的几个动作:MotionEvent.ACT

2015-10-29 21:52:31 4755 6

原创 Android Activity 、 Window 、 View之间的关系

本想分析一下触摸事件的分发响应机制,但是发现分发事件的方法在Activity、View以及ViewGroup中各自存在 ,如图1表所示                                     图一这样的话又牵扯到了三者之间的关系,那索性先理清楚Activity与另外两者的关系 ,在去分析触摸事件比较好。什么是 Activity 、View 、 Windo

2015-10-28 13:28:39 14094 6

原创 *《java基础算法——冒泡排序》

冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。算法原理冒泡排序算法的运作如下:(从后往前)1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2015-10-20 16:41:46 836

原创 *自定义布局的Toast和Dialog

App中 与人 交互 常用的 方式 有  通知栏、 对话框(Dialog) 以及 吐司。默认的 Toast是下面这样子的而有时候 我们项目需要 带图片的 吐司,比如那 怎么把图片 加进去呢? 如果是 Activity ,我们知道 只要做一个xml 布局, 将图片资源 引用进去 , 然后 通过 SetContentView(R.layout.activit

2015-10-19 12:30:54 1110 1

原创 *SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

Volley  请求 数据 报错, 在手机数据下可以获取到服务器返回的数据,在WiFi 环境下  报错如下:com.android.volley.NoConnectionError: java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)问题:公司 WiFi 设置了

2015-10-10 18:10:25 10722

原创 *Android 多线程下载 仿下载助手(改进版)

首先声明一点: 这里的多线程下载 并不是指的 多个线程下载一个 文件,而是 每个线程 负责一个文件。真正的多线程 希望后面能给大家带来。 -------------  欢迎 爱学习的小伙伴 加群  ------------- -------------android交流群:230274309--------------------------一起分享,一起进步!

2015-07-31 22:41:15 3146 10

原创 *Android 多线程下载 仿下载助手

今天带来一个多线程下载的 例子。先看一下效果,点击 下载 开始下载,同时显示下载进度,下载完成,变成程 安装,点击安装 提示 安装应用。界面效果线程池 ThreadPoolExecutor在下面介绍实现下载原理的时候,我想尝试倒着来说,这样是否好理解一点? 我们都知道,下载助手,比如360, 百度的 手机助手,下载APP 的时候 ,都可以同时下载多个,所以,下载肯定

2015-07-23 09:13:15 11326 31

原创 *Android shape属性整理

有时候 ,为了满足一些需求,我们要用到 shape 去定义 一些背景,shape 的用法 跟图片一样 ,可以给View设置 android:background=”@drawable/shape”, 定义的shape 文件,放在 res/shape 目录下通常我们可以用shape 做 button 的背景选择器,也可以做切换tab 时,底部的下划线。先看我们用shape 都可以做什么<?xml v

2015-07-08 16:13:24 2533

原创 android抓包工具——fiddler与charles的基本操作(弱网模拟,map local/remote、breakpoint 等)

本文地址:http://blog.csdn.net/u011733020首先,写这个只是为了学习,不是要做什么违法的事情,如果有问题,有关部门 请联系我,立马删除。 不要查我水表。正题:这里介绍 抓包的关键,Fiddler ,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。我们就是用这款软件抓取 ,我们手机app 访...

2015-06-29 13:47:22 14821 4

原创 android app 开发过程中 对于性能优化的总结

一款手机应用  从开发过程中就要做好 性能优化,这样才能 让用户体验度 提升, 假如 我们打开一个应用 出现卡顿, 不流畅,则会很影响 用户对该应用的态度,产品狗 都很注意这些人机交互方面的 体验。     谷歌官方也是一直在优化 android 系统,不论是  碎片化处理 还是 系能 上面,这方面 ios 就做的比较好,配置比 android 低,但是流畅度却比android高,体验效果更好

2015-05-13 00:33:48 3744

原创 *Android JSON解析(Android原生解析与FastJson Gson)性能比较

Android 常用传递数据的格式 分两种 一种XML另一种 JSON。  JSON与XML的相比较 的优点是 作为数据传输格式,跟XML类似,但是比XML更加轻巧  由于JSON是JavaScript的原生格式,所以JSON不需要包含特定内容的首部信息 所以速度 远远快于XML。  现在我们常用解析 JSON的方法一般 有以下几种 1 android 原生 api 解析  2.阿里巴巴  的

2015-04-10 20:35:12 3142

原创 惠锁屏实现侧滑锁屏(侧滑锁屏的原理)

手机锁屏软件,仿 惠锁屏 左右滑动解锁 ,屏蔽 home键

2014-12-11 14:36:39 4948 1

原创 *Fragment与Activity生命周期的协调

拥有Fragment的Activity的生命周期直接影响了其中的Fragment的生命周期,这样,针对Activity的每一个生命周期的回调都会有一个类似的针对Fragment的回调。例如,当Activity收到onPause()回调时,在Activity中每个Fragment都会收到onPause()回调。但是,Fragment有几个额外的生命周期回调方法,用来处理跟Activity的交

2014-11-07 15:24:05 997

原创 *eclipse 中添加工程 Some projects cannot be imported because they already exist in the workspace

遇到问题:第一次从外部文件导入HelloWorld工程到workspace目录中,成功。删除后,再次从外部导入workspace目录提示 Some projects cannot be imported because they already exist in the workspace eclipse中删除HelloWorld工程时没有勾选Delete pr

2014-08-21 16:43:10 23498

原创 android 圆形头像

依赖Xfermode去实现效果如图所示:实现如下:public class CirclePhotoView extends View { private Bitmap bmpCat; private Bitmap bmpCircleMask; private Canvas cvsCircle; private Paint paint; ...

2014-07-09 12:57:25 1405

原创 *项目开发——每日总结

原文地址 :http://stackoverflow.com/questions/6941710/unable-to-open-log-device-dev-log-main-no-such-file-or-directory.

2014-05-13 11:46:26 1813

转载 线程安全的单例模式

面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个:public final class EagerSingleton  {      private static EagerSingleton singObj = new EagerSingleton();

2014-04-04 17:24:02 1046

React-Native ListView 实现带标题的列表

React-Native ListView 实现带标题的列表

2017-08-13

RN ScrollView 实现轮播图效果

使用RN 的Scrollview 实现轮播图效果

2017-08-09

React-Native进阶_7.TextInput实现搜索功能

前面使用TabBar 实现了底部tab标签,通过stackNavigator 实现了页面跳转,接下来,使用TextInput 来实现一个搜索功能。 TextInput 属性比较多,不一一介绍,具体可以百度搜索或者结合源码。

2017-08-03

ReactNative 之Navigation路由

react-native-navigation 导航控制器

2017-07-31

React-Native 实现点击Tab标签切换Tab页面

React-Native tabbar 的简单使用

2017-07-29

Android一分钟打900个包

http://blog.csdn.net/u011733020/article/details/51175635 多渠道打包,主要是为了统计不同的渠道上包的下载数量,渠道越多,我们需要打的包数量越多,这个时候,我们没法去使用单纯的手动打包去一个一个的生成不同的渠道包,我们需要更高效的打包方式。

2016-04-20

蓝贝壳儿批量打包

多渠道打包工具,Eclipse 打包插件

2016-04-17

退出Activity

Android 滑动退出Activity

2016-03-08

滑动退出Activity Demo

Android 滑动退出Activity

2016-03-08

微博官方Demo

微博 Android 分享 登录 sdk Demo

2016-01-21

QQ官方Demo

QQ 官方移动开发 sdk demo

2016-01-21

微信官方Demo

微信登录 分享的官方Demo

2016-01-21

Handler机制

分析下Handler的工作原理,争取让我们能对Handler的理解更深刻,透彻。能真正理解Handler的作用、Handler的工作原理。

2015-11-04

Touch事件分发

原文地址:http://blog.csdn.net/u011733020/article/details/49452109 分析 分发机制

2015-10-30

Touch事件分发机制

Android Touch事件的分发响应机制的Demo

2015-10-30

asm手机投影

使用asm.jar将Android手机屏幕投影到电脑

2015-10-21

自ToastDemo

自己定义的toast 类型

2015-10-19

Android 多线程断点下载Demo

Android多线程下载Demo,支持断点下载. 这个是Android Studio 版本!

2015-07-20

Android shape 属性

http://blog.csdn.net/u011733020/article/details/46804817 shape 属性介绍

2015-07-08

直播客户端(类似yy直播)

文章地址:http://blog.csdn.net/u011733020/article/details/46786471 公司项目 是一款综合视频社交应用,类似于 YY 直播客户端,可以聊天也可以 看直播。内含多种支付方式,易宝 支付宝 银联 等等,提供出来 大家一起学习、

2015-07-07

手势识别切换界面(activity)

android 手势 左右滑动实现页面切换 from : http://blog.csdn.net/u011733020/article/details/45922843

2015-05-23

仿惠锁屏 侧滑解锁 屏蔽home按键

项目 分析 :http://blog.csdn.net/u011733020/article/details/41863861 遇到 bug 欢迎指正。3q

2014-12-11

仿微信 滑动 开关

原文地址http://blog.csdn.net/u011733020/article/details/41700175

2014-12-03

android 闹钟实现原理

原文地址 http://blog.csdn.net/u011733020/article/details/41699319 android 闹钟实现原理 AlarmManager

2014-12-03

asmack 源码

asmack 源码包

2014-05-14

网易新闻客户端框架 slidingmenu 侧滑 仿360手机助手

仿照360手机助手,网易新闻客户端 实现 侧滑, 主界面viewpager切换 的 基于slidingmenu的小demo

2014-05-13

MarqueTextView

跑马灯效果MarqueTextView textview 循环 跑马灯效果

2014-05-11

安卓异步httpclient

开源 httpclient 直接封装,更方便,不需要自己创建httpclient 时的繁琐设置参数,post get 都可以

2014-05-07

asmack即时聊天

android 实现 xmpp协议,基于asmack包,简单例子

2014-05-06

Notification80.rar

android 8.0 通知栏Notification适配、

2019-11-06

AspectJ 文档

Aop框架AspectJ 的语法介绍JPoint Pointcut Signature

2019-02-19

Graphics API 示例

自定义组件开发二 Graphics API Graphics是Android SDK 中的一个包含一系列绘图相关的api的包,本文介绍并使用常用的绘图方法。

2018-05-09

MVP模式的理解

MVP模式的理解MVP模式的理解http://blog.csdn.net/u011733020/article/details/78559369

2017-11-17

MVP模式Demo

MVP模式的理解http://blog.csdn.net/u011733020/article/details/78559369

2017-11-17

RN调用 Android 原生Toast 模块

RN调用 Android 原生Toast 模块

2017-08-24

ReactNative Navigation路由传递数据到下一个页面

接着上面 Navigation 继续学习传递数据给下一个页面 onPress={() => this.props.navigation.navigate('Detail',{info:movie.title,movie:movie})} 这样,跳转到详情页,可以传递 电影标题 movie.title 和电影对象 movie 在 MovieDetail 页面中 可以拿到这些数据 this.props.navigation.state.params.movie 就可以拿到  电影对象 movie 接下来拿到电影信息,再去请求数据,展示在电影详情页,这里展示一下电影简介

2017-08-01

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

TA关注的人

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