自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android 代码优化

主要介绍Java代码中性能优化方式及网络优化,包括缓存、异步、延迟、数据存储、算法、JNI、逻辑等优化方式。1、降低执行时间这部分包括:缓存、数据存储优化、算法优化、JNI、逻辑优化、需求优化几种优化方式。(1). 缓存缓存主要包括对象缓存、IO缓存、网络缓存、DB缓存,对象缓存能减少内存的分配,IO缓存减少磁盘的读写次数,网络缓存减少网络传输,DB缓存较少Da

2015-09-23 15:40:01 302

转载 Android 布局优化

主要介绍使用抽象布局标签(include, viewstub, merge)、去除不必要的嵌套和View节点、减少不必要的infalte及其他Layout方面可调优点,顺带提及布局调优相关工具(hierarchy viewer和lint)。1、抽象布局标签(1) 标签include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化,这在布局编写方便提供

2015-09-23 14:39:50 245

转载 Android View与GroupView原理以及其子类描述

简介View是Android UI组件的基类,ViewGroup是容纳UI组件的容器,ViewGroup本身也是从View派生出来的。简单的说,Android UI界面是由View和ViewGroup及其派生类组合而成的,其结构示意图:下面将简单的介绍View与GroupView原理以及其子类。详解1、View与ViewGroup

2015-09-23 14:12:12 691

转载 Android Activity原理以及其子类描述

简介         Activity是Android应用程序组件,实现一个用户交互窗口,我们可以实现布局填充屏幕,也可以实现悬浮窗口。一个app由很多个Actvitiy组合而成,它们之间用intent-filter区别主次关系。下面将简单介绍Activity以及其子类和其它界面。详情1、Activity2、ListActivity

2015-09-23 14:09:29 306

转载 Android 高级UI

简介在Android官网中有对UI 优化的文档,开发者有必要对它进行掌握。详解1、抽象布局标签能够重用布局文件[html] view plaincopyinclude layout="@layout/titlebar"/>     标签可以删减多余的层级,它多用于替换FrameLayout或者当一个布局

2015-09-23 14:05:15 266

转载 Android 动画原理

简介Android 平台提供了三类动画,1、Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变);2、 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似;3、属性动画,改变对象的实际属性达到动画效果。下面将用导图方式介绍,导图原图可以通过鼠标右键另存为获得。详情1、Animation2、An

2015-09-23 13:56:37 255

转载 Android Framework 记录之二

接着上次的记录,续写。23、services目录文件描述class AlarmManagerService extends IAlarmManager.Stub {//定时管理服务public class AppOpsService extends IAppOpsService.Stub { // 程序选项服务

2015-09-22 23:01:02 525

转载 Android 设计模式

项目开发中发现问题、解决问题这个过程中会出现很多问题,比如重复出现、某个问题的遗留,这些问题的本质就是设计模式。今天记录设计模式的知识点。内容在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。它们的耦合度依次增强。依赖关系:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务

2015-09-22 22:53:53 328

转载 Android Framework 记录之一

之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework框架层了。记录1、下载源码,目录如下:2、Android系统的层次如下:3、项目目录简单分析如下:4、telphony目录文件描述CellIdentit

2015-09-22 22:49:39 569

转载 反编译apk

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

2015-09-22 15:21:25 285

转载 Android如何防止apk程序被反编译

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难

2015-09-22 14:57:32 230

转载 Android 自定义TitleBar替换ActionBar的另类方式

titleBar自定义布局common_title_view.xml?1234567891011121314151617181920212223242526

2015-09-21 17:41:15 701

转载 android学习——控制硬加速 hardwareAccelerated 在3.0才有的。

从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作.  启用硬加速最简单的的方法是对整个应用启用硬件速.如果你的应用只使用标准的view和Drawable,全局启用硬加速将不会带来任何负面影响.然而,因为硬加速不是被所有的2D绘制所支持,所以启用它时可能对你的自定

2015-09-21 10:25:22 356

原创 GridView点击item后改变item的背景

先上效果图1 首先在你的adapter里面添加private int clickTemp = -1;           //标识选择的Itempublic void setSeclection(int position) {clickTemp = position;}2 然后再getview里面这样@Ov

2015-09-18 16:26:43 1416

转载 关于ayoutInflater类中inflate用法viewgroup参数的理解

以前在写代码的时候,有一个很不好的习惯,当然这个习惯也是跟着视频教程学的,那就是我们在将xml文件转化成view的时候,会很顺手的将viewpgroup参数写为null。比如下面这个例子。我不想用难的api来实现,我们只用最简单的。在AlertDialog里填充一个edittext的视图首先是dialog里面的edittext视图[html] view plai

2015-09-18 11:37:58 335

转载 安卓接口回调

题外话:这篇博客包含了我其中一个最耗费我时间去理解的知识点。理解能力渣渣,接口回调技术曾经用了两星期去理解才理解,说理解我都不自信,因为我都不知道我写的是不是接口回调,只是因为我看着长得像,就写出来看看,顺便做自我记录,恳请大神们拍砖。首先感谢loader大神和龙伟大神的指点还有csdn各个大神的博客,没有你们写的接口回调我也不会理解。接口回调技术,说起来高大上,很多人

2015-09-18 11:06:18 790

转载 回调机制_看一遍就懂了

所谓回调, 定义是“一个方法的指针传递给事件源,当某一事件发生时用来调用这个方法。”比如客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的

2015-09-17 16:18:58 4263

转载 ViewPager和Fragment的组合使用

支持手指滑动切换页面,也支持点击导航按钮切换页面。页面布局文件:[html] view plaincopyRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:tools="http://schemas.an

2015-09-14 15:39:26 427

转载 Java反射机制详解

首先,我们在开始前提出一个问题:1.在运行时,对于一个java类,能否知道属性和方法;能否去调用它的任意方法? 答案是肯定的。本节所有目录如下:什么是JAVA的反射机制JDK中提供的Reflection APIJAVA反射机制提供了什么功能获取类的Class对象获取类的Fields获取类的Method获取类的Constructor新建类的实例

2015-09-12 17:50:19 286

转载 C的|、||、&、&&、异或、~、!运算

位运算    位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有:    &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。   其中,按位取反运算符是单目运算符,其余均为双目运算符。    位运算符的优先级从高到低,依次为~、&、^、|,   其中

2015-09-11 09:15:59 389

原创 Android Property Animation 属性动画

Property Animation介绍: 出生在sdk3.0,是利用了View所拥有的属性,进行一系列的操作。比如一个View有什么样的setAbc的属性,那么理论上就可以设置它。它不仅改变View的绘制,也改变了View的属性;而Tween Animation 只改变View的绘制。Animator为属性动画的基类  其结构:Animator abstr

2015-09-10 17:07:43 309

转载 属性动画的高级用法

ValueAnimator的高级用法在上篇文章中介绍补间动画缺点的时候有提到过,补间动画是只能对View对象进行动画操作的。而属性动画就不再受这个限制,它可以对任意对象进行动画操作。那么大家应该还记得在上篇文章当中我举的一个例子,比如说我们有一个自定义的View,在这个View当中有一个Point对象用于管理坐标,然后在onDraw()方法当中就是根据这个Point对象的坐标值来进行绘制的

2015-09-10 16:30:42 326

转载 属性动画

为什么要引入属性动画?Android之前的补间动画机制其实还算是比较健全的,在android.view.animation包下面有好多的类可以供我们操作,来完成一系列的动画效果,比如说对View进行移动、缩放、旋转和淡入淡出,并且我们还可以借助AnimationSet来将这些动画效果组合起来使用,除此之外还可以通过配置Interpolator来控制动画的播放速度等等等等。那么这里大家可能要

2015-09-10 16:29:43 431

原创 Android Animation动画(很详细)

一、Animations介绍Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。 二、Animations的分类Animations从总体上可以分为两大类:1.Tweened Animations:该类Animations提供了旋转、移

2015-09-10 16:25:15 441

原创 ListView,GridView之LayoutAnimation特殊动画的实现

/**      * Layout动画      *       * @return      */      protected LayoutAnimationController getAnimationController() {          int duration=300;          AnimationSet set = new Animatio

2015-09-10 16:23:43 507

原创 Gridview制作表格

最简单的方法1.在GridView里设置一些属性android:background="#000000"             背景色黑色android:horizontalSpacing="1sp"           水平间距1sp android:verticalSpacing="1sp"               垂直间距1spandroid:paddi

2015-09-10 11:34:13 1302

原创 checkbox让它不能点击

2个checkbox之间的点击切换@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.teacher_go:if (teacher_go.isChecked()) {student_go.setChecked(false);teacher_go.setClickable(false);

2015-09-10 11:29:01 2207

原创 Activity的切换动画

如果是应用全局的动画,则在style文件里面定义style name="Animation_Activity" parent="@android:style/Animation.Activity">        item name="android:activityOpenEnterAnimation">@anim/right_initem>        item

2015-09-10 09:04:41 764 1

转载 MeasureSpec学习—对Integer.MAX_VALUE >> 2的认识

在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSp

2015-09-08 09:41:42 7469

原创 scrollview去掉头部阴影

当滑动到边界的时候,如果再滑动,就会触发这个效果,产生渐变。在资源文件里,是overscroll_edge跟overscroll_glow。但如果像我这样,想用HorizontalScrollView来模拟gallery来做水平滑动条的话,滑动到头尾的时候,越界效果会有碍整体的表现,那就只能无情的关闭他了..关闭方法一,在xml中设置属性android:overScrollMo

2015-09-07 17:25:57 1965

原创 scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题

scrollview里面嵌套了一个listview ,通过设置一个方法设置了listview的高度 现在的情况就是进到这个界面的时候看到的不是最上面 而是中间 ,该问题的解决办法有两种:1.mScrollView。ScrollTo(0,0);这种没有卡顿的效果2.mScrollView.smoothScrollTo(0,0);这种好像会有卡顿的效果如此以上代码还是无效, 在

2015-09-07 17:12:26 359

转载 Unable to execute dex: Multiple dex files define 解决方法

问题发生概述:       程序编译正常,在用Eclipse调试执行时,报错Unable to execute dex: Multiple dex files define,因为以前也没有遇到这类错误,首先便尝试万能纠错发,如下方法一,也是上网搜索众多解决方案之一,尝试后未果,便按照搜索方案,逐一尝试,都未能解决,最后盯着工程突然发现问题。具体解决方案如下:方法一:       Ecl

2015-09-07 09:04:38 302

.9path去黑边工具

用sdk自带的工具做完后,引入到项目,会发现有黑边,用这个处理很不错滴.

2015-11-13

scrollview,listview,gridview,viewpager边界阴影问题

这个资源是我从studio移植到eclipse,如果报错的话,自己改下。

2015-09-07

空空如也

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

TA关注的人

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