自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 FragmentPagerAdapter与FragmentStatePagerAdapter的区别+ViewPager数据刷新问题详解

FragmentPagerAdapter与FragmentStatePagerAdapter 的区别 区别FragmentPagerAdapter每一个Fragment都会被保存在fragment manager中每一个用户访问过的Fragment都会被保存在内存中,在销毁时,只会销毁其视图层级,其实例还在内存中。这可能导致大量的内存会浪费,因此使用场景为那种少量且相对静态的页面。而对于较多的

2017-01-16 15:34:41 762

转载 Fragment简介及使用注意事项

Fragment,俗称碎片,自 Android 3.0 开始被引进并大量使用。然而就是这样耳熟能详的一个东西,在开发中我们还是会遇见各种各样的问题,层出不穷。所以,是时候总结一波了。Fragment 简介作为 Activity 界面的一部分,Fragment 的存在必须依附于 Activity,并且与 Activity 一样,拥有自己的生命周期,同时处理用户的交互动作。同一个 Ac

2017-01-15 22:31:35 1042

原创 Cannot start internal HTTP server. Git integration, JavaScript debugger and LiveEdit may operate wit

Cannot start internal HTTP server. Git integration, JavaScript debugger and LiveEdit may operate with errors. Please check your firewall settings and restart Android Studio 解决办法:检查是否设置代理若是没有设置代理,采用以

2017-01-15 19:22:43 10713 2

转载 Android内存优化(使用SparseArray和ArrayMap代替HashMap)

在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。

2017-01-07 14:00:48 223

原创 关于RecyclerView的一切

RecyclerViewRecyclerView只管回收和复用View,其他的自己去设置。整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活常用操作 RecyclerView.Adapter 处理数据集+绑定视图 ViewHolder 装载view RecyclerView.LayoutManager 布局管理器,用于控制item的摆放必须为Recy

2017-01-04 00:00:39 293

原创 C代码实现栈

1 # include 2 # include malloc.h> 3 # include 4 //C语言实现栈 5 6 //结点 7 typedef struct Node{ 8 int data;//数据 9 struct Node* pNext;//指针 10 }* PNODE,NODE; 11 12

2016-12-20 11:29:25 216

原创 Android进程间通讯

最近研究了一下Android进程间通讯,原来只是会用,但是只是会用是不行滴,就来研究一下。刚开始看的时候,我的头是这么大,看了一夜的时候,头就变成这样了,,吓得宝宝赶紧上床休息了,、先喝喝茶讲个故事再来说这个通讯。(写完之后,看到这个终于承认了自己写作的能力很烂,但是好歹也是自己一个一个敲上去的,不能白白辛苦啊,嘿嘿)--------------------------------

2016-12-20 11:29:19 209

原创 Android进程间通讯之messenger

这两天在看binder,无意间在文档看到messenger这么个东西,感觉这个东西还挺有意思的,给大家分享一下。平时一说进程间通讯,大家都会想到AIDL,其实messenger和AIDL作用一样,都可以进行进程间通讯。它是基于消息的进程间通信,就像子线程和UI线程发送消息那样,是不是很简单,还不用去写AIDL文件,是不是有点小爽。哈哈。此外,还支持记录客户端对象的Messenger,然后可

2016-12-20 11:29:13 169

原创 C代码实现非循环单链表

C代码实现非循环单链表,直接上代码。 1 # include 2 # include 3 # include malloc.h> 4 //C代码实现非循环单链表 5 6 //定义链表结点 7 typedef struct Node{ 8 int data;//数据域 9 struct Node* pNext;//

2016-12-20 11:29:09 316

原创 C代码实现数组

直接上代码,没有什么说的 1 # include 2 # include malloc.h> 3 # include 4 5 //用C实现数组 6 7 typedef struct Array{ 8 int len;//数组的长度 9 int* pHead;//数组首地址 10 int cnt;//数组有

2016-12-20 11:29:02 229

原创 Android中数据存储(一)

国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客。。。。。本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦。一,文件存储数据  ①在ROM存储数据  关于在ROM读写文件,可以使用java中IO流来读写,但是谷歌很人性化,直接给你封装了一下,所以就有了Context提供的这两个方法:FileInputStream openFileInput(S

2016-12-20 11:28:57 192

原创 java反射技术详解

反射:其实就是动态的从内存加载一个指定的类,并获取该类中的所有的内容。反射的好处:大大的增强了程序的扩展性。 反射的基本步骤:  1. 获得Class对象,就是获取到指定的名称的字节码文件对象。  2. 实例化对象,获得类的属性、方法或构造函数。  3. 访问属性、调用方法、调用构造函数创建对象。一: 获取Class对象,有三种方式 :  1:通过每个对象都具备的方法getCl

2016-12-20 11:28:52 175

原创 设计模式(三)__模板方法设计模式

咳咳,上课。  起立。老师再见。???你们就这么希望老师走吗。。。。好了,同学们,今天这节课给大家介绍一下设计模式的一种——模板方法设计模式。  那么什么是模板方法设计模式呢?  当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。  模板方法模式是基于继承的代码复用的基本技术,模板方法模式的结构和用法也是面向对象设计的核心

2016-12-20 11:28:49 204

原创 设计模式(二)__装饰设计模式

今天呢,来给大家介绍一下装饰设计模式,java中IO就使用到了这个模式。  装饰设计模式,顾名思义,就是对一个功能进行装饰,就跟女人化妆一样,人还是本人,但是化了妆就变得比原来更漂亮了。  需求:当你有个功能是在N年前建立的,如今老大觉得功能不够用了,需要进行增强,那么怎么办呢?  解决:你就可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。如果这个功能写错了,又可以把自己写

2016-12-20 11:28:45 162

原创 重载和覆盖

说到java中的重载和覆盖呢,大家都很熟悉了吧,但是呢我今天就要写这个。本文主题:  一.什么是重载  二.什么是覆盖  三.两者之间的区别重载(overload):  在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。  即当函数同名时,只看参数列表。和返回值类型没关系。   重载使用的时候需要

2016-12-20 11:28:39 199

原创 Java中线程的生命周期

首先简单的介绍一下线程:  进程:正在运行中的程序。其实进程就是一个应用程序运行时的内存分配空间。  线程:其实就是进程中的一条执行路径。进程负责的是应用程序的空间的标示。线程负责的是应用程序的执行顺序。线程的生命周期:  一般来说线程状态有一下几种:  ①新建:    创建线程对象。  ②就绪:    start方法被调用,线程获得了执行资格,但还没有执行权。

2016-12-20 11:28:33 179

原创 设计模式(一)__单例设计模式

先来介绍一下什么是设计模式,设计模式起先是从建筑行业借鉴来的,然后慢慢发展到了今天这个样子。设计模式是解决问题最行之有效的思想,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。java有23种设计模式,今天就先来介绍一种:单例设计模式单例设计模式:  有时候当你需要保证一个类在内存中的对象唯一

2016-12-20 11:28:30 191

原创 抽象类和接口

抽象类和接口是java语言中对于抽象定义的两种机制,正是由于这两种机制的存在,才赋予了java强大的面向对象能力。抽象类和接口之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多初学者对使用哪个总是混淆。所以本文将  ①分别介绍抽象类和接口  ②对两者的区别进行剖析一:抽象类  ①概念:  抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类

2016-12-20 11:28:25 153

原创 Android weight属性详解

android:layout_weight是一个经常会用到的属性,它只在LinearLayout中生效,下面我们就来看一下:当我们把组件宽度设置都为”match_parent”时: Button android:layout_width="match_parent" android:layout_height="wrap_content

2016-12-20 11:28:16 430

原创 android使用selector在 button上无效

selector这个东西,默认的item加载项,必须写在最后: 如下<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/home_live_checked

2016-12-12 00:22:01 726

原创 设置Android中RadioButton的图片大小和位置

设置Android中RadioButton的图片大小和位置今天在使用RadioGroup时遇到一个问题,在布局文件中设置好RadioGroup后结果预览起来图片非常大,这根本不是我想要的效果。下面是解决问题的过程: 布局文件 <RadioGroup android:id="@+id/rg_home" android:layout_width="match_parent"

2016-12-12 00:16:39 22584 11

原创 在Activity已启动的时候获取View的宽高

在Activity已启动的时候获取View的宽高在onCreate,onStart,onResume中均无法正确的获取某个View的宽高,这是因为View的measure过程和Activity的生命周期方法不是同步执行的因此无法保证Activity执行了onCreate,onStart,onResume时某个VIew已经测量完毕,如果此时View没有测量完毕,那么获得的宽高会是0解决办法:1.onW

2016-12-11 01:13:36 273

原创 ViewPager方法介绍+广告条Demo

ViewPagerViewPager主要用来左右滑动。(类似图片轮播)ViewPager用适配器来连接“视图”和“数据”。(大家在使用时可以联想下listview的使用方法,原理是类似的)官方推荐ViewPager与Fragment一起使用,并且有专门的适配器(FragmentPagerAdapter)。ViewPager提供了预加载机制 只要滑动过程中不处于第一个条目或者最后一个条目,都

2016-12-09 21:43:42 211

原创 Viewgroup被子VIew抢焦点,导致Item无法响应点击事件。

descendantFocusability属性在ListView中的妙用当listview的Item中Viewgroup被子VIew抢焦点,导致Item无法响应点击事件。这时就可以为Item布局文件中VIewGroup设置“android:descendantFocusability”属性来强制获取焦点 这个属性的意思是:当获取焦点时,定义viewGroup和其子控件之间的关系。 属性的

2016-12-06 23:17:44 501

原创 关于Activity你应该知道的一切

ActivityContext上下文 可以理解为语文中的上下文,也就是语境从Android系统的角度来理解,Context就是当前应用所处的环境,从程序的角度上来理解,Context是一个抽象类,Activity、Service、Application都是Context的子类 在Android中,可以通过上下文访问跟当前应用相关的资源获取系统资源(getsystemservice 获取系统的

2016-11-27 21:22:24 3156

原创 利用Listview实现程序列表展示

利用Listview实现程序列表展示先来看一下效果图 这个Demo其实也没有什么难度,主要的难点就是在那两个title上,下来我就带大家看看去怎么实现这个效果首先获取系统中安装的应用信息/** * 获取应用程序信息 */public class AppInfoTools { public static List<AppInfo> getAppInfo(Context context)

2016-11-27 21:13:55 822

原创 Retrofit简单入门

Retrofit1.简介一个适用于Android和Java的网络请求库,据说网络请求非常的快2.先来一个案例熟悉一下案例:获取http://www.tngou.net/api/food/list的数据,返回的是Json格式添加依赖和权限// build.gradlecompile 'com.squareup.retrofit:retrofit:2.0.1-beta2'compile 'com.

2016-11-23 23:16:38 244

原创 LayoutInflater.inflate()的参数详解

LayoutInflater.inflate() inflate() v. 充气,打气 inflate就是将一个xml布局变成View, 注意与findViewById()的区别,inflate是加载一个布局文件,而findViewById则是从布局文件中查找一个控件。 1. 获取LayoutInflater对象有三种方法1. LayoutInflater i

2016-11-17 18:19:21 563

原创 Error:java.lang.RuntimeException: Crunching Cruncher XXX.9.png failed, see logs

Error:java.lang.RuntimeException: Crunching Cruncher XXX.9.png failed, see logsError:Execution failed for task ‘:slidingmenu:mergeDebugResources’. > Error: java.lang.RuntimeException: Some file crunchi

2016-11-17 01:37:43 669

空空如也

空空如也

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

TA关注的人

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