自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Charles Petzold《Code》----2016.12.28 读1~3章

注:所有笔记均为自己的理解总结,可能并非书本原文,对错不予负责。第一章摘要:介绍了编码的含义,以及通过介绍“手电筒交流法”引出了二进制码的概念。编码其实就是用“一套规则化的表达方式”来表达“现实中的事物”。 比如文字就可以说是一类编码,因为“猪”这个文字可以是现实中的狗,可以是现实中的猫,它之所以是猪,是因为我们把它规定为它表达的就是现实中的猪。 再比如二进制码,不同的二进制位的组合可以表示不同

2016-12-29 00:39:52 1164

原创 自定义控件之onLayout()

onLayout()方法的目的:将ViewGroup里的每一个子View放置在一定的位置。实现思路:在onLayout()方法里获取子View的实例,然后通过调用View.layout(int l, int t, int r, int b)实现子View在ViewGroup里的精确放置。自定义View首先调用onMeasure进行测量,然后调用onLayout方法,动态获取子View和子View的测

2016-12-28 17:23:36 929

原创 自定义View之onMeasure()

其实onMeasure()一般不需要重写,因为本来的宽高设值方式就很合理啊,除非你有一些特殊的、变态的要求,不过对其了解一些还是有必要的:一、关于“onMeasure(MeasureSpec width,MeasureSpec height)的参数”是从哪里传过来的:onMeasure()函数由包含这个View的具体的ViewGroup调用,因此值也是从这个ViewGroup中传入的。当控件的容器正

2016-12-28 14:53:12 318

原创 Google物联网:AndroidThings、Nest、Weave

IOT:Internet of Things,物联网google的物联网两大战将:Android Things 、 Nest一、Nest:2014年,以现金32亿美元收购设备公司Nest。32亿美元,全现金!这是谷歌历史上规模第二大的收购案,仅次于它以125亿美元收购摩托罗拉手机部门。Nest公司成立于2011年,因推出具有漂亮外观设计和自我学习功能的Nest智能温控装置而受到市场广泛关注。它的联合

2016-12-28 10:46:46 1542

原创 自定义View之onDraw()

自定义View时可能会重写三个方法: 1、onDraw():你的View里画些什么内容 2、onMeasure():你的View的宽高 3、onLayout():你的View放在什么位置这次写onDraw(),帮助自己总结记忆。思路如下: 1、自定义属性,获得绘制的素材。在View里画东西,你总要有素材,也就是画些什么。比如说要画一张图,就要知道是什么图;要画一段文字,就需要知道是什么文字,

2016-12-27 19:34:56 638

转载 minSdkVersion、targetSdkVersion、compileSdkVersion三者的作用解析

minSdkVersionminSdkVersion限制安装application所需要的系统最低版本,低于该版本的系统都不可以安装该application。同时不能使用该level版本SDK所不具备的API,例如在minSdkVersion为8的application中调用【this.getActionBar()】就会出现Call requires API level 11 (current m

2016-12-26 12:57:59 351

原创 DrawerLayout的简单用法

主要有三个方面:1、侧滑功能的实现。(写完xml文件即可实现)<?xml version="1.0" encoding="utf-8"?><!--抽屉布局必须得以DrawerLayout作为XML文件的根节点--><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/re

2016-12-23 14:59:24 389

原创 SQLiteOpenHelper

【SQLite使用流程】 1. 打开/创建数据库 2. 创建数据表(如果数据表不存在的话) 3. 操作数据表中的数据(增删改查) 4. 关闭数据库连接openOrCreateDatabase(“tedu.db”,MODE_PRIVATE,null)会拿到数据库对象,但是如果执行创建数据表操作的话,就会每次运行代码时都重复创建数据表。因此,需要对数据表进行管理,也就引入了SQLiteOpenH

2016-12-22 11:42:38 405

转载 Android文件IO详解

首先让我们回顾一下JavaIO。看图:看到这么多流,是不是头都大了,当年我学这块的时候,心想什么玩意,这流那流的。什么时候该用什么流?输入流和输出流经常弄混,不知道什么时候该用输出?什么时候该用输入?接下来看图 :上面这张图说明了最基本的输入,输出。当然我们的数据源方向不一定只有文件,或许是内存或者网络。接下来说一下什么是字节流,字符流。说白了节点流就是连接程序与数据源的一个管子,单纯的用来传送数据

2016-12-19 11:12:18 3560

转载 Android Studio之maven Central,JCenter

Android studio 是从哪里得到库的?Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。jcenter jcente

2016-12-16 17:19:38 399

转载 “元数据”的含义?

要理解这个问题,首先要知道“元”是什么。 元(meta),一般被我们翻译成“关于……的……”。 事实上,这个前缀来源于希腊文,表示“在……之后”,在某样事情结束之后,就含有了“归纳”、“总结”的意思呢?因此,元,就代表着“本原”、“体系”的意思。 以文学领域为例,后现代主义文学中有一种小说叫作“元小说”,也就是“关于小说的小说”。“传统小说往往关心的是人物、事件,是作品所叙述的内容;而元小说则

2016-12-16 16:25:19 7874

原创 GC简介

GC:Garbage CollectorGC的基本原理 Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。 对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象, 我们称该对象为”不可达的”,GC将负责回收所有”不可达”对象的内存空间。 GC在JVM中通常是由一个或一组进程来实现的,它本身也和用户程序一样占用heap空间

2016-12-16 14:47:13 353

原创 popupWindow的实际使用

/** * 弹出popupWindow */ private void showPopupWindown() { //新建popupWindow实例 View view = LayoutInflater.from(this).inflate(R.layout.view_popupwindow_choose_reason, null);

2016-12-15 10:33:34 325

原创 如何在内存中画出一张图片

三大元素:Bitmap、Canvas、Paint //准备一个新的bitmap Bitmap bm = Bitmap.createBitmap(200,200, Bitmap.Config.ARGB_8888); //准备Canvas Canvas canvas = new Canvas(bm); //将这个bitmap填

2016-12-12 14:14:26 2000

原创 媒体图库

一、拿取资源 当我们要拿取手机的图片时,怎么办? 安卓自带的程序会扫描SD卡,找出所有的图片,并用数据表来维护这些信息,所以我们只需要查这张表就能得到所有的图片信息。就是这个程序: 表中用到的字段: 注意:在安卓老版本之前(貌似是2.3.3),这张表里面是没有width和height的。要查这张表需要知道它的uri:MediaStore.Images.Media.EXTERNAL_CONTE

2016-12-12 10:23:29 620

原创 PorterDuff改变图片颜色

如上图:是一个透明的灰色图片盖在黑色背景色上面,此时灰色图片看着不明显,我们要做的是把灰色图片颜色变为白色,如下图:用下面这行代码就能实现:ivLeft.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);PorterDuff两个人就是研究当两个图片重叠时,如何让重叠部分产生不同的效果。android中有16种效果。上面的原理就是:在灰色透明

2016-12-08 23:05:19 377

转载 class 文件与dex文件区别 (dvm与jvm区别)及Android DVM介绍

区别一:dvm执行的是.dex格式文件 jvm执行的是.class文件 Android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和.dex文件等打包成.apk文件。apk就是android package的意思。 jvm执行的是.class文件。 区别二:dvm是基于寄存器的虚拟机 而jvm执行是基于虚拟栈的虚拟机。寄存器存取

2016-12-08 10:42:50 993

原创 Volley发起网络请求及Gson

1、将请求加入请求队列; 2、在队列中找到这个请求处理它; 3、如果以前处理过相同的请求,直接从缓存中拿结果; 4、如果以前没处理过,那么发起网络请求,拿取结果,并将它放入缓存。public class HttpUtil { //创建一个Volley的访问队列 public static RequestQueue queue; public static void get

2016-12-07 23:53:35 423

原创 获取图片资源:相册选择、拍照、裁剪

1、从本地相册拿取图片路径: Intent intentPick = new Intent(Intent.ACTION_PICK); intentPick.setType("image/*"); activity.startActivityForResult(intentPick, CODE_ACTIVITY_REQUEST_GALLERY);publi

2016-12-07 10:15:54 420

原创 ListView的headerView和footerView

如上图, 现在有一个需求,listview头部和尾部的内容不变,但它中间的内容是可变长的,整个区域都可滑动。这时就可运用headerView和footerView来解决此问题。首先要画出三块布局:1、headerView 2、footerView 3、itemView 主要代码和注释如下://初始化headerView和footerView LayoutInflater inf

2016-12-06 15:21:31 1372

原创 ListView的Adapter

public class OrderListConfirmAdapter extends BaseAdapter { /** * 应用环境变量 **/ private Context mContext = null; private List mListOrder = null; private LayoutInflater listContain

2016-12-06 14:16:41 214

原创 动态添加控件

如上图,在添加材料时,可能需要添加不定数量的其他材料,此时就需动态添加材料栏。代码和注释如下: //添加其他 mTvAddOther.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {

2016-12-06 13:44:01 320

空空如也

空空如也

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

TA关注的人

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