- 博客(84)
- 资源 (1)
- 收藏
- 关注
原创 简单形象理解网络传输过程--读书笔记
http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html笔记:1)有五层:应用层,传输层,网络层,连接层和实体层2)实体层:将电脑连接起来的物理手段,传输0和13)连接层:确定0和1的分组方式,是0和1有确定的意义。一般使用以太网(Ethernet)协议来进行分组,一组数据叫做一个帧,一个帧
2014-09-29 11:03:56
1281
原创 android屏幕适配,除了使用dp,还可以使用比例
在android中为了适应不同分辨率的屏幕,引入了密度无关像素density-independent pixes,也就是dip,也可以简写为dp。之所以是与密度无关,是因为android为不同的密度提供了不同的scale值,比如mdpi的值为1,hdpi为1.5,xhdpi为2.这样,如果使用相同的dp值,系统在转换为px时,会使用dp*scale值,这样得到的比例大家都相同,而比例相同了,也就意
2014-05-27 11:13:49
13807
1
原创 selector背景以及android的透明色
selector可以设置图片或layout的点击效果:如没有state状态标记,如android:state_selected="true",则表明normal状态下的图片值。另如果直接把去掉,就想到与normal状态下是一张完全透明的图,等价于transparent = #00000000另,android提供了
2014-03-26 18:56:23
12101
原创 listview属性设置与getView调用次数
listview的高度应该设置为fiil-parent,否则针对同一幅图会多次调用getView。原因可能是listview会多次计算其高度,多次调用layout。代码层面分析待续
2014-03-17 10:58:09
1579
转载 Android图片处理(Matrix,ColorMatrix)
http://www.cnblogs.com/leon19870907/articles/1978065.html主要内容为colorMatrix,进行颜色变化,夜间模式可以使用
2014-03-13 17:35:41
1057
原创 view的onTouch事件不响应MOVE,up的解决办法
如果要监听手势,一般会想到onTouch,但是我们发现View的onTouch事件只是相应action-down。原因:onTouch中return false。解决办法:1, return true2、在xml布局里加上 android:longClickable="true"这两者并不完全是等价的。return true就意味着该view会继续处理抬起事件,而
2014-03-12 18:05:17
16806
3
原创 viewpager+fragment 如何管理fragment
viewpager+fragment是常见的形式。viewpager在fragmentActivity中。此时activity如何与fragment进行通信呢?前提是viewpager的页数是固定的几个一个方法是在activity中创建一个map,key值就是viewpager中的页数,而value就是每一页中的fragment。问题:在何处调用map.put()将fragment存入
2014-02-20 16:49:53
4211
1
原创 setContentView剖析
1、setContentView的作用是将View加载到根view之上,这样当显示view时,先显示根view,然后在显示子view,以此类推,最终将所有view显示出来。2、setContentView必须要放在findviewbyid之前,因为view在加载之前是无法引用的。3、setContentView最本质的作用是为要显示的view分配内存。4、act
2013-09-23 17:22:04
25970
1
翻译 Pro Android 4 第六章 构建用户界面以及使用控件(一)
目前为止,我们已经介绍了android的基础内容,但是还没开始接触用户界面(UI)。本章我们将开始探讨用户界面和控件。我们先讨论一下android中UI设计的一般原理,然后我们在介绍一下android sdk自带的UI控件,这些是你将要创建的UI的基本模块。我们还会讨论view 适配器和layout管理器。View适配器用来想控件提供数据,然后控件对数据进行显示。数据可以是数组,数据库或其它数据源
2013-09-18 14:47:32
3466
原创 利用git下载skia库
1、准备好cygwin或者gitbash(github下载)2、进入进入https://android.googlesource.com/,搜索skia,进入。3、进入后最上面会显示下载方法:git clone https://android.googlesource.com/platform/external/skia4、在shell中执行上述命令,不过会包错误:SS
2013-09-10 15:40:06
2922
原创 popupwindow不响应back键
在popupwindwo源码中 private void preparePopup(WindowManager.LayoutParams p) { if (mContentView == null || mContext == null || mWindowManager == null) { throw new IllegalStateExc
2013-09-10 11:10:39
3872
翻译 Pro Android 4 第五章 理解Intent
Android引入了一个名为Intent的概念用来唤醒各种组件。Android中的组件包括:activities(UI 组件),services(后台代码),broadcast receivers(用来接收广播消息的代码)和content providers(用来抽象数据的代码)。 Android的Intent基础 尽管将intent作为唤醒其他组件机制是很
2013-09-09 15:01:01
3218
原创 在github上创建一个repository
1、进入https://github.com/主页,点击创建repository2、填写必备信息,点击create repository3、创建成功的页面4、打开git bash,创建gifviewr工作路径,然后clone你的工程。工程路径在页面的右下角命令如下:创建目录mkdir gifviewerclone代码git clone h
2013-09-06 11:44:34
13848
4
原创 Android屏幕适配原理
大纲1、android中res目录下的文件夹所对应屏幕尺寸2、用dp表示尺寸的原理3、对于720p尺寸的适配需要注意什么4、ui切图按什么尺寸给最好参考:http://www.360doc.com/content/12/0301/17/5087210_190881395.shtml几个概念:1) 屏幕密度(dpi) :dot per inch,即每英寸像素数。
2013-09-05 18:54:30
19956
1
翻译 Pro Android 4 第四章 理解Content Provider
Android使用了一个名为content provider的概念将数据提取到service中。这种使用content provider的想法使得数据源看起来像一个基于REST-enabled的数据提供者,类似于网页。这样,contentn provider就是一个被数据环绕的包装器。Android设备上的SQLite数据库就是一种这样的数据源:你可以将其封装到一个content provider
2013-08-28 18:24:13
2681
翻译 Pro Android 4 第三章 理解Android中的资源
第二章中,我们简要介绍了一些android应用程序的结构和基本概念。同时,你也已经了解了Android SDK、Eclipse的开发工具ADT,如何使用虚拟机运行android程序。 在本章和接下来的几章,我们会深入了解一下Android SDK的基础模块。这些模块包括资源(resources)、content providers和intents。 Andr
2013-07-29 15:09:08
7100
翻译 Pro Android 4 第二章 创建Android开发环境
译者注:本章主要是讲解如何搭建eclipse开发环境。由于出书比较早,内容有些过时,所以暂不翻译此部分内容,而是由译者直接提供最简答的方法进行配置。然后再接着翻译剩余部分内容。 Android 开发环境搭建 以前开发android需要自己搭建eclipse环境,自己下载sdk,adt,对于初学者比较繁琐。于是google最近将这个开发环境已经集成在一起
2013-06-27 15:14:24
1769
翻译 Pro Android 4 第一章 Android 开发平台介绍
当今这个时代,计算比以往任何一个时代都距离人们更近。各种手持设备已经变身为计算平台。无论是平板和是手机,移动设备凭借其强大的通用计算能力,已经成为真正意义上的个人电脑(PC)。所有的传统计算机厂商已经开始生产各式各样的基于Android操作系统的设备。关于操作系统、计算平台、编程语言与开发框架的战役已经转移到移动设备之上。 随着越来越多的IT应用转向移动端,我们看到移动编程的浪潮已
2013-06-08 15:41:50
5251
1
原创 Android中的Touch事件处理流程
1、当触摸屏幕时,最先执行的是Activity中的 public boolean dispatchTouchEvent (MotionEvent ev) { if (ev.getAction() == MotionEvent. ACTION_DOWN) { onUserInteraction(); }
2013-06-05 18:44:33
4674
转载 android优化
转自(http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=74&tid=20713&pg=1) 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要 求远远高于PC的桌面应用程序。以上
2013-05-09 14:12:27
837
原创 Viewpager中嵌入自定义可缩放view遇到的问题
1、由于viewpager的每一页都加入一个fragment,对于浏览图片的功能,由于图片数量很大,所以不能使用fragmentpageadapter,否则容易造成内存不足,而是应该采用fragmentstatepageradapter,该pageradapter最多只保存三个fragment,(前后以及当前),使用后会自动销毁,所以占用内存不多,使用于多fragment情况使用,比如图片浏览。
2013-05-03 17:26:48
2402
1
转载 MinSdkVersion, targetSdkVersion, target API level的区别
在AndroidMenifest.xml中,常常会有下面的语句: 在default.properties中,会看到下面的语句: target=android-10如果是使用Eclipse的话,还可能会看到这样的警告:Attribute minSdkVersion (4) is lower than the project target API level (10)那么,
2013-04-25 16:03:31
751
原创 增加button的点击面积
在使用button时,经常会用到wrapcontent属性来设置button的大小,这样button的大小就取决于background的图片大小在大多数情况下,背景图片的大小是不可以拉伸放大的,这样如果要增加用户的点击范围,就不能使用button了解决方法如下:使用imagebutton,把背景设置为透明,src设置为图片大小,再增加padding属性增加点击范围即可,例如:
2013-04-15 16:28:24
1421
原创 Android屏幕适配总结
一、几个概念1、ppi-pixel per inch,单位长度像素个数。计算方法是宽*宽 + 长*长,然后开方(即对角线的像素个数),然后除以对角线的长度。例如iphone4s:960x640像素,对角线3.5英寸,则ppi=(960*960 +640*640)/ 3.5 = 329.6ppi2、dpi-dolt per inch,单位长度像素点数,感觉和ppi定义类似,其计算方法也一
2013-04-09 15:51:14
2421
原创 JAVA IO 学习总结
1、在使用File file = new File("D:\\a\\hello.txt");时一定要保证目录a存在,否则会抛异常,创建文件夹方法file.mkdirs();2、File.separator可以实现跨平台,例如"D:" + File.separator + "a.txt"; Android中分隔符是/,而windows是\,在windows下需要用转义符\\3、输入流Inp
2013-04-02 15:07:39
616
转载 pendingIntent简单理解
2011-04-09 18:28:41| 分类: 天天向上|字号 订阅pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int), getBroadcast(Context, int, Intent, int)
2013-03-28 16:10:13
464
转载 Java 中深层理解父类引用指向子类对象
Java 中深层理解父类引用指向子类对象从对象的内存角度来理解试试.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:Father f = new Father();//系统将分配1M内存.Son s = new Son();//系统将分配1.5M内存!因为子类中有一个隐藏的引用sup
2013-03-27 16:55:57
666
原创 GestureDetector和onTouchEvent
1、在处理触摸事件时,activity首先会调用DispatchTouchEvent, public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction();
2013-03-25 14:19:10
3643
转载 GestureDetector使用
当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等。一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触摸的
2013-03-25 10:31:16
1212
转载 Inflate()和setcontview
转自:http://hi.baidu.com/hanwujisc/item/fe666bc2c97f0e50ac00ef4bAndroid之Inflate()方法用途Inflate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能。最近做的一个项目就是这一点让我迷茫了好几天。android上还有一个与Inflate()类似功能的
2013-02-22 16:50:35
1219
转载 xmlns:android作用以及自定义布局属性
Custome Android layout attributes要定制Android layout 中的 attributes关键是要明白android中命名空间定义如:xmlns:android="http://schemas.android.com/apk/res/android以RingtonePreference为例:: androi
2013-02-18 17:57:44
27792
转载 dp与px转换
关于px与dp的一些资料:dp与px的关系:QVGA: density=0.75 densityDpi=120 QVGA(240*320)HVGA:density=1.0 densityDpi=160 HVGA(320*480)VGA:density=1.0 densityDpi=160 VGA(480*640)WVGA:density = 1.5 densityDpi
2013-01-15 17:01:28
17309
3
转载 ImageView属性
ML属性属性名称描述android:adjustViewBounds是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。android:cropToPadding是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用,效
2013-01-15 14:56:11
10623
转载 Android中shape的使用
Android中shape的使用Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结:先看下面的代码: android:startCol
2013-01-11 14:24:19
669
转载 设置progressbar进度条颜色
1、在drawable目录下新建XML文件progressbar_horizontal_red:[java] view plaincopy"1.0" encoding="utf-8"?> Copyright (C) 2008 The Android Open Source Project Licensed und
2013-01-11 14:11:37
1211
转载 [Android]ListView性能优化之视图缓存
前言 ListView是Android中最常用的控件,通过适配器来进行数据适配然后显示出来,而其性能是个很值得研究的话题。本文与你一起探讨Google I/O提供的优化Adapter方案,欢迎大家交流。 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cn
2013-01-10 15:55:34
683
转载 Android中数据库升级onUpgrade方法说明
Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的疑问:1. 帮助文档里说的“数据库升级”是指什么?你开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,你在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本就要被升级了。2. 数
2013-01-08 14:42:08
9060
转载 android中的数据库操作
android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作。 一、android内的数据库的基础知识介绍 1.用了什么数据库 android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的。相关简介可以从链接查看。 2.数据库基本知识观花 对于一些和我一样
2013-01-08 13:33:27
708
转载 Android 引用外部项目库
Android 引用外部项目库笔记 (2012-09-19 13:27:31)转载▼标签: android it分类: Android 项目中要集成其他项目由于集成项目庞大不想机械的copy,就想将集成的项目做成项目库,这样以后集成项目升级,本项目里面升级扩展也方便。集成步骤和方法:1.库
2013-01-06 12:15:21
3420
转载 relativeLayout布局中一些重要属性
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素
2013-01-05 10:32:46
453
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人