- 博客(84)
- 资源 (3)
- 收藏
- 关注
原创 #Android源码#View的onMeasure方法
分析所得功能:测量View和它的内容,来决定测量宽度和测量高度。该方法由measure(int,int)调用,并且必须要经过子类重写来提供精确和有效的内容测量。约定:当重写该方法时,必须调用setMeasuredDimension(int, int)来保存测量的宽度和高度,否则会引发IllegalStateException异常子类有义务保证测量的宽度和高度至少要是view的最小高度和宽度。
2016-02-10 15:48:15 853
原创 #Android源码#View的构造方法为什么要4个?
问题描述在View中发现有四个构造方法(5.0下是三个),如下,有什么玄妙吗?//C1public View(Context context) { ....}//C2public View(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0);}//C3public View(C
2016-02-10 14:35:35 1439 1
原创 #Android源码#MeasureSpec
分析源码得出MeasureSpec类是View的一个静态内部类。MeasureSpec是parent到child的布局要求的封装。每个MeasureSpec代表了一个宽度或高度的请求。MeasureSpec由size和mode组成。有三种mode:UNSPECIFIED: parent没有对child施加任何约束,child可以设置任意sizeEXACTLY: parent指定child
2016-02-09 22:51:06 860
原创 #Android源码#Android Touch事件分发机制思考
——– 写在前面 ————————————————用一天来思考Touch事件的分发,值了!参考了一些知名的博客,由于并没有引用其中的原文就不具体写引用了。Google一下就有了。以下是我的看法,有错漏的欢迎指正。转载请注明出处:Lshare版权所有概述Android中的事件分发是遵循类似责任链模式的,就是从根节点开始逐层往里分发事件,直到找到责任人(即响应事件的View)或找不到责任人事件“丢弃”为
2016-01-30 21:31:51 1049
原创 #UML#UML类图
参考文档:http://www.uml.org.cn/oobject/201104212.asphttp://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/UML统一建模语言(Unified Modeling Language),一个支持模型化和软件系统开发的图形化语言。由OMG(Object Manag
2016-01-25 11:48:13 1275 2
原创 #Android源代码#android:onClick属性的底层调用
原理在View类的构造方法中发现这样的一个有趣的东西,可见。我们在布局中使用android:onClick="functionName",底层其实是设置好了监听器了,然后利用反射调用我们在代码中写的方法,如://在Activity中写的代码public void functionName(View v){ //doSomthing}//View中反射调用Method mHandler
2016-01-21 19:28:58 2086
原创 #Android源码#自定义UI控件
自定义UI控件系统是如何定义UI控件的?1. 首先我们在布局文件中定义了一个布局我们自定义的布局(其中声明了命名空间为xmlns后面的内容)<View xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/view" android:visibility="visible"
2016-01-21 13:11:38 1287 1
原创 #ApiDemos#view之Animation
#ApiDemos#view之AnimationAnimation1–Shake代码风格布局风格最外层使用padding–10dip第一个子控件使用marginBottom–10dip宽高使用wrap_content或match_content<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an
2016-01-19 20:51:34 580
原创 【20】MySQL数据库
MySQL数据库一、数据库 数据的存储仓库1.概述1.1 优点可存储大量数据方便检索保持数据的一致性和完整性安全、可共享通过组合查询产生新的数据1.2 常见数据库oracle数据库(47%,oracle)DB2(IBM)SQL Sever(Microsoft)MySQL(瑞典AB公司–>sun公司–>oracle公司)SQLite(Googel Android,轻量级数据
2016-01-18 17:28:08 745
原创 【19】文件上传与下载
文件上传与下载一、文件上传1.应用场景招聘网站、email等2.上传条件必须使用post请求,因为get请求最大为1kb表单默认会对提交数据进行URL编码,对文件(二进制数据)无效,需要改变enctype的属性值为multipart/form-data,数据将以流形式上传 <form enctype="application/x-www-form-urlencoded">//默认,进行U
2016-01-18 17:23:20 842
原创 【18】JSTL标签库
JSTL标签库全称JavaServer Pages Standard Tag Library,目的是提供一套标准通用的标签函数库,和EL一起取代JSP中嵌套java代码的做法。一、安装JSTL主要是由Apache组织的Jakarta Project实现,JSTL1.1要求容器必须支持Servlet2.4且JSP2.0以上版本。复制jstl.jar和standard.jar到工程的WEB-INF\
2016-01-18 17:19:36 1066
原创 【17】EL表达式
EL表达式全称Expression Language,用来替代JSP的脚本表达式向浏览器输出数据和执行一些基本的运算。一、JSP最佳实践 不出现一行java代码,因为java代码回使得整个页面结构非常混乱和难以维护。Servlet:负责产生数据与接收用户的请求数据;Jsp:负责显示数据;EL:输出数据二、EL表达式格式${标识符},相当于:<%=[ pageContext|reques
2016-01-18 17:18:09 821
原创 【16】JSP
JSP全称为Java Server Page,本质是一个Servlet。解决Servlet向浏览器输出数据难得问题。一、概述不需要编译JSP页面是文本文件可以写HTML代码和java代码,容易排版可以直接使用out、request、response、session等等对象,见源码:public void _jspService(HttpServletRequest request, Htt
2016-01-18 17:16:27 426
原创 #Android源码#ApplicationInfo中flags的设计
介绍ApplicationInfo是android.content.pm包下的一个实体类,用于封装应用的信息,flags是其中的一个成员变量public int flags = 0;,用于保存应用的标志信息。设计ApplicationInfo实体类的设计很棒!用一个public int flags = 0;保存所有的标志信息,省了定义许多Boolean变量的代码。对一个int值(32位)1(二进制形
2016-01-18 09:47:21 5053 3
原创 Android Annotations快速开发框架入门
Android Annotations快速开发框架入门环境搭建Eclipse IDE上官网下载androidannotations-bundle-3.2.zip解压获取androidannotations-api-3.2.jar放到项目中的libs目录下新建一个compile-libs目录,放入androidannotations-3.2.jar右击项目,选中Properties,找到Jav
2016-01-15 23:14:52 944
原创 ListView优化之道
菜鸟刚入行时,写ListView时会写成下面这样,在滑动时会发现很卡,特别是数据多的时候。这时候就需要优化了。怎么优化?接着看。@Overridepublic View getView(int position, View convertView, ViewGroup parent) { //省略获取数据操作 //视图绑定操作 convertView=View.inflat
2016-01-12 23:05:22 721
原创 【15】Session
Session一、概述 当用户访问服务器的web资源时,服务器会给每个用户浏览器创建一个独享会话对象(Session对象),也是一个域对象,存放用户的数据。当用户再次访问时,就可以拿出这些数据给用户服务了。二、实现原理服务器如何识别不同用户浏览器的?当用户浏览器第一访问服务器时,服务器向浏览器发送一个带JSESSIONID的cookie。当用户浏览器再次发出请求时,通过判断带过来的Cooki
2016-01-02 23:34:06 648
原创 【14】Cookie
Cookie一、会话默认情况下,用户打开一个浏览器访问web资源到关闭一个浏览器称之为会话。会话技术要解决的问题是:浏览器和服务器会话过程中,服务器对用户数据的保存问题。二、概述 一种客户端技术,服务器把每个用户的数据以Cookie小文件的形式发送给用户各自的浏览器。当用户使用浏览器再去访问服务器的web资源时,再带着各自的Cookie过去。实现服务器对用户数据的客户端保存。应用场景:自动
2016-01-02 23:31:05 589
原创 【13】编码、解码与乱码
编码、解码与乱码一、常用字符集和编码1.ASCII美国信息交换标准代码编码规则:7位表示一个字符,共128个字符缺点:只能显示26个拉丁字母、阿拉伯数字和英文标点符号2.EASCII欧洲扩展字符集编码规则:8位表示一个字符,共256个字符缺点:虽解决了部分西欧语言的字符显示问题,但对其他更多的语言依然无力3.GB2312/GB2312-80等中文字符集编码规则:把127号的字符取消掉(
2016-01-01 23:14:13 2603
原创 【12】Servlet中的默认映射问题
问题描述Servlet中配置了缺省路径后,原先在WebRoot中的静态页面无法通过URL访问了,为什么?尝试已经做的努力:将文件后缀改为.jsp后可以正常访问将缺省映射删除后可以正常访问原有的index.jsp可以正常访问拨开迷雾tomcat在/conf/web.xml中定义了”/”到DafaultServlet的映射,在DafaultServlet中有renderHTML和renderXM
2016-01-01 23:10:27 2254
原创 【11】Servlet
Servlet开发动态web资源的技术,采用单例设计模式.其实就是一个可以向浏览器输出数据或者接收用户的请求数据的java类。一、使用Servlet编写一个类,实现Servlet接口或继承实现类(GenericServlet、HttpServlet)部署到web服务器中二、tomcat对java工程要求的目录结构工程名||-- 静态web资源 ——>外界可直接访问|-- WEB-INF
2016-01-01 23:08:22 693
原创 【10】HTTP协议
HTTP协议规范服务器和浏览器之间数据传输的格式一、查看浏览器与服务器间的通讯过程IE使用httpwatchchrome使用审查元素(network)使用telnet(telnet host port)二、HTTP请求1.请求行请求方式 GET:提交数据在请求URI,大小不能超过1k,会产生缓存文件POST:提交数据在实体内容,大小无限制,不会产生缓存文件请求资源 协议名和版本
2016-01-01 23:00:53 1225
原创 【9】Tomcat
Tomcat一、概述1.软件类型C/S结构B/S结构2.Web资源类型静态web资源 开发技术:HTML、JavaScript、CSS动态web资源 开发技术:JSP/Servlet、ASP、PHP(统称JavaWeb)3.服务器提供本地资源供外界访问的应用程序常见服务器:WebLogic、WebSphere、TomcatJ2EE 13种核心核心技术(JDBC、JSP、Serv
2016-01-01 22:58:55 604
原创 Android中的Spinner的用法详解
Android中的Spinner的用法详解一、简介显示一个子布局让用户选择其中一项,这些项目是来自跟当前视图联系的适配器。具备两种视图模式,一种是下拉框形式(Dropdown),另一种是弹出对话框模式(Dialog)。二、XML属性 属性名 相关方法 描述 android:dropDownHorizontalOffset setDropDownHorizontalOffset(in
2016-01-01 08:39:27 11933
原创 Java&Android中的回调机制
Java&Android中的回调机制一、简介Android中普遍存在着各种回调。如果不懂回调,对很多知识只能是一知半解。所以我决定今儿就好好研究下Java中的回调机制。下面是我的理解过程。二、理解1. 知乎说出自常溪玲的知乎:http://www.zhihu.com/question/19801131/answer/13005983你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的
2015-12-31 19:10:09 568
原创 Android中的Service初探
Android中的Service初探一、简介1. 官方API的个人翻译服务是Android的四大组件之一,所以服务需要在AndroidManifest.xml中用<service>声明。服务有两种功能: 在不影响用户的情况下,执行长时间的操作;提供功能给其他应用使用。服务可以用Context.startService()或Context.bindService()启动服务跟其他三大应用组件
2015-12-30 15:22:12 923
转载 数据库操作的异常Cannot perform this operation because the connection pool has been close
数据库操作的异常Cannot perform this operation because the connection pool has been close====================问题描述====================异常日志如下:123456789
2015-12-30 00:52:20 5395
原创 Android中的文件上传下载
Android中的文件上传下载一、文件上传1. 使用HttpUrlConnection//此处省略线程操作和Handler通信File file = new File(etUpload.getText().toString());FileInputStream in = new FileInputStream(file);URL url = new URL(path);// 开启连接Htt
2015-12-29 21:52:58 1217
原创 Android项目中使用BeanUtils报异常
Android项目中使用BeanUtils的问题问题描述抛出异常说找不到这个类: java.beans.PropertyDescriptorE/AndroidRuntime(25679):java.lang.NoClassDefFoundError:java.beans.PropertyDescriptor[]问题探索1. 在Android SDK中找在Android SDK中试着找java.bea
2015-12-27 00:05:48 3334 1
原创 ListView及ListAdapter详解
ListView及ListAdapter详解一、AdapterView1. 简介An AdapterView is a view whose children are determined by an Adapter. 简单地说就是其子视图是由适配器决定的视图组件2. 子类ListViewGridViewSpinnerGallery3. 常用方法//功能:获取list中指定位置itemg
2015-12-18 22:47:36 15003
原创 JSON及其在项目中的使用
JSON一、简介全称:JavaScript Ojbect Notation,JavaScript对象标记功能:轻量级数据交换语言语法严格两种建立JS对象的方式//方式一:通过functionfunction Person(xid,xname,xsal){this.id=xid;this.name=name;this.sal=xsal;}var p = new person(1,"
2015-12-18 11:24:13 2349
原创 内容提供者、内容解析者和内容观察者
内容提供者、内容解析者和内容观察者一、Linux文件权限Linxu下的用户分u所有者g所属组o其他用户Linux下文件权限r读w写x执行文件权限表示文件类型(1位)+所有者权限(3位)+所属组权限(3位)+其他用户权限(3位),如图: 文件 权限 说明 d lrwxrwxrwx l表示是链接,链接到sys/kernel/debug,所有者、所属组和其他用户都有读写
2015-12-18 07:31:04 5443
原创 Android中的数据存储之文件存储、SharedPreferences和Pull解析
Android中的数据存储之文件存储、SharedPreferences和Pull解析一、数据存储的五种方式文件存储 分手机内部存储、手机外部存储以IO流形式存放,可存放较大数据SharedPreferences 本质是一个XML以Map形式存放简单的配置参数SQLite 轻量级、跨平台数据库所有数据都是存放在手机上的单一文件内,占用内存小ContentProvider 将本应
2015-12-14 23:23:48 1137
原创 【8】Dom4j和XPath
Dom4j一、概述1.功能 优秀的Java XML API,用来处理XML数据2. 搭建Dom4j环境导入dom4j-1.6.1.jar包二、使用Dom4j1.读取XML文件调用SAXreader的read方法获取Document对象调用Document对象的getRootElement方法获取根标签调用Element的getName获取标签名,getText获取标签文本2.Eleme
2015-12-12 11:56:56 892
原创 【7】XML
XML全称Extensible Markup Language。 2000年,w3c发布XML1.0一、用途结构化、存储和传输数据常用作软件配置文件二、组成文档树结构(大小写敏感)文档声明<?xml version="1.0" encoding="utf-8" ?><、>、?之间无空白,version在encoding前元素有且只有一个根标签空格、换行作为原始内容处理属性表示额外的
2015-12-12 11:55:35 419
原创 【6】BOM
BOM全称Browser Object Model,即浏览器对象模型。一、功能对浏览器的各个对象的封装二、Window对象表示浏览器中打开的窗口(或者文档中的框架)1.方法alert() ——>警告框confirm() ——>确认框prompt() ——>输入框open() ——>打开窗口close() ——>关闭窗口setTimeout() ——>超时后执行代码se
2015-12-12 11:54:54 494
原创 【5】DOM
DOM 全称Document Object MOdel,即文档对象模型。更新说明:2015/12/03更新 增加innerHTML的说明一、功能将HTMl页面标记按顺序在内存中组建成一颗DOM树,再解析到浏览器窗口添加、删除、修改页面的某一部分二、Document对象通过window.document获取集合:all、forms、images、links属性:body、do
2015-12-12 11:53:56 540
原创 Android项目打包、Eclipse视图和UI控件
Android项目打包、Eclipse视图和UI控件一、项目打包过程1. 过程编译打包成apk文件使用adb安装到设备上 2. adb简介android debug bridge(Android调试桥)作用连接开发工具和Android设备安装apk到Android设备上命令 命令 作用 adb devices 列出所有连接的Android设备 adb -s device
2015-12-12 11:46:27 1650
原创 初识Android
Android概述一、手机制式的发展所谓的4G中的G指的是Generation,即移动通信技术世代。1G 语音通话,模拟信号,无线电2G (GSM\GPRS\EDGE)增加接收数据的功能,接收邮件和网页(wap),java程序(J2ME)3G 无线通信技术结合互联网等多媒体通信4G 集高速无线网络和有线网络WLAN一体的通讯网络二、IT业的三大热点云计算通过Int
2015-12-10 21:58:37 965
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人