自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 23种设计模式

http://www.runoob.com/design-pattern/factory-pattern.html

2016-11-09 20:07:59 238

转载 Android事件的分发机制

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给L

2016-11-09 19:54:09 217

原创 动画

帧动画:静态实现(通过xml资源文件)<1. res/drawable在该文件夹中创建动画的xml资源文件<2. <animation-list> 根节点 <item> 每一帧的节点 item节点中的两个属性: duration:设置一次播放的时间 drawable:设置每一帧的图片资源<3.把这个资

2016-07-27 20:22:24 195

原创 Service详解

Service 是安卓的四大组件之一 , 用于长时间驻留在后台进行操作 注意:它区别于线程,虽然是在app中进行创建和邦定的,但是最终是在主线程里运行的 所以,一些耗时的操作,例如:网络请求。用户输入,音频播放等,最好是在Service的子线程中进行处理 Service有两种启动方式:context.startservice 和 context.bindse

2016-07-23 11:57:15 308

原创 广播

Android系统会发送许多系统级别的广播,比如屏幕关闭,电池电量低等广播。同样应用可以发起自定义“由开发者定义的”广播。广播是从一个应用内部向另一个应用发送消息的途径之一。发送广播: Context.sendBroadcast()发送的是普通广播,所有订阅者都有机会获得并进行处理。Context.sendOrderedBroadcast()发送的是有序广播,系统会根据接收者声明的优先级别按顺序逐

2016-07-21 21:42:39 228

原创 Notification 的使用

Notification 为用于在状态栏显示通知信息的控件。实现notification的步骤:第一步:获取通知管理器 NotificationManager NotificationManager是状态栏通知的管理类,负责发通知;清楚通知的;它是一个系统的Service,必须通过getSystemService()方法来获取。 NotificationManager manager = (N

2016-07-21 20:15:32 380

原创 SharedPreferences的使用

获取SharedPreferences的两种方式:1 调用Context对象的getSharedPreferences()方法2 调用Activity对象的getPreferences()方法两种方式的区别:调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.调用Activity对象的get

2016-07-20 15:08:32 362

转载 Tablayout 的使用

我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合。达到很漂亮的效果。但是TabPageIndicator是第三方的,而且比较老了,当然了现在很多大神都已经开始自己写TabPageIndicator来满足自己的需求,在2015年的google大会上,google发布了新的Android Support Design库,里面包含了几个新的控件,其中就有一个TabL

2016-07-19 12:14:36 218

原创 四种线程池的使用

线程池是一种对象池,目的是减小对象的创建和注销的开支,减轻JVM的压力 为什么使用线程池 newThread 有很多弊端 1 新建对象性能差 2 线程之间缺乏统一管理,可能无限的创建线程,相互之间的竞争会带来过多系统的损耗,导致死机或者oom; 3 缺乏更多的功能,例如 定时执行 定期执行 线程中断 可以基本理解为线程池扩展了很多新功能。J

2016-07-18 22:05:40 256

原创 线程池

线程的生命周期:新建 ----》就绪----》运行-----》阻塞----》死亡 为什么要使用同步: java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性一:syn

2016-07-18 21:11:02 226

原创 辗转相除法原理及Java实现

辗转相除法 「辗转相除法」又叫做「欧几里得算法」,是公元前 300 年左右的希腊数学家欧几里得在他的著作《几何原本》提出的.利用这个方法,可以较快地求出两个自然数的最大公因数,即 HCF 或叫做 gcd. 最大公约数(greatest common divisor,简写为gcd;或highest common factor,简写为hcf) 所谓最大公因数,是指几个数的共有的因数之中最大的一个

2016-07-17 14:46:24 2241

原创 Dialog

package com.coderqi.android2lesson_10_dialog;import android.content.DialogInterface;import android.os.StrictMode;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActi

2016-07-16 14:38:20 245

原创 发短信 打电话

发短信: 1.添加发短信的权限:<uses-permission android:name="android.permission.SEND_SMS"/>2.显示的提醒用户是否允许ADK使用短信发送消息 ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.SEND_SMS},-1);3.获取控件并添加响应事

2016-07-16 14:18:46 257

原创 RecyclerView的其他应用

RecyclerView 的点击事件:对于RecyclerView来说,该控件没有给我们提供内置监听方法,我们需要在adapter中增加点击事件,来达到recyclerView的点击。第一步:声明一个接口,定义响应事件的方法。public interface OnRVItemClickListener { //定义点击事件的回调 void onItemClick(

2016-07-14 21:29:46 191

原创 RecylerView 的应用

在使用RecyclerView之前,首先要引v7 包。(两种方法)第一步:在main.xml 里面添加RecyclerView<android.support.v7.widget.RecyclerView android:layout_width="wrap_content" android:layout_height="wrap_content" androi

2016-07-13 21:18:53 245

转载 RecyclerView

p://blog.csdn.net/dmk877/article/details/50816933自Android 5.0之后,谷歌公司推出了RecylerView控件,RecylerView,我想看到一个新名词后大部分人会首先发出一个疑问,recylerview是什么?为什么会有recylerview也就是说recylerview的优点是什么?recylerview怎么用?接

2016-07-13 09:25:04 281

原创 抽象布局

在Android的性能优化时,可以使用使用抽象布局标签(include, ViewStub, merge)、去除不必要的嵌套和View节点、减少不必要的inflate及其他Layout。**include**include标签常用于将布局中的公共部分提取出来是其他layout公用,以实现布局的模块化,这给布局编写提供了便利。要想设置include 标签的布局,必须先设置宽高。 当在用i

2016-07-12 21:36:06 298

原创 自定义组件

Paint 类表示画笔,用来描述图形的颜色和风格,如线宽、颜色、透明度和填充效果等信息 使用paint可分为三步:1.通过构造方法创造出paint实例2.通过给累的set对paint进行设置3.通过搭配 Canvas 来使用paint 设置画笔的颜色:paint.setColor(Color.  )我们画的图都会输

2016-07-11 22:01:44 194

原创 ContentProvider 读取系统联系人

数据库中重要的几张表1、contacts表该表保存了所有的手机测联系人,每个联系人占一行,该表保存了联系人的ContactID、联系次数、最后一次联系的时间、是否含有号码、是否被添加到收藏夹等信息。2、raw_contacts表该表保存了所有创建过的手机测联系人,每个联系人占一行,表里有一列标识该联系人是否被删除,该表保存了两个ID:RawContactID和Conta

2016-07-11 21:44:57 1163

原创 contentProvider

ContentProvider是Android系统的四大组件之一,主要用于在不同的应用程序之间实现数据共享.第一步:创建一个数据库 (也就是类  DBHelper),用于数据的存储和访问。

2016-07-09 22:13:37 175

原创 SQLiteDatabase

SQL 语句简介:* 数据库永远离不开四个操作:增删改查CRUD** create 创建表格* create table student(name text, sex text, age integer);** insert 添加数据* insert into student (name,sex,sge) values ('张三', '男' , 21); SQL语句 都是单引号*

2016-07-09 19:21:10 223

原创 AsyncTask

第一步:在布局文件中添加相应的控件。         android:id="@+id/download"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="下载"/>            android

2016-07-09 17:56:01 161

原创 ListView

ListView 需要适配器 Adapter 将数据和视图结合在一起。常用的adapter有以下三种:ArrayAdapter:第一步:声明一个 ListView 属性,并声明一个属性用来存放数据。private ListView  mListView; private  List data;第二步:初始化 ListView。mListView  = new ListV

2016-07-09 14:59:42 197

原创 TabLayout应用

第一步:将tabLayout 和 viewpager 添加到布局里面           注意:这里需要将标签包引入

2016-07-04 22:04:06 172

空空如也

空空如也

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

TA关注的人

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