- 博客(84)
- 收藏
- 关注
原创 自定义View时,构造参数的调用
目录初始Custom View的构造函数生成Custom View的自定义属性在Custom View的构造函数中获取自定义属性设置自定义属性值第二个参数在布局xml文件中为属性赋值第二个参数在style中为属性赋值第三个参数defStyleAttr第四个参数通过defStyleRes为属性赋值后记初始Custom View的构造函数之前写过一篇实现圆形进度条的博客
2016-11-09 13:58:54 548 1
转载 不同版本Notification的显示问题(最简单的方法是把目标版本更改为4.4)
Android5.0通知变化浅析目前在Android中通知的使用还是很常见的,为了做版本兼容,常用兼容包NotificationCompat.Builder和 Notification.Builder。NotificationCompat.Builder位于v4扩展包内(version 4 Support Library)Notification.Builder在And
2016-08-04 17:39:37 2629
转载 Android studio gradle配置
Gradle 基本概念首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android build.gradle。build.gradle //设置脚本的运行环境 buildscript { //支持java 依赖库管理(maven/ivy),用于项目的
2016-06-21 17:36:40 358
转载 Android混淆配置
proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到。为了防止重要code 被泄露,我们往往需要混淆(Obfuscation code , 也就是把方法,字段,包和类这些java 元素的名称改成无意义的名称,这样代码结构没有变化,还可以运行,但是想弄懂代码的架构却很难。 proguard 就是这样
2016-06-21 13:54:29 347
转载 Android ORM 框架之 greenDAO
我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。所以,适用于 Android 的ORM 框架也就孕育而生了,现在市面上主流的框架有 OrmLite、SugarORM、Active Android、Realm 与 GreenDAO。而今天的主角便是 greenDAO,下面,我将详解地介绍如何在
2016-06-12 18:07:52 278
转载 Android6.0权限适配之WRITE_EXTERNAL_STORAGE(SD卡写入)
http://www.tuicool.com/articles/BnMNnu最近遇到这么一个情况,就是一个App以前都是在SD卡根目录直接新建了一个 XXX/image/ 目录,来保存图片缓存的,但是如果适配到Android6.0,我们就需要弹出对话框给用户,来申请WRITE_EXTERNAL_STORAGE 权限,如果仅仅是缓存图片为了提高加载速度,对于一个小白用户来讲,好像
2016-06-08 10:14:37 1983
转载 startActivity()的流程
10.1.3 startActivity()的流程(1)程序员可以直接调用startActivity()启动指定的Activity。前面说过,尽管从用户的角度来看,启动Activity有不同的方式,但是其主体流程是完全相同的,前端各种交互方式最后都会调用到startActivity()启动。因此,首先介绍startActivity()的流程。1.概述调用流程可大致归结为如图10-1和
2016-05-19 14:58:41 1059
转载 HTTP消息头字段
一、通用头字段1. Connection这个字段只在HTTP1.1协议中存在。它决定了客户端和服务器进行了一次会话后,服务器是否立即关闭网络连接。在客户端最直接的表现是使用read方法(readLine方法也是一样)读完客户端请求的Web资源后,是否立即返回-1(readLine返回null)。Connection有两个值:Close和Keep-Alive。当使用Conne
2016-05-18 12:54:53 631
转载 Android应用程序安装过程源代码分析
Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,即以Apk为后缀的文件,然后对这些文件进解析,得到应用程序的相关信息,完成应用程序的安装过程,本文将详细分析这个过程。 应用程序管理服务PackageManagerService安装应用程序的过程,其实就是解析析应用程序
2016-05-17 18:10:45 303
转载 WebViewClient与WebChromeClient的区别
Android应用开发的时候可能会用到WebView这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢?WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResourceonPageStartonPageFinish
2016-05-11 11:50:50 250
转载 webview的两个方法:setWebChromeClient和setWebClient
android.webkit库聚合了webkit内核的浏览器功能,webview就是她的一个控件,可以使得网页轻松的内嵌到app里。并且比较强大的是,还可以直接跟js相互调用。webview有两个方法:setWebChromeClient和setWebClientsetWebChromeClient主要处理解析,渲染网页等浏览器做的事情WebChromeClient是辅助Web
2016-05-11 11:42:59 1020
转载 intent.setFlags方法中的参数值含义
一. intent.setFlags()方法中的参数值含义:1.FLAG_ACTIVITY_CLEAR_TOP:例如现在的栈情况为:A B C D 。D此时通过intent跳转到B,如果这个intent添加FLAG_ACTIVITY_CLEAR_TOP标记,则栈情况变为:A B。如果没有添加这个标记,则栈情况将会变成:A B C D B。也就是说,如果添加了FLAG_ACTIVITY_CLEA
2016-05-10 16:32:49 283
转载 关于android WebViewClient和WebChromeClient
一、Android之WebViewClient与WebChromeClient的区别ANDROID应用开发的时候可能会用到WEBVIEW这个组件,使用过程中可能会接触到WEBVIEWCLIENT与WEBCHROMECLIENT,那么这两个类到底有什么不同呢?WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResourc
2016-05-06 16:50:12 399
转载 android 状态栏、标题栏、屏幕高度
1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。于是,我们就可以算出状态栏的高度了。 Java代码 Rect frame = new Rect()
2016-04-25 15:32:22 280
转载 Android LaunchMode案例篇
在开发中有时会遇到这样的场景,用户点击注册,第一步,第二步,完成注册跳转到登录界面,不需要用户一步一步的返回到登录界面。这是怎么实现的呢? 案例:有四个界面 A,B,C,D 从A跳转到B,B跳转到C,C跳转到D,D完成注册跳转到A,点击返回键退出程序。具体过程来看下图:这里提供了三种常见的解决方案。方案一1.清单文件(AndroidManifest.xml)文件设置A的启动模式
2016-04-22 11:32:05 329
转载 Android getWidth和getMeasuredWidth的正解
原文摘自: http://gundumw100.iteye.com/blog/1025191解释一下 之所以用翻译是因为我自己觉得看着繁体字可难受。。为了不让大家难受。。就翻译了。。哈哈一、 也许很多同学对getWidth()和getMeasuredWidth()的用法有很多的不解,这两者之间有什么样的不同呢,网上也有各种不同的版本,但大多都大同小异罢了,从这个地方CTRL +
2016-04-21 15:11:28 246
转载 setImageResource和setImageDrawable区别
ImageView设置图片的方式有很多钟,可以在xml里面写android:src=”@drawable/xxx”,也可以在java代码里面设置。在java里面的设置方式也有多种,方法包括:setImageResource,setImageDrawable,setImageBitmap。在xml里面设置实际上和在java里面调用setImageResource是一样的,当然xml多了一个解
2016-04-19 14:44:26 1808 1
转载 Android开发规范之编码规范
1,java代码中不出现中文,最多注释中可以出现中文,中文统一写在strings.xml中;2,局部变量命名、静态成员变量命名 只能包含字母,单词首字母大写,其他字母都为小写3,常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4,布局文件中的id命名命名模式为:view缩写_模块名称_view的逻辑名称常用控件的缩写如下LayoutView:lv_Relativ
2016-04-14 15:29:49 267
转载 android:shape属性详解
这一类的shape定义在xml中file location:res/drawable/filename.xmlThe filename is used as the resource ID.(这个文件名作为资源id)compiled resource datatype:(复杂资源的数据类型)Resource pointer to a GradientDrawable.
2016-04-14 13:28:39 347
转载 ScrollView嵌套ListView问题的四种解决方案
在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、分析、总结。实际上不光是ListView,其他继承自AbsListView的类也适用,包括ExpandableLi
2016-04-09 14:16:09 395
转载 SQLiteDatabase中query、insert、update、delete方法参数说明
1、SQLiteDataBase对象的query()接口:public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having,String o
2016-04-08 13:55:40 322
转载 Android数据库 SQLite数据库
Android数据库 一、关系型数据库SQLIte 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了。SQLite已经被多种软件和产品使用,Mozilla Fire
2016-04-08 13:06:25 451
转载 Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。 GITHUB上的下载路径为:https:/
2016-03-28 18:58:43 268
转载 android shape的使用
shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: xml version="1.0" encoding="utf-8"?>shape xmlns:android="http://schemas.android.com/apk/res/android" > 圆角 --> corners and
2016-03-28 14:00:50 218
原创 Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/12684155前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了,过完国庆到新公司报道,感觉还不错,就是现在住的地方离新公司有点远,地铁20站,伤不起啊,我每天早上7点多就要起床,然后屁颠屁颠的去挤地铁上班,晚上下班还要挤地铁,先不说路程远,车费一天就要10几块
2016-03-25 16:18:45 684
转载 LisetView Item高度设置无效
1, ListView里面Item的高度设置无效 需要在item的布局文件里加一条属性 android:minHeight="?android:attr/listPreferredItemHeight" 另外一个问题:为每一个item设置不同的高度或者为每一个item设置不同的样式。
2016-03-25 16:06:52 408
转载 对话框
转载请注明出处:红亮的专栏:http://blog.csdn.net/liang5630/article/details/44098899Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。在实际开发中,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义对话框。当然学会系统的,自定义就简单了,所以我们先来
2016-03-21 13:53:39 291
转载 Fragment事务的提交的方式
下边两个问题,是在开发中碰到的一些关于Fragment的偶发性的问题,今天时间比较多,就在网上搜了一些解决方式:1、关于Fragment(XXFragment) not attached to Activity 异常。出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就是等将调用的代码
2016-03-07 10:15:30 291
转载 Android数据库 之 SQLite数据库
Android数据库 一、关系型数据库SQLIte 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了。SQLite已经被多种软件和产品使用,Mozilla Fire
2016-02-24 09:50:21 2304
转载 图片加载库Glide
英文原文 Introduction to Glide, Image Loader Library for Android, recommended by Google首发地址 http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图
2016-02-23 16:41:46 780
原创 自定控件时 三个构造方法的调用
public View (Context context)是在java代码创建视图的时候被调用,如果是从xml填充的视图,就不会调用这个public View (Context context, AttributeSet attrs)这个是在xml创建但是没有指定style的时候被调用public View (Context context, AttributeSet attrs, int
2016-02-23 13:48:31 402
转载 SwipeRefreshLayout完美添加及完善上拉加载功能
项目地址:https://git.oschina.net/whos/SwipeRefreshAndLoadLayout/wikis/home关于Google推出的下拉刷新控件SwipeRefreshLayout的相关使用方法,大家可以去参考http://blog.csdn.net/geeklei/article/details/38876981,本文也借鉴了其中的一些内容和“颜路的博客
2016-02-22 13:16:20 506
转载 Android AIDL使用详解
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信 2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/docs
2016-02-22 11:06:20 234
转载 点击popupwindow窗口之外的区域popupwindow消失
开始以为popupWindow.setOutsideTouchable(true);这个方法可以呢,试了试,不行,其实这个方法时设置popupWindow以外的区域可以相应触摸事件,比如我们重写了触摸事件去做一些别的操作。对了,还有,设置popupWindow.setFocusable(true); 这样才能让popupWindow里面的布局控件获得点击的事件,否则就被它的父亲vie
2016-02-18 11:48:59 301
转载 Android 更新UI的两种方法——handler和runOnUiThread()
Android 更新UI的两种方法——handler和runOnUiThread()在Android开发过程中,常需要更新界面的UI。而更新UI是要主线程来更新的,即UI线程更新。如果在主线线程之外的线程中直接更新页面显示常会报错。抛出异常:android.view.ViewRoot$CalledFromWrongThreadException: Only the original threa
2016-02-17 10:54:42 393
转载 循环的几种表示
J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不
2016-02-01 11:26:53 2281
转载 moveTaskToback退后台
方法:public boolean moveTaskToBack(boolean nonRoot)activity里有这个方法,参数说明如下:nonRoot=false→ 仅当activity为task根(即首个activity例如启动activity之类的)时才生效nonRoot=true→ 忽略上面的限制这个方法不会改变task中的activity中的顺序,效果
2016-02-01 10:02:45 279
转载 onNewIntent
onCreate是用来创建一个Activity也就是创建一个窗体,但一个Activty处于任务栈的顶端,若再次调用startActivity去创建它,则不会再次创建。若你想利用已有的Acivity去处理别的Intent时,你就可以利用onNewIntent来处理。在onNewIntent里面就会获得新的Intent.[html] view plaincopy
2016-01-29 12:02:45 297
转载 activity 中的 onSaveInstanceState方法的调用时机
onSaveInstanceState方法会在什么时候被执行,有这么几种情况:1、当用户按下HOME键时。这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则2、长按HOME键,选择运行其他的
2016-01-29 11:06:08 720
转载 三元表达式
布尔表达式?a:b布尔表达式为true结果为a,表达式为false结果为bjava三元表达式有字符强转的功能,会把后面的强转为和前面的类型一样如果前面是int型 会把后面字符变成对应的ascii码。如果前面是char型 会把后面数字转换成对应的字符。条件?a:b;等同于if(条件){ a;}else{ b;}
2016-01-29 10:57:21 364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人