自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (15)
  • 问答 (2)
  • 收藏
  • 关注

原创 Android AIDL(安卓接口定义语言)基本使用方法

跨进程间通信,分别有Client端和Service端不同进程1.定义AIDL文件,此文件现代当于一个协议,定义服务端要实现的方法。如:package com.example.aidl;  interface IMyService {      void play();      void pause();  }  2.实现服务端Service

2018-01-04 00:30:34 602 1

原创 android StatuBar源码实现解析

Statusbar 的功能作用状态栏主要用来显示一些系统图标,应用的通知图标和系统时间。Statusbar模块就是控制和管理着这些图标,以及通知信息的显示和一些系统开关的。Ⅰ、状态栏的通知功能(包括时间,通知,系统状态等)状态栏与Toast 都可以起到通知、提醒的作用。但它们的实现原理和表现形式却完全不一样。Toast 其实相当于一个Widget 组件,有些类似于没有按钮的对话框。而S

2018-01-04 00:22:52 946

原创 提高学习能力的巧妙方法

学习如何学习在「如何学习」这点上,一直觉得自己做的不够好,曾经想学吉他,坚持了两个礼拜就以「手指太短,不适合」终结了,后来想学数学,却终究连翻开书的勇气都没有,工作一忙更是顾不上这些了。所以在 Youtube 上看到 Barbara Oakley 的Learning How to Learn 时,才发现自己在学习上的各种问题,收获颇多。如果有兴趣的话,建议直接看视频,讲解地很有条理且生

2016-06-13 01:39:34 4474 1

原创 Android四种常见设计模式说明

前言:       Android开发的设计模式,基本设计思想源于java的设计模式,java的设计模式有N多种,据不完全统计,迄今为止,网络出现最频繁的大概有23种。Java只是一门开发语言,学会并掌握这门语言进行代码编写,这是每个程序员必修的课程,但如何写出高质量、易维护和复用性强的代码,那就体现出程序员的层次和水平了。设计模式的出现就是为了解决这些问题。       开始学习设计模式

2016-04-04 01:39:25 4231

原创 android 中theme.xml与style.xml的区别

android 中theme.xml与style.xml的区别:相同点:两者的定义相同。resources>style name="theme"parent="android:Theme.Black">item name="android:windowNoTitle">true /item>item name="android:textSize">14sp

2016-03-20 22:49:54 1376

原创 Infocus_UI系统定制化笔记

1、步骤: 备份需要替换的overlays文件--用infocus UI合并overlays文件--lunch--make update-api--修改java文件--make app(逐个apk验证)注:用infocus UI合并overlays文件: 先把infocusUI放到overlay合并「如果重复,infocusUI文件覆盖源码文件」,再把源码文件放到overlay合并

2016-03-20 22:09:32 597

原创 Handler类和Handler,Loop,MessageQueue的工作原理

Handler类的作用主要有两种:1.在新启动的线程中发送消息。2.在主线程(UI线程)中获取,处理消息。注:主线程已经封装有Loop的消息队列处理机制,无需再创建。Handler类包含如下方法用于消息发送,处理:1.void handleMessage(Message msg):处理消息的方法。2.final boolean hasMessages(int what):检

2016-02-27 13:55:10 2112

原创 C/C++指针的经典笔试面试题

0.预备知识,最基础的指针其实最基础的指针也就应该如下面代码:int a;int* p=&a;也就是说,声明了一个int变量a,然后声明一个int 的指针,*p指向a的地址,&也就是取地址符号,而*是指针中取内容的符号,仅仅在声明的时候标记这个变量是指针.可能有点绕口,但是看代码来的容易的多...1.与const在一起的时候常常声明的时候会让人一头雾水,比如下面的声明,均是

2016-02-22 00:09:37 3554

原创 C和指针思想精髓

1.      指针相关常识:计算机内存是以数以千万计的位(bit)组成,每一位可以存储0或1二进制数。8位组成一个基本单位――字节(byte),一个字节可以存储一个字符所需的大小。计算机以字节为基本内存单位,规范数据类型的大小(用sizeof()可获取),如:char占1个字节,int占4个字节(32位)――看系统的精确度,如果是64位系统,则占用字节数更大。 2.      指针的概念

2016-02-21 23:25:31 903

翻译 Android OS体系结构详解

Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。架构详解  下面自底向上分析各层:1、Linux Kernel  Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Ker

2016-02-21 01:22:55 6319 1

翻译 Android一步步深入了解View(二):视图绘制流程完全解析

一 onMeasure二 onLayout三 onDraw上一篇文章讲到了LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读“Android一步步深入理解View(一):LayoutInflater的使用和原理分析”。相信每个And

2016-02-19 00:49:53 550

原创 Android中Service的交互方法讲解

下面以android在线下载本地和远程传递数据以及实时加载为例,讲解Service交互的几种方法:一、广播交互                                                                             1.提到Activity与Service的交互,可能狠多人首先想到的就是BroadCast——广播。在Android

2016-02-17 00:07:45 558

原创 在Android中Thread与Service 的区别

servie是系统的组件,它由系统进程托管(servicemanager);它们之间的通信类似于client和server,是一种轻量级的ipc(Inter-Process Communication 进程间通信)通信,这种通信的载体是binder,它是在linux层交换信息的一种ipc。而thread是由本应用程序托管。1). Thread:Thread 是程序执行的最小单元,它是分配CPU

2016-02-16 21:44:45 371

原创 Android一步步深入理解View(一):LayoutInflater的使用和原理分析

相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是in

2016-02-15 00:48:14 481

转载 android pull 解析xml文件

Pull解析和Sax解析很相似,都是轻量级的解析,在Android的内核中已经嵌入了Pull,所以我们不需要再添加第三方jar包来支持Pull。Pull解析和Sax解析不一样的地方有:(1)pull读取xml文件后触发相应的事件调用方法返回的是数字;(2)pull可以在程序中控制想解析到哪里就可以停止解析。pull解析xml文件,和sax和dom一样 都可以脱离android单独使

2016-02-14 17:21:43 928

转载 android.intent.category.LAUNCHER的作用

android:icon="@drawable/icon"android:label="@string/app_name">android:name=".Activity01"android:label="@string/app_name">android:name="android.intent.action.MAIN"/>android:name="android.inte

2016-02-14 15:18:08 1622

原创 android SQLite数据库的使用介绍详解

SQLite简介Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。SQLite具备下列特点: 1.轻量级使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。2.独立性SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。3.隔离性

2016-02-02 00:04:43 786

转载 Windows下mysql忘记root密码的解决方法

Mysql版本:5.01、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql 打开第一个cmd窗口,切换到mysql的bin目录,运行命令(以下路径不同的电脑有差别):mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.i

2016-01-30 23:45:09 351

原创 android虚拟机(Dalvik)和标准Java虚拟机(JVM)的区别

两者共同点:都是解释执行 byte code都是每个 OS 进程运行一个 VM,并执行一个单独的程序在较新版本中(Froyo / Sun JDK 1.5)都实现了相当程度的 JIT compile 用于提速两者不同点:Dalvik 的指令集与 Sun JVM 指令集不同。可由 Sun JVM 的 byte code 由 dx 工具处理生成 .dex 格式的中间码Dalvik 虚

2016-01-26 22:07:04 807

原创 C语言判断一个字符串是否是另一个字符串的子串

int f(char*s1,char*s2) { char *p,*q; for(;*s1!='\0';s1++) {  if (*s2==*s1) {/*判断字符串中是否有和要判断的字串首字符相同的字符*/    flag=1;   p=s1; /*s1 p为第一个相同字符的地址*/   q=s2;   for(;*q!='\0';) {/*如果有则判断接下去的几个字

2016-01-22 01:34:07 13222 1

原创 C 二分查找算法

/* 二分查找 * 算法思想:1、将数组排序(从小到大);2、每次跟中间的数mid比较,如果相等可以直接返回, * 如果比mid大则继续查找大的一边,否则继续查找小的一边。  输入:排序好的数组 - sSource[],数组大小 - array_size,查找的值 - key  返回:找到返回相应的位置,否则返回-1*/int BinSearch(int sSource[], int array_

2016-01-22 01:31:36 814

原创 linux常用命令总结

1.      ubuntu取消终端代理:每次开机都输入这个命令“unset http_proxy” 2. 常用命令:系统# uname -a               #查看内核/操作系统/CPU信息# head -n 1 /etc/issue   #查看操作系统版本# cat /proc/cpuinfo      #查看CPU信息# hostnam

2016-01-22 01:23:05 342

原创 学习Java语言必需掌握的知识点

已经工作几年了,虽然接触过行业里许多新的知识,但是基础知识是立足的根本,偶尔翻一翻这些在大学里做的笔记,感觉还是不错滴。让我们梦回到那时求知的痕迹吧。 一、            java基本概况1.1 java简介(java是一种程序设计语言)1.2 java特性(11个特性)简单性、面向对象、网络技能(分布式的)、健壮性、安全性、体系结构中立、可移植性、解释性、高性能、多线

2016-01-22 01:16:12 757

原创 数据库设计中几个技巧

下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,希望读者不能生搬硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。  1. 原始单据与实体之间的关系  可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关

2016-01-21 00:04:06 400

原创 sql語句書寫規範

一、sql書寫規範:  1、sql語句的所有表名、欄位名全部小寫,系統保留字、內置函數名、sql保留字大寫。  2、連接子or、in、and、以及=、、>=等前後加上一個空格。  3、對較為複雜的sql語句加上注釋,說明演算法、功能。   注釋風格:注釋單獨成行、放在語句前面。    (1)   應對不易理解的分支條件運算式加注釋;    (2)   對重要的計算應說明其功

2016-01-21 00:00:04 567

原创 关系型数据库多表复杂查询使用示例

--一: 創建表格:use ZYDBcreate table ZY0001TB --專門人才基本情況表(ID CHAR(10) primary key,--編號NAME VARCHAR(50),--姓名SEX CHAR(2) CHECK(SEX='1' OR SEX='0'),--性別男"1"女"0"BIRTHDAY DATETIME,--出生日期MONERY

2016-01-20 23:55:25 863

原创 Android性能分析工具Systrace和TraceView的使用

目录:Systrace的介紹Systrace跟蹤代碼Systrace運行方式Systrace數據分析Systrace使用示例TraceView的介紹TraceView運行方式TraceView數據分析TraceView使用示例總結内容:1.Systrace的介绍>Systrace是Android4.1中新增的性能数据采样和分析工具。它可帮助开发者收集Android关键子系统

2016-01-20 01:18:19 15794

原创 android Launcher文件夾功能分析

目录:1.桌面文件夾的作用及顯示效果2.文件夾的信息存儲及默認加載3.文件夾的生成和刪除4.文件夾的打開和關閉5.文件夾的拖動及位置交換 内容:1.文件夾的作用及顯示效果       》 當手機或者平板電腦上安裝的應用軟件越來越多時,查找和管理起來非常麻煩。這時,Launcher提供的桌面文件夾可以幫助整理分類所有的應用,方便快速的查找和打開某個應用

2016-01-18 23:49:32 1528

原创 Android 操作SQLite基本用法介绍

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,

2016-01-11 23:21:03 542

原创 Android天氣預報的開發分析

一、天氣預報應用的實用性二、開發功能介紹三、實現流程分析四、如何獲取天氣數據信息五、天氣預報數據的保存和處理六、天氣信息的顯示七、一些問題的解決 一、天氣預報應用的作用一、天氣預報應用的作用天氣預報是我們平時必不可少的知識點,不管是出門旅行,還是工作、娛樂,我們都會經常去關注一些天氣信息。而當智能電子產品出現以後,天氣預報軟件可以很好的安裝進我們的手機或者平板電

2015-11-11 00:46:27 932

原创 解决Ubuntu 10.04 睡眠后不能唤醒的问题

首先要保证显卡驱动能正常运行方法一:首先 sudo apt-get install pm-utils   ,安装这个包。 pm-utils is a small collection of scripts that handle suspend and resume on behalf of HAL.遇到ubuntu系统一段时间无操作后(其实terminal有在跑编译),感觉ser

2015-11-09 00:57:30 942

原创 ubuntu下查看占用某端口的程序或进程

查看端口使用情况,使用netstat命令。查看已经连接的服务端口(ESTABLISHEDnetstat -a查看所有的服务端口(LISTEN,ESTABLISHED)netstat -ap 查看8080端口,则可以结合grep命令:netstat -ap | grep 8080  如查看8888端口,则在终端中输入:lsof -i:8888  若要停止使用这

2015-11-09 00:54:28 8667 1

原创 ubuntu系统日志管理方以及var-log下各个日志文件的作用

ubuntu系统日志查看器 在系统日志里,可以查看系统相关事件记录,出错信息等; 1、系统日志查看器 1)点菜单“系统 - 系统管理 - 系统日志查看器”,打开系统日志查看器窗口; 2)窗口左侧是项目,右边是详细记录; 3)其中 Xorg 是显示服务,auth是安全验证,boot是启动,daemon是进程,kern是内核,messages是消息,syslog是系统,user是用

2015-11-09 00:47:39 12629

原创 硬盘的分区和分区格式化类型详解

一、硬盘分区的概念分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。安装操作系统和软件之前,首先需要对硬盘进行分区和格式化,然后才能使用硬盘保存

2015-11-09 00:18:25 5519

原创 Ubuntu服务器挂载新硬盘的步骤

1、测试硬盘是否已连接首先先查看硬盘信息。sda是虚拟的第一块硬盘,sdb是第二块硬盘,以此类推。root@zhang:~# ls -l /dev/sd*brw-rw---- 1 root disk 8, 0 2013-08-13 08:33 /dev/sdabrw-rw---- 1 root disk 8, 1 2013-08-13 08:33 /dev/sda1brw-

2015-11-09 00:13:23 973

原创 SSH远程登录的使用和介绍

SSH远程登录:1、SSH(SecureShell,安全的命令解释器)为客户机提供安全的Shell环境,用于远程管理,默认端口:TCP 22。比较早的telnet、rsh等工具有很大优势,SSH是目前应用最为广泛的服务器远程管理方式SSH登录使用的用户名:服务器中的本地系统用户的帐号名SSH登录的用户验证方式密码验证:使用服务器中系统帐号对应的密码密钥对验证:使用客户机中生

2015-11-09 00:01:42 1367

原创 linux里挂载(mount)和取消挂载(umount)命令的使用

一、简单用法$ mount /dev/hda2 /home第一个叁数是与包括文件系统的磁盘或分区相关的设备文件。第二个叁数是要mount到的目录。$ umount /dev/hda2$ umount /usr参数可以是设备文件或安装点。 二、mount详细介绍如果想在运行的Linux下访问其它文件系统中的资源的话,就要用mount命令来实现。 1.

2015-11-08 23:50:03 177691 3

原创 Ubuntu下查看CPU、内存和硬盘详细信息的命令

1.CPU:型号:grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}'数量:lscpu |grep "CPU socket" |awk '{print $NF}' 或 lscpu |grep "Socket" |awk '{print $NF}'每个CPU的核数:lscpu |grep "Core(s) per socket

2015-11-05 22:23:46 1723

原创 SIP(Session Initiation Protocol,会话初始协议)呼叫过程介绍

sip是一种端到端的语音通话建立过程协议,有点类似于网络连接的三次握手,其流程图如下:     下面对它的呼叫流程进行详细介绍: 1、INVITE主叫方Tesla首先发起 INVITE消息到被叫方Marconi。INVITE消息包含会话类型和一些呼叫所必须的参数。会话类型可能是单纯的语音,也可能是网络会议所用的多媒体视频,还可能是游戏会话。下面是消息体范例,我们来详

2015-11-03 23:23:08 2479

转载 Android编程:解决异常“android.view.InflateException: Binary XML file line # : Error inflating class”

今天写程序发现一个问题,就是XML中报出android.view.InflateException异常,可能的原因有:1.XML中使用到得组件名称是否书写正确(包名+类名),可以使用crtl+鼠标点击看能不能跳转到该组件的定义的地方,可以的话就不是这个问题,如果不可以的话,就是这个问题2.抛出异常时的main.xml与自定义View类相关代码如下:就是自定义的组件中的构造方法有没有书写正确

2015-10-18 11:19:56 4339

一款天气预报源码

一款不错的天气应用源码,可以直接导入android studio运行,该项目采用mvp设计架构,retrofit和rxjava来处理数据源,代码简洁逻辑清晰,可以进行城市查找和切换。一款不错的应用,非常适合天气预报开发者借鉴。

2018-01-23

android SQLite数据库基础使用例子

数据库基础使用例子,内容很全面,标注注释,适合初学者参考。

2016-02-01

android Launcher2文件夾功能分析

android的launcher是一款非常强大的系统应用,值得去好好的研究一番,这里对 Launcher2文件夾功能作详细的分析介绍。

2016-01-14

android天气预报客户端的开发笔记

主要講解了給Android終端開發一個具有天氣預報功能的簡單應用,包括设计思路,流程,和方法。

2016-01-13

Android ListView+checkbox批量删除

Android ListView+checkbox批量删除

2014-08-05

平板电脑界面设计图

平板电脑界面设计图

2014-07-31

android bluetooth框架知识

android bluetooth框架知识整理

2014-07-30

Linux+命令全集

Linux+命令全集

2014-07-28

android bluetooth框架知识整理

这是本人在研究安卓蓝牙模块的时候,自己整理的bluetooth框架相关知识点,android顶起。

2014-07-23

android应用案例开发大全-源代码

这是《android应用案例开发大全》这本书的源代码,里面的代码有完整的注释,代码风格很好。

2014-07-16

android蓝牙源码及学习相关资源

这是本人做android蓝牙开发时收集的关于蓝牙的源码,及学习相关资源,请大家学习学习。

2014-07-16

三个小米源码(小米便签、收音机、文件管理器)

三个小米源码(小米便签、收音机、文件管理器),大家可以学习学习。

2014-06-24

linux脚本批量更新文件名和映射的引用文件名

linux脚本批量更新文件名和映射的引用文件名,非常方便的更新你的文件名和对应的引用。

2014-06-16

linux脚本例子(批量更新文件名和对应的引用名)

批量更新文件名和对应的引用名,这是一个很好用的批量修改文件名和文件引用的例子。

2014-06-14

java入门级最全最好的基础教程

这是一位从事java语言开发设计行业对JAVA这门语言进行总结概括出的基础知识,对入门学者很在帮助,绝对精品,其他地方是找不到的,请大大看看。

2012-02-02

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

TA关注的人

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