- 浏览: 48700 次
- 性别:
- 来自: 南京
最新评论
文章列表
Android 动态加载布局
- 博客分类:
- android布局
Android 动态加载布局 由于前段时间项目需要,需要在一个页面上加载根据不同的按钮加载不同的布局页面,当时想到用 tabhot 。不过美工提供的界面图完全用不上tabhot ,所以想到了动态加载的方法来解决这一需求。在这里我整理了一下,写了一个 DEMO 希望大家以后少走点弯路。 首先,我们先把界面的框架图画出来,示意图如下:
android线程相关1
- 博客分类:
- android
android中的Handler
对于这部分的内容,将分成4 小节来描述:
1)职责与关系
2)消息循环
3)线程与更新
4)几点小结
----------------------------------------------------------------------------------------------
1) 接下来,我们开始这部分的 ...
设计原则----单一职责原则
- 博客分类:
- 设计模式
设计原则----单一职责原则(SRP)
单一职责原则:
1. 就一个类而言,应该仅有一个引起他变化的原因
2. 如果类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力,这中耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。
要去判断是否应该分离出类来,也不难,那就是如果你能想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。就应该考虑类的职责分离。
设计原则----开放封闭原则
- 博客分类:
- 设计模式
设计原则----开放封闭原则(OCP)
开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。
该定义包含两个特征:
1.对于扩展是开放的
2.对于更改是封闭的
我们在做任何系统的时候,都不要指望系统一开始时需求确定,就再也不会变化,这是不现实也不科学的想法,而既然需求是一定会变化的,那么如何在面对需求的变化,设计的软件可以相对容易修改,不至于说,新需求以来,就要把整个程序推到重来。怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一版本以后不断地推出新的版本呢?开发-封闭原则给了我们答案。
绝对的对修改关闭是不可
设计原则-------依赖倒转原则
- 博客分类:
- 设计模式
设计原则-------依赖倒转原则(DIP)
依赖倒转原则:抽象不应该依赖细节,细节应该依赖抽象。
通俗地说,就是要针对接口编程,而不要对具体实现编程。比如无论主板、CPU、内存、硬盘都是在针对接口设计的,如果针对实现 ...
设计原则----里氏替换原则
- 博客分类:
- 设计模式
设计原则----里氏替换原则(LSP)
里氏代换原则:在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单地说,子类型必须能够替换掉他们的父类型。这好像是学继承时就要理解的概念,子类继承了父类,所以子类可以以父类的身份出现。
只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被利用,而子类也能够在父类的基础上增加新的行为。比如说,猫是继承动物类的,以动物的身份拥有吃、喝、跑、叫等行为,可当某一个天,我们需要狗、牛、羊也拥有类似的行为,由于他们都是继承于动物,所以除了更改实力话的地方,程序的其他出不需要改变。
android 屏幕适配问题
- 博客分类:
- android资源
android 屏幕适配问题
如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情。
首先:你需要在AndroidManifest.xml文件的<manifest>元素如下添加子元素
<supports-screens android:largeScreens="true"
android中的资源引用
一.R类:系统R类和自己的R类
1.系统R类:将系统中的资源的标识存储 有:
###引用方式: @[package:]type/name
@android:anim/test ; (其中android是xml中的定义的系统xml命名空间的代替名)
2.自己的R类:存储的和系统的一样的类型,使我们自己的资源的标识.
@[package:]type/name
####应用方式:@anim/test_my; (自己的可以省略包名)
3.id的访问和设置:
当我们为一个控件设置Id属性值或者引用一个存在的id时 ...
Eclipse代码补全的优化
做Java开发了也有一段时间了,关于IDE用得最多的还是Eclipse,Eclipse有一个让人很喜欢的功能就是代码的自动补全提示,但却也是一个让人挺烦的补全提示。为什么这么说呢,不知道各位朋友在使用过程中有没有跟我一样的感受。
很多时候,我们仅仅需要输入一个空格、等号或一个分号结束,可有了代码补全,就会事与愿违了。比如我们想定义如下:String str;但在实际中当你敲完str时,按“;”,结果会变成:String string。那我们有没有办法来改善这个呢,也就是定制自己的代码补全功能呢,竟然有了这遍文章,当然是有办法的了。
其实很简单,就 ...
layoutinflater详解
- 博客分类:
- android布局
LayoutInflate说明
这个类用来将XML的布局文件变成一个View的类。处于性能上的考虑,从XML的布局文件生成一个View类,
这个过程是在应用的构建阶段完成的,而不是在应用运行阶段进行的。
LayoutInflater inflate = (LayoutInfla ...
android-java中常见的IO操作
一.分类
1.字节流:以byte为单位进行读/写操作.
2.字符流:以char(2个byte)为单位进行读/写.
3.节点流:以物理节点构造流(物理节点:文件, 字节/字符数组/字符串,网络数据,输入/输出设备 ).
4.包装流:以节点流来构造该流.
5.转换流:将字节流转换为字符流.
注意:输入/输出流是相对与程序而言.eg:读文件的内容到程序中,就是用到了输入流
二.常见的类:
1.输入字节流:
InputStream:输入字节流的父类 抽象类
ByteArrayInputStream: 读取字节数组 节点流
...
四.menu下定义菜单
格式:<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@[+][package:]id/resource_name"
android:title="string"
android:titleC ...
三.color文件夹下的状态颜色列表,随着iew的不同状态显示不同的颜色(可以让texview的字颜色改变在不同的状态)
注意:drawable下的selector可是设置状态背景列表(可以让view的背景在不同状态时变化)
说明:也可以定义状态背景列表,但是是定义在drawable文件夹下,用的不是color属性,而是drawable属性
1.格式
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.and ...
说明:Animation是所有tween动画的父类,所以动画所具有的属性由自生和父类的属性和
Animation的子类有:AlphaAnimation, RotateAnimation,
ScaleAnimation,
TranslateAnimation
Animation属性为:
android:duration=""持续的时间
android:interpolator=""动画插入器,定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, ...
一.android开发中的资源全部放在res目录下,下面介绍各种资源的存放位置
1.anim文件夹-------------存放动画
说明:存放tween动画(对图片进行平移 缩放 旋转 透明度操作所形成的动画),以xml文件进行存储,eg:myanimation.xml,文件名可以被作为 ...