Android笔记
一骑绝尘Louisk
一万年太久,只争朝夕。
展开
-
Android studio更新
快速自动更新Android Studio版本 在开发过程中,有些时候总是会报一些Android Studio vesion 版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级; 第一步: 打开Settings, 找到 下图 1所指的转载 2016-04-11 22:32:52 · 472 阅读 · 0 评论 -
自定义Dialog的简单实现
自定义Dialog的详细步骤(实现自定义样式一般原理)发表于2016/3/22 22:12:57 1410人阅读分类: android开发转载请标注转载http://blog.csdn.net/oqihaogongyuan/article/details/50958659自定义Dialog的详细步骤(实现自定义样式一般原理) 现在很多App原创 2016-04-11 22:36:51 · 33065 阅读 · 7 评论 -
google官方的下拉刷新+自定义上拉加载更多
google官方的下拉刷新+自定义上拉加载更多 现在很多app都是使用的自定义的下拉刷新上拉加载更多,然而google官方为我们提供了下拉刷新操作,我在之前的博客中有撰文针对 自定义下拉刷新操作并提供源码下载 传送门 自定义下拉刷新及上拉加载更多 google官方的下拉刷新 传送门 google官方的下拉刷新组件的详细介绍及示例下载原创 2016-04-11 22:38:21 · 2016 阅读 · 2 评论 -
Android开源库项目集锦
一、兼容类库ActionBarSherlock : Action Bar是Android 3.0后才开始支持的,ActionBarSherlock是让Action Bar功能支持2.X后的所有平台,而且他会自动的判断是调用原生Action Bar还是使用扩展ActionBar。在我的小熊词典里有用到这个库,而且很多非常知名的App也在使用这个库。GitHub Official Acti原创 2016-04-11 22:44:54 · 5112 阅读 · 0 评论 -
ViewPager滑动事件调用机制简单概述
ViewPager从 position == 0 开始左划,向右切换时: onPageScrollStateChanged( 1 ) --------> onPageScrolled(初始position)----------> onPageScrolled(初始position)-----------> onPageScrollStateChanged( 2 ) -------原创 2016-05-12 11:56:22 · 862 阅读 · 0 评论 -
Realm Android简单使用说明
只是官方文档的搬运工。 Realm是一个手机数据库,可以用来替代sqlite。android对于本地数据存储有以下三种方式。- sqlite数据库 - 文件形式存储 - shareprefenceShareprefence的实质是将数据存储在xml中我们可以认为是Android基于文件存储的一种简单封装。 sp和文件适合以缓存形式存储,比如数据不需要进原创 2016-05-26 17:01:27 · 2052 阅读 · 0 评论 -
AndroidStudio2.0:plugin error
Stack OverflowQuestions Jobs Tags Users Badges Ask Question_Stack Overflow is a community of 4.7 million programmers, just like you, helping each other.原创 2016-05-13 19:08:12 · 2812 阅读 · 0 评论 -
应用内存优化之OnLowMemory&OnTrimMemory
1.应用内存onLowMemory& onTrimMemory优化onLowMemory& onTrimMemory简介:OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。OnTrimMemory是Android 4.0之后提供的API,系统会原创 2016-05-17 08:52:41 · 324 阅读 · 0 评论 -
com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileExcep
up vote-1down votefavorite2I use android studio 2.0 version. I use the gradle to build the program, take this the question: I know this question in the Android studio 0.7versio原创 2016-06-06 15:38:04 · 1016 阅读 · 0 评论 -
Android PowerImageView实现,可以播放动画的强大ImageView
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11100315我个人是比较喜欢逛贴吧的,贴吧里总是会有很多搞笑的动态图片,经常看一看就会感觉欢乐很多,可以释放掉不少平时的压力。确实,比起一张单调的图片,动态图片明显更加的有意思。一般动态图片都是GIF格式的,浏览器中可以直接将这种格式的图片播放成动画。不过很可惜转载 2016-07-22 15:38:32 · 312 阅读 · 0 评论 -
Android实现双进程守护
做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论。这里先总结一下网上流传的各种解决方案,看看这些办法是不是真的可行。1.提高优先级这个办法对普通应用而转载 2016-06-30 09:46:07 · 767 阅读 · 0 评论 -
记一次自定义控件引起的内存优化:getCompoundDrawables();
最近优化项目代码时,发现一个比较诡异的现象:每当界面进入ActivityA时,cpu在不断的消耗,内存在不断的缓慢增长(虽然每次增长的量非常小)。如下图:屏幕快照 2016-07-24 12.26.07.png最后经过仔细排查发现是由别的组成员自定义view造成的,这个自定义view代码如下:RightDrawableButton.javapublic clas转载 2016-07-24 21:45:20 · 1382 阅读 · 0 评论 -
ContentProvider数据库共享之——实例讲解
前言:现在这段时间没这么忙了,要抓紧时间把要总结的知识沉淀下来,今年重新分了项目组,在新项目中应该不会那么忙了,看来有时间来学一些自己的东西了。现在而言,我需要的是时间。只要不断的努力,总有一天,你会与从不同。加油。相关文章:1、《ContentProvider数据库共享之——概述》2、《ContentProvider数据库共享之——实例讲解》3、《ContentP转载 2016-07-26 11:47:46 · 1807 阅读 · 0 评论 -
Android RecyclerView 使用完全解析
可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView、GridView。那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同Lay转载 2016-05-12 10:09:25 · 4657 阅读 · 0 评论 -
Android之SurfaceView学习(一)
首先我们先来看下官方API对SurfaceView的介绍SurfaceView的API介绍Provides a dedicated drawing surface embedded inside of a view hierarchy. You can control the format of this surface and, if you like, its size; th转载 2016-07-16 20:30:46 · 271 阅读 · 0 评论 -
完全理解Android中的RemoteViews
一、什么是RemoteViewsRemoteViews翻译过来就是远程视图.顾名思义,RemoteViews不是当前进程的View,是属于SystemServer进程.应用程序与RemoteViews之间依赖Binder实现了进程间通信.二、RemoteViews的用法RemoteViews使用最多的场合是通知栏和桌面小插件. 以通知栏为例,讲解下它的用法.1、新建转载 2016-07-17 09:25:37 · 13099 阅读 · 1 评论 -
SurfaceView的基本使用
SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等,这个可以根据功能实际需要自己选择,我这里就直接在普通的用户界面调用SurfaceHolder转载 2016-07-17 09:28:34 · 490 阅读 · 0 评论 -
SurfaceView与多线程的混搭
上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用。android的多线程用法与JAVA的多线程用法完全一样,本文不做多线程方面的介绍了。直接讲解SurfaceView与多线程的混合使用,即开一条线程专门读取图片,另外一条线程专门绘图。 本文程序运行截图转载 2016-07-17 09:30:10 · 327 阅读 · 0 评论 -
AudioRecord实现"助听器"
Android可以通过MediaRecorder和AudioRecord这两个工具来实现录音,MediaRecorder直接把麦克风的数据存到文件,并且能够直接进行编码(如AMR,MP3等),而AudioRecord则是读取麦克风的音频流。本文使用AudioRecord读取音频流,使用AudioTrack播放音频流,通过“边读边播放”以及增大音量的方式来实现一个简单的助听器程序。PS:由于转载 2016-07-17 12:24:55 · 494 阅读 · 0 评论 -
Android数据存储方式简括
Android提供以下四种存储方式:SharePreferenceSQLiteFileContentProvider如果要实现数据共享,正确的方式是使用ContentProviderSharedPreference“用户的偏好设置”通常用来存储程序的一些配置信息。其存储在“data/原创 2016-07-17 21:42:10 · 2008 阅读 · 0 评论 -
Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)
支持原创,谢谢原作者!流的概念在程序中所有的数据都是以流的方式进行传输或保存的,程序中需要数据的时候就用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全部是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流和字符流,两类都分为输入转载 2016-07-17 22:25:41 · 1338 阅读 · 0 评论 -
最强 Android Studio 使用小技巧和快捷键
转载学习,谢谢原作者!本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键。 根据这些小技巧的使用场景,本文将这62个小技巧分为常用技巧(1 – 28)、编码技巧(29 – 49)和调试技巧(50 – 62),分成三个部分。每个小技巧都配有 gif 动图,由于原图在 goo转载 2016-07-18 16:05:08 · 428 阅读 · 0 评论 -
Android LayoutInflater原理分析,带你一步步深入了解View(一)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12921889有段时间没写博客了,感觉都有些生疏了呢。最近繁忙的工作终于告一段落,又有时间写文章了,接下来还会继续坚持每一周篇的节奏。有不少朋友跟我反应,都希望我可以写一篇关于View的文章,讲一讲View的工作原理以及自定义View的方法。没错,承诺过的文章我是一定转载 2016-07-19 08:11:51 · 248 阅读 · 0 评论 -
setContentView 与 Window、PhoneWindow及DecorView
对相关类的作用进行一下简单介绍:Window 类 位于 /frameworks/base/core/java/android/view/Window.java。该类是一个抽象类,提供了绘制窗口的一组通用API。可以将之理解为一个载体,各种View在这个载体上显示。PhoneWindow类 位于/frameworks/policies/base/phone/com/androi转载 2016-07-19 09:41:04 · 377 阅读 · 0 评论 -
Android视图绘制流程完全解析,带你一步步深入了解View(二)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读 Andro转载 2016-07-19 10:01:11 · 235 阅读 · 0 评论 -
Android视图状态及重绘流程分析,带你一步步深入了解View(三)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17045157在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识。如果你还没有看过我转载 2016-07-19 10:02:48 · 495 阅读 · 0 评论 -
Android自定义View的实现方法,带你一步步深入了解View(四)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析、视图的绘制流程、视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了。如果你还没有看过我前面的几篇文章,建议先去阅读一转载 2016-07-19 10:07:21 · 343 阅读 · 0 评论 -
教你一分钟实现动态模糊效果
转转请注明出处:http://blog.csdn.net/wl9739/article/details/51955598现在,越来越多的App里面使用了模糊效果,我尤其喜欢雅虎天气的界面,上滑的时候背景图片会跟着移动,最重要的是背景图片会根据手指上下移动的距离来进行不同程度的模糊,感觉甚为惊奇,毕竟大家都知道,在Android平台上进行模糊渲染是一个相当耗CPU也相当耗时的操作,一旦处理不转载 2016-07-19 15:58:41 · 1703 阅读 · 0 评论 -
Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
从前文可知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口。每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图。应用程序窗口视图是真正用来实现UI内容和布局的,也就是说,每一个Activity组件的UI内容和布局都是通过与其所关联的一个Window对象的内部的一个View对象来实现的。在本文中,我们就详细分析应用程序窗口视图的创建过程。转载 2016-06-23 17:22:59 · 541 阅读 · 0 评论 -
深入浅出 RecyclerView
常用方法RecyclerView 与 ListView、GridView 类似,都是可以显示同一种类型 View 的集合的控件。首先看看最简单的用法,四步走:0.接入build.gradle 文件中加入compile 'com.android.support:recyclerview-v7:24.0.0'1.创建对象RecyclerView recy转载 2016-07-30 16:22:07 · 402 阅读 · 0 评论 -
使用Picasso进行网络图片的加载
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载:1Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").in转载 2016-07-20 14:30:04 · 6669 阅读 · 0 评论 -
Java常用排序算法/程序员必须掌握的8大排序算法
分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。先来看看8种排序之间的关系: 1.直接转载 2016-07-20 14:46:14 · 244 阅读 · 0 评论 -
自定义View新手实战-一步步实现精美的钟表界面
效果展示:灵感来源:下面就直接进入正题吧:1.第一步,创建自定义View继承View,实现构造方法,如下public WatchBoard(Context context) { this(context, null); } public WatchBoard(Context context, AttributeSet a转载 2016-07-30 18:42:15 · 4663 阅读 · 8 评论 -
全网最强Android开发/源码资源汇总,倾力打造,绝对精品!!
最全的Android开源音乐播放器源码汇总http://neast.cn/forum.php?mod=viewthread&tid=9586&fromuid=5Android 视频直播源码解决方案汇总http://neast.cn/forum.php?mod=viewthread&tid=61625&fromuid=5极客学院安卓Android全套最新视频教程(17G全转载 2016-07-30 18:44:14 · 1382 阅读 · 0 评论 -
Android广告图片轮播控件,支持无限循环和5种主题,可以灵活设置轮播样式、时间、位置、图片加载框架等!
传送门https://github.com/youth5201314/banner现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页,所以要实现循环还得需要自己去动手,所以其他的轮播控件大多都是重写viewpager,而且代码很臃肿。我就把项目中的控件剔了出来,希望大家觉得有用。效果图转载 2016-07-30 18:55:36 · 1722 阅读 · 0 评论 -
Android 整合实现简单易用、功能强大的RecyclerView
之前总是会有人在一些开发群里问,有木有比较好使且功能强大些的RecyclerVew,比如支持下来刷新,加载更多等,还有人在问,如何为RecyclerView添加分割线,尤其是如何为网格布局添加分割线? 热心的群友会有一堆推荐,当然也不乏好事者来这么一句,自己封装去。。。。 我自己也用了挺久的RecyclerView,在使用过程中,往往也会碰到各种各样的需求、设计,秉着不重复造轮子的原则,转载 2016-07-30 18:56:40 · 500 阅读 · 0 评论 -
Kotlin开发Android笔记2:Kotlin与Java简单比较
Kotlin相比Java 的优势主要有:更加易表现:Kotlin最重要的优点之一。开发相同功能你可以少写很多的代码。更加安全:Kotlin是空安全的,就是说在编译时期就处理了各种null的情况,避免了执行时异常。如果一个对象可以是null,则我们需要明确地指定 它,然后在使之前检查是否是null。可以节约很多调试nullPointException的时间并解决相应的bug。函数式的:Kot转载 2016-07-30 21:01:52 · 458 阅读 · 0 评论 -
Kotlin开发Android笔记3:Kotlin中类与函数
—–类的定义—–如果你想定义一个类,你只需要使用 class 关键字。//如定义一个TestKotlin类class TestKotlin{}123123它有一个默认唯一的构造器。当然可以创建额外的构造器,通常情况下我们只需要这个默认的构造器。你只需要在类名后面写上它的构造参数,而且如果这个类没有任何内容可以省略大括号:class Student(nam转载 2016-07-30 21:03:21 · 223 阅读 · 0 评论 -
Android 中的代码混淆
在Android开发工作中,我们都或多或少接触过代码混淆。比如我们想要集成某个SDK,往往需要做一些排除混淆的操作。本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。什么是混淆关于混淆维基百科上该词条的解释为代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅转载 2016-07-30 21:12:48 · 1257 阅读 · 0 评论 -
[Android] 内存泄漏调试经验分享 (一)
Java开发中的内存泄露的问题经常会给我们带来很多烦恼。 在Android中的Java开发也同样会有这样的问题。附件中的pdf整理了一些关于Android中的Java开发,在内存使用方面需要注意的一些问题,希望能够对大家有所帮助。 接下篇: [Android] 内存泄漏调试经验分享 (二) http://rayleeya.iteye.com/blog/755657转载 2016-07-21 09:14:11 · 366 阅读 · 0 评论