- 博客(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 649 1
原创 android StatuBar源码实现解析
Statusbar 的功能作用状态栏主要用来显示一些系统图标,应用的通知图标和系统时间。Statusbar模块就是控制和管理着这些图标,以及通知信息的显示和一些系统开关的。Ⅰ、状态栏的通知功能(包括时间,通知,系统状态等)状态栏与Toast 都可以起到通知、提醒的作用。但它们的实现原理和表现形式却完全不一样。Toast 其实相当于一个Widget 组件,有些类似于没有按钮的对话框。而S
2018-01-04 00:22:52 1006
原创 提高学习能力的巧妙方法
学习如何学习在「如何学习」这点上,一直觉得自己做的不够好,曾经想学吉他,坚持了两个礼拜就以「手指太短,不适合」终结了,后来想学数学,却终究连翻开书的勇气都没有,工作一忙更是顾不上这些了。所以在 Youtube 上看到 Barbara Oakley 的Learning How to Learn 时,才发现自己在学习上的各种问题,收获颇多。如果有兴趣的话,建议直接看视频,讲解地很有条理且生
2016-06-13 01:39:34 4675 1
原创 Android四种常见设计模式说明
前言: Android开发的设计模式,基本设计思想源于java的设计模式,java的设计模式有N多种,据不完全统计,迄今为止,网络出现最频繁的大概有23种。Java只是一门开发语言,学会并掌握这门语言进行代码编写,这是每个程序员必修的课程,但如何写出高质量、易维护和复用性强的代码,那就体现出程序员的层次和水平了。设计模式的出现就是为了解决这些问题。 开始学习设计模式
2016-04-04 01:39:25 4285
原创 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 1444
原创 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 624
原创 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 2161
原创 C/C++指针的经典笔试面试题
0.预备知识,最基础的指针其实最基础的指针也就应该如下面代码:int a;int* p=&a;也就是说,声明了一个int变量a,然后声明一个int 的指针,*p指向a的地址,&也就是取地址符号,而*是指针中取内容的符号,仅仅在声明的时候标记这个变量是指针.可能有点绕口,但是看代码来的容易的多...1.与const在一起的时候常常声明的时候会让人一头雾水,比如下面的声明,均是
2016-02-22 00:09:37 3705
原创 C和指针思想精髓
1. 指针相关常识:计算机内存是以数以千万计的位(bit)组成,每一位可以存储0或1二进制数。8位组成一个基本单位――字节(byte),一个字节可以存储一个字符所需的大小。计算机以字节为基本内存单位,规范数据类型的大小(用sizeof()可获取),如:char占1个字节,int占4个字节(32位)――看系统的精确度,如果是64位系统,则占用字节数更大。 2. 指针的概念
2016-02-21 23:25:31 942
翻译 Android OS体系结构详解
Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。架构详解 下面自底向上分析各层:1、Linux Kernel Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Ker
2016-02-21 01:22:55 6418 1
翻译 Android一步步深入了解View(二):视图绘制流程完全解析
一 onMeasure二 onLayout三 onDraw上一篇文章讲到了LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读“Android一步步深入理解View(一):LayoutInflater的使用和原理分析”。相信每个And
2016-02-19 00:49:53 577
原创 Android中Service的交互方法讲解
下面以android在线下载本地和远程传递数据以及实时加载为例,讲解Service交互的几种方法:一、广播交互 1.提到Activity与Service的交互,可能狠多人首先想到的就是BroadCast——广播。在Android
2016-02-17 00:07:45 609
原创 在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 398
原创 Android一步步深入理解View(一):LayoutInflater的使用和原理分析
相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是in
2016-02-15 00:48:14 511
转载 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 978
转载 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 1831
原创 android SQLite数据库的使用介绍详解
SQLite简介Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。SQLite具备下列特点: 1.轻量级使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。2.独立性SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。3.隔离性
2016-02-02 00:04:43 815
转载 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 370
原创 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 860
原创 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 13374 1
原创 C 二分查找算法
/* 二分查找 * 算法思想:1、将数组排序(从小到大);2、每次跟中间的数mid比较,如果相等可以直接返回, * 如果比mid大则继续查找大的一边,否则继续查找小的一边。 输入:排序好的数组 - sSource[],数组大小 - array_size,查找的值 - key 返回:找到返回相应的位置,否则返回-1*/int BinSearch(int sSource[], int array_
2016-01-22 01:31:36 836
原创 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 361
原创 学习Java语言必需掌握的知识点
已经工作几年了,虽然接触过行业里许多新的知识,但是基础知识是立足的根本,偶尔翻一翻这些在大学里做的笔记,感觉还是不错滴。让我们梦回到那时求知的痕迹吧。 一、 java基本概况1.1 java简介(java是一种程序设计语言)1.2 java特性(11个特性)简单性、面向对象、网络技能(分布式的)、健壮性、安全性、体系结构中立、可移植性、解释性、高性能、多线
2016-01-22 01:16:12 786
原创 数据库设计中几个技巧
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,希望读者不能生搬硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关
2016-01-21 00:04:06 430
原创 sql語句書寫規範
一、sql書寫規範: 1、sql語句的所有表名、欄位名全部小寫,系統保留字、內置函數名、sql保留字大寫。 2、連接子or、in、and、以及=、、>=等前後加上一個空格。 3、對較為複雜的sql語句加上注釋,說明演算法、功能。 注釋風格:注釋單獨成行、放在語句前面。 (1) 應對不易理解的分支條件運算式加注釋; (2) 對重要的計算應說明其功
2016-01-21 00:00:04 598
原创 关系型数据库多表复杂查询使用示例
--一: 創建表格: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 909
原创 Android性能分析工具Systrace和TraceView的使用
目录:Systrace的介紹Systrace跟蹤代碼Systrace運行方式Systrace數據分析Systrace使用示例TraceView的介紹TraceView運行方式TraceView數據分析TraceView使用示例總結内容:1.Systrace的介绍>Systrace是Android4.1中新增的性能数据采样和分析工具。它可帮助开发者收集Android关键子系统
2016-01-20 01:18:19 15935
原创 android Launcher文件夾功能分析
目录:1.桌面文件夾的作用及顯示效果2.文件夾的信息存儲及默認加載3.文件夾的生成和刪除4.文件夾的打開和關閉5.文件夾的拖動及位置交換 内容:1.文件夾的作用及顯示效果 》 當手機或者平板電腦上安裝的應用軟件越來越多時,查找和管理起來非常麻煩。這時,Launcher提供的桌面文件夾可以幫助整理分類所有的應用,方便快速的查找和打開某個應用
2016-01-18 23:49:32 1736
原创 Android 操作SQLite基本用法介绍
在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,
2016-01-11 23:21:03 568
原创 Android天氣預報的開發分析
一、天氣預報應用的實用性二、開發功能介紹三、實現流程分析四、如何獲取天氣數據信息五、天氣預報數據的保存和處理六、天氣信息的顯示七、一些問題的解決 一、天氣預報應用的作用一、天氣預報應用的作用天氣預報是我們平時必不可少的知識點,不管是出門旅行,還是工作、娛樂,我們都會經常去關注一些天氣信息。而當智能電子產品出現以後,天氣預報軟件可以很好的安裝進我們的手機或者平板電
2015-11-11 00:46:27 960
原创 解决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 986
原创 ubuntu下查看占用某端口的程序或进程
查看端口使用情况,使用netstat命令。查看已经连接的服务端口(ESTABLISHEDnetstat -a查看所有的服务端口(LISTEN,ESTABLISHED)netstat -ap 查看8080端口,则可以结合grep命令:netstat -ap | grep 8080 如查看8888端口,则在终端中输入:lsof -i:8888 若要停止使用这
2015-11-09 00:54:28 9819 1
原创 ubuntu系统日志管理方以及var-log下各个日志文件的作用
ubuntu系统日志查看器 在系统日志里,可以查看系统相关事件记录,出错信息等; 1、系统日志查看器 1)点菜单“系统 - 系统管理 - 系统日志查看器”,打开系统日志查看器窗口; 2)窗口左侧是项目,右边是详细记录; 3)其中 Xorg 是显示服务,auth是安全验证,boot是启动,daemon是进程,kern是内核,messages是消息,syslog是系统,user是用
2015-11-09 00:47:39 12854
原创 硬盘的分区和分区格式化类型详解
一、硬盘分区的概念分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。安装操作系统和软件之前,首先需要对硬盘进行分区和格式化,然后才能使用硬盘保存
2015-11-09 00:18:25 6006
原创 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 1008
原创 SSH远程登录的使用和介绍
SSH远程登录:1、SSH(SecureShell,安全的命令解释器)为客户机提供安全的Shell环境,用于远程管理,默认端口:TCP 22。比较早的telnet、rsh等工具有很大优势,SSH是目前应用最为广泛的服务器远程管理方式SSH登录使用的用户名:服务器中的本地系统用户的帐号名SSH登录的用户验证方式密码验证:使用服务器中系统帐号对应的密码密钥对验证:使用客户机中生
2015-11-09 00:01:42 1497
原创 linux里挂载(mount)和取消挂载(umount)命令的使用
一、简单用法$ mount /dev/hda2 /home第一个叁数是与包括文件系统的磁盘或分区相关的设备文件。第二个叁数是要mount到的目录。$ umount /dev/hda2$ umount /usr参数可以是设备文件或安装点。 二、mount详细介绍如果想在运行的Linux下访问其它文件系统中的资源的话,就要用mount命令来实现。 1.
2015-11-08 23:50:03 192933 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 1799
原创 SIP(Session Initiation Protocol,会话初始协议)呼叫过程介绍
sip是一种端到端的语音通话建立过程协议,有点类似于网络连接的三次握手,其流程图如下: 下面对它的呼叫流程进行详细介绍: 1、INVITE主叫方Tesla首先发起 INVITE消息到被叫方Marconi。INVITE消息包含会话类型和一些呼叫所必须的参数。会话类型可能是单纯的语音,也可能是网络会议所用的多媒体视频,还可能是游戏会话。下面是消息体范例,我们来详
2015-11-03 23:23:08 2609
转载 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 4393
一款天气预报源码
2018-01-23
android Launcher2文件夾功能分析
2016-01-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人