Android
叔叔有糖吃
Never give up~
展开
-
Android Studio --“Cannot resolve symbol” 解决办法个人小结
网上的解决方法:File->Invalidate Caches/Restart 清除缓存重启重启电脑在我的电脑上面,这两种方法尝试了多次均为能解决。我的解决方案关闭 Android Studio进入项目的目录,删除 module 下的 build 目录重新打开 Android Studio 导入项目,问题解决。...原创 2018-11-26 14:34:28 · 3471 阅读 · 3 评论 -
异常情况下Activity生命周期分析
异常情况下Activity生命周期的分析情景1:屏幕旋转导致Activity被杀死并重新创建【在默认的情况下,当我们旋转屏幕的时候,系统杀死我们的Activity,并创建一个新的。(我们也可以在Manifest文件中配置Activity不用被杀死重建);】一、过程分析: 1. Activity会调用onSaveInstanceState来保存一些数据:作为程序员的我们,就可以通过重写这个方法,来自原创 2015-10-20 10:39:25 · 868 阅读 · 0 评论 -
实现短信验证码自动拦截读取
知识准备:观察者模式的理解【文章稍后来到~~】Android的Cursor使用【Android基础】正则表达式使用【Java基础】Handler使用【Android基础】代码整理....................原创 2015-09-29 09:55:13 · 5423 阅读 · 1 评论 -
两种主流的实现侧滑菜单控件的学习总结
第一次开始研究侧滑菜单实现还是QQ加入这个功能之后吸引的我,当时就觉得这个侧滑菜单的想法简直独具匠心,使用侧滑菜单的好处必须明显,它可以无形的使我们的屏幕利用更大化,你可以假想自己的屏幕比现实还要大,那个侧滑菜单就藏在看不见的屏幕里,当我们用侧滑手势之后,就将它们从看不见的屏幕里拉入真实屏幕中,当我们使用完菜单后,又可以将它们收回到看不见的屏幕中。。。这让本来空间就有限的手机屏幕,屏幕利用率得到大原创 2015-08-07 17:10:50 · 1295 阅读 · 0 评论 -
AndroidUniversalImageLoader使用详解
【本文转自:快码-官方博客】个性的ImageLoader配置在哪儿配置以及如何配置一般会在自己的Application子类的onCreate()方法中对ImageLoader进行配置ImageLoaderConfiguration各属性解释偷懒点可以直接使用缺省的配置ImageLoaderConfiguration:ImageLoaderConfiguration configuration = I转载 2015-08-26 10:03:48 · 1140 阅读 · 0 评论 -
Android引入support-v7-appcompat包values文件夹报错解决
在使用Eclipse编译时,当我们为了使自己的应用能够兼容更低版本的SDK的时候,就需要使用的谷歌为我们提供的support系列支持包。 谷歌这样做的目的就是能够使安卓SDK永远能向下兼容,并且让程序员不用去更多的纠结版本适应问题而专心于自己代码功能的实现。 (简直业界良心啊!) 然而在我们引用支持包的时候,经常会被下面的异常困扰: 下面我分享一下我的解决思路.....原创 2015-07-17 11:09:46 · 4873 阅读 · 0 评论 -
Android使用命令创建项目并打包安装
[将sdk的platforms-tools和tools目录添加到PATH中,使开发方便]使用命令进行Android项目的创建和打包安装,瞬间高大上了一些,然而实际开发中作用并没有多大,但是通过命令操作可以让我们知道编译器背后做的事情。。。原创 2015-07-16 15:41:13 · 990 阅读 · 0 评论 -
《滑动到顶部悬浮功能条》源码学习整理笔记
项目源码地址:https://git.oschina.net/steve/HoveringScroll实现原理解析:我这里使用了不同的颜色,将后面会讲解到的几个布局标注了出来。 这里有几个对象A布局、B布局、C布局需要事先说明一下: A布局示意图: B布局示意图: C布局示意图: 1.Activity初始化时的状态,此时C布局在B布局上: 2.当向上滑动屏幕,布局B也会随原创 2015-07-09 14:45:28 · 1369 阅读 · 0 评论 -
Android清除工程中无用的资源文件
一、调用Android lint命令查找出没有用到的资源,并生成一个清单列表: 命令:lint –check “UnusedResources” [project_path] > result.txt 执行完之后会生成一个清单文件,内容如下: 二、使用代码自动删除无用的文件:public class DelAction{ public static void main(String[原创 2015-05-22 09:21:48 · 1639 阅读 · 0 评论 -
ListView中notifyDataSetChanged()刷新数据不更新原因分析
情景分析:在开发过程中,我们经常会使用notifyDataSetChanged()实时的让ListView进行刷新操作,但是有的时候却会发现ListView不再刷新了,有的时候却又可以自动刷新。原因分析: 如上图所示,传递给Adapter的List引用一开始为引用a,但是,当我们在程序中执行刷新更换数据的时候,如果一不小心将List的引用换成了引用b的话,就会导致上述情景的发生。那是因为Adapt原创 2015-05-12 23:02:38 · 4680 阅读 · 1 评论 -
List加入headView后点击position错乱问题
1.问题描述当ListView中加入了headerView或者footerView之后,调用ListView的OnItemClick监听事件之后,获取到的position不再是我们期望的值,比如,当我点击的是第一行,结果它显示的是第二行的position。2.问题分析从ListView的源码中可以得到我们想要的答案:1.addHeaderView(View v, Object data, bo原创 2015-05-04 19:56:36 · 1129 阅读 · 0 评论 -
OnItemClickListener中OnItemClickListener参数详解
mlistView.setOnItemClickListener(newOnItemClickListener(){ @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id){ ..... }原创 2015-04-28 08:30:35 · 15386 阅读 · 1 评论 -
ListView优化总结
1.适配器优化1.1ViewHolder类封装1.ViewHolder类原始类 class ViewHolder{ TextView name; TextView age; }封装类/** * 封装视图类 * @author 顾学武 */public class CommViewHolder{ /** * 视图容器 */ pr原创 2015-04-25 15:33:53 · 809 阅读 · 0 评论 -
ViewPager使用心得总结
1.创建步骤1.1.在布局文件中创建布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android xmlns:tools="http://schemas.android.com/tools android:layout_width="match_parent" android:layou原创 2015-04-16 22:42:06 · 610 阅读 · 0 评论 -
Volley使用小结
1.StringRequest1.1.创建步骤1. 创建一个RequestQueue对象;2. 创建一个StringRequest对象;3. 将StringRequest对象添加到RequestQueue里面。1.2.示例代码private void getString(){ //1.创建RequestQueue RequestQueue queue = Vol原创 2015-04-14 12:37:47 · 456 阅读 · 0 评论 -
Android四种动画类使用总结
1.AlphaAnimation 透明度动画效果1. 代码中设置动画 //定义透明度动画 AlphaAnimation alphaAnimation=new AlphaAnimation(0, 1); //设置变化间隔 alphaAnimation.setDuration(1000); //为View设置动画 v.setAnimation(alphaAnimation);2.xml文件设置原创 2015-04-08 20:59:21 · 472 阅读 · 0 评论 -
UiAutomator自动化测试使用小结(一)
1.UiAutomatorView.bat1.1.工具目录位于sdk目录下的tools文件夹中1.2.使用方法直接点击运行2.编译与运行测试代码2.1.创建build文件android create uitest-project -n <jar name> -t 1 -p <workspace path>2.2.修改build文件进入工作空间,打开build.xml文件,将第二行的help修改原创 2015-04-14 17:19:53 · 1811 阅读 · 0 评论 -
安卓cmd命令整理系列
一、adb命令查看Activity堆栈1.命令: adb shell dumpsys activity2.运行结果:由于执行结果很长,我将有用的分成几张图分别截取出来: 二、adb命令查看数据库明细1.命令:命令1:进入应用的databases目录:.......原创 2015-10-21 21:03:04 · 16350 阅读 · 0 评论 -
自定义View并自定义其属性学习小Demo
最近在看徐老师的《Android群英传》,里面有一章是讲的如何自定义View,之前一直觉得自定义挺复杂的,感觉像座大山一直压在自己的Android之路上,看了书中讲解之后,发现原来一直神秘的自定义View也没那么神秘,下面就和我一起来通过一个简单的小Demo一起来体验一下吧。重写TextView实现一个简单的动态渐变效果的TextView首先讲一下思路和知识准备,实现渐变需要使用到一个渲染对象Lin原创 2015-10-23 12:16:15 · 555 阅读 · 0 评论 -
AndroidStudio实用插件整理,打造犀利神器
1.ButterKnifeZelezny1.1.功能描述这个Android Studio的插件可以让我们在使用ButterKnife注解的时候偷懒,直接分分钟搞定注解的添加,并且整个过程还是图形化可编辑的;1.2.项目地址https://github.com/avast/android-butterknife-zelezny1.3.使用方法1.导入butterknife的jar(或者在build.g原创 2015-07-24 14:59:07 · 1346 阅读 · 0 评论 -
Idea、AndroidStudio快捷键整理
像Eclipse那样快速跳出括号(不管现在光标在哪个位置,直接新开一行) Keymap->Editor Actions->Complete Current Statement:默认是Ctrl+Shift+Enter;Shift+Enter代码提示列表(Eclipse中的Content Assist,Alt+/) Keymap->Other->Class Name Completion:默认原创 2015-08-28 10:20:21 · 933 阅读 · 0 评论 -
uCrop图片裁剪开源库使用总结
开源项目地址:https://github.com/Yalantis/uCrop效果图:配置uCrop裁剪参数1.预设置裁剪框的尺寸:1.1. 设置为何图片原始宽高比列一样 uCrop = uCrop.useSourceImageAspectRatio();1.2. 动态的设置图片的宽高比,这里设置为1:1 uCrop = uCrop.withAspectRatio(1, 1);2.设置裁剪出来图原创 2016-02-16 21:19:59 · 15419 阅读 · 3 评论 -
ScrollView嵌套WebView导致网页图片不加载问题解决方法
最近做一个资讯界面,采用的组合式[ScrollView[WebView+ListView]]的形式,这种实现方式,可以灵活的满足,资讯内容为网页H5,评论列表为原生的形式。但是一开始就一直有一个问题困扰着我们,就是当使用了这种组合之后,仿佛WebView就不知道如何去加载图片了,每次就留个空白在那边。在网上找了N种方法,没一个说到点子上的,也可能是那些方法并不针对这个问题。自己通过分析之后,发现了自原创 2016-06-21 17:30:30 · 3759 阅读 · 5 评论 -
一步步实现Viewpager卡片翻页效果
源码地址:https://github.com/NateRobinson/CardStackViewpager这个CardStackViewpager的灵感来自Github上面的 FlippableStackView开源项目,而我想实现的效果方向上恰好与FlippableStackView相反,并且细节上也有些区别,详见下面的效果对比图:FlippableStackView运行效果图:Card原创 2016-07-26 15:14:43 · 15780 阅读 · 16 评论 -
Andriod群英传-Android Scroll 分析学习笔记
1.滑动效果的产生1.1.Android坐标系Android坐标系是以屏幕的左上角为坐标系原点,从原点水平向右为X轴正方向,从原点竖直向下为Y轴正方向。 在触摸事件中,通过getRawX( ) , etRawY( )可以获得对应的坐标。1.2.视图坐标系不同于上面的Android坐标系,这个坐标系是以该视图控件的左上角为原点,对应的X,Y轴和上面的同样原理.....原创 2016-02-25 16:35:02 · 734 阅读 · 0 评论 -
Fresco图片加载框架之自总结Demo分享
自己根据Fresco中文学习文档编写的完整功能学习Demo..原创 2015-08-13 10:58:42 · 3300 阅读 · 0 评论 -
Activity Task Final Analysis
源码地址:https://github.com/NateRobinson/Activity-Task-Final-Analysis 版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/u011771755Activity任务栈模式终极分析:在吸收了网络上各路大神的分析文章之后,我自己还是忍不住想写下这个属于自己的终极分析Demo。一来总结各家所长,检测自己的学习原创 2016-01-11 17:21:37 · 966 阅读 · 0 评论 -
如何在Android Studio中设置*md文件打开方式
最近在Android Studio中写一些Demo的时候,会顺便在里面创建一个.md文件用来进行Demo笔记的书写。然而Android Studio不带有markdown预览功能,所以我就琢磨如何在Android Studio中点击对应文件时,自动打开对应的编辑器,比如这边我要打开.md文件,就应该跳出来我电脑上安装的MarkdownPad2....原创 2016-01-09 08:46:55 · 14648 阅读 · 1 评论 -
基于Bmob后台开源项目---《兄弟连》
源码地址:https://github.com/NateRobinson/XiongDiLian 版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/u011771755 兄弟连是自己突发的一个点子,因为现在的社区类APP十分火爆,打着各种各样旗号的社交APP层出不穷,文采不咋样的我曾为这个APP的主题死了N多脑细胞,最终定成了“兄弟连”,名字也许有点”丑陋“....原创 2016-01-03 09:58:58 · 3411 阅读 · 0 评论 -
模仿58到家百度地图地址选择效果
源码地址:https://github.com/NateRobinson/BaiduMapSelectAddress 版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/u011771755先上58到家的效果图:刚好最近有个项目要实现此效果,于是我就去好好研究了一把百度地图API,不得不说,百度地图的类参考文档简直好啊,遇到思绪打不开的时候,看看他的类参考文档,瞬原创 2015-12-30 16:52:33 · 2717 阅读 · 0 评论 -
MaterialEditText开源库学习
简介与库地址 其实在AppCompat V21中就提供了Material Design的控件外观支持,其中就有一个EditText,但是此EditText使用起来不是很方便, 才有了MaterialEditText开源库的诞生,下面就随我一起来学习一下此开源库的使用。 【开源库地址:https://github.com/rengwuxian/MaterialEditText】M原创 2015-10-12 23:07:27 · 2300 阅读 · 0 评论 -
Android布局优化之<merge>与<ViewStub>标签使用
merge标签:使用merge标签可以达到减少布局层级的作用,特别在配合include标签进行使用的时候,通过减少布局的层级数,可以优化APP在加载布局文件时的资源消耗,从而达到提高APP性能的效果。经典理解merge标签使用场景重现:现有布局A和布局B,A布局的代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/原创 2015-09-21 15:54:33 · 4141 阅读 · 0 评论 -
ViewPager+Fragment实现TabLayout三种方式总结
【学习DEMO源码地址】: https://github.com/NateRobinson/TabLayoutSummaryy自定义HorizontalScrollView实现TabLayout效果先放效果: 使用心得:参考的网上的写法,以前我有几个项目就用的这种实现方式,实现代码详细,便于我们理解实现细节,并且个性化配置简单方便。另外代码比较老了算,但是仍然是一个学习的好资料。参考文章:h原创 2015-09-22 14:52:30 · 1096 阅读 · 0 评论 -
AndroidValidator使用
【开源库地址:https://github.com/throrin19/Android-Validator】 validator开源库的作用是用来对Android平台的输入框内容或者TextView内容进行相关验证。常用验证功能:Email(电子邮箱)手机号码格式验证Required(必填)NotBlank(非空数据)Digits(只能数字)二选一必填验证重复密码验证Ht原创 2015-10-10 12:02:09 · 2147 阅读 · 0 评论 -
fast-json的简单实用笔记
fast-json简介:fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)零依赖(没有依赖其它任何类库除了JDK)fast-json原创 2015-10-09 16:25:37 · 1799 阅读 · 0 评论 -
Android如何自定义视图属性总结
Android如何自定义视图属性总结1. 自定义一个自己的视图类继承自Viewpublic class MyView extends View{ public MyView(Context context, AttributeSet attrs) { super(context, attrs); //获取到自定义的属性 TypedAr原创 2015-04-08 19:58:57 · 577 阅读 · 0 评论 -
《第一行代码-Android》学习笔记(二十一)WebView控件总结【修改】
1.加载页面1.1.web资源 webview.loadUrl("http://192.168.1.100:8080/Web/index.html")1.2.本地资源本地文件使用:webView.loadUrl("file://android_asset/XX.html");本地文件存放位置:assets文件夹中2.监听页面加载状态,提高用户体验 // 监听加载是否完成原创 2015-04-19 20:44:31 · 815 阅读 · 0 评论 -
《第一行代码-Android》学习笔记(十二)
1.android虽然提供了持久化的技术,但是还有一种情况需要考虑,就是一个应用如何去访问另一个应用的数据,在4.2版本以前,文件和Sharedpreferences可以供其他应用访问,但是后来被摒弃了。因为安卓有一个更加专门的功能满足这个需求:内容提供技术; 2.内容提供器:Content provider 主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,原创 2015-02-14 23:36:01 · 475 阅读 · 0 评论 -
《第一行代码-Android》学习笔记(四)
1. 碎片是什么?碎片(Fragment)是一种可以嵌入在活动当中的UI片段。2. 怎么用:在一个活动里引入两个碎片,这两个碎片相互关联。比如,一边可以是新闻标题listView,一边可以是某条被点击新闻的详情页。3. 开发准备:有两个Fragment的父类,android.app.Fragment是面向4.0以上的版本。另一个是为了兼顾低版本。4.原创 2015-02-14 23:22:31 · 583 阅读 · 0 评论 -
《第一行代码-Android》学习笔记(一)
1.活动的启动模式:a) standard:默认启动模式,系统不会在乎这个活动是否已经在返回栈中已经存在,每次都会创建该活动的一个新的实例;b) singleTop:当启动活动时发现返回栈的栈顶已经是该活动了就不会再创建新的活动实例c) singleTask:可以确保整个应用程序的上下文只存在一个实例;d) singleInstance:这个模式比较复杂,这种模式下原创 2015-02-14 23:20:50 · 551 阅读 · 0 评论