- 博客(17)
- 收藏
- 关注
原创 TextInputLayout
TextInputLayout是Android 设计支持库(designer support library)中的组建,与标准的EditText相比,多了一些很亮的功能,改进了提示和错误文本的处理。尽管TextView (EditText的子类)已经支持提示和错误文本,但是这有点过时了,而且并不符合材料设计的风格。TextInputLayout改进了这点,它本身包装一个标准的EditText,
2015-08-25 09:51:06
950
1
原创 UI/ApplicationExerciser Monkey
UI/ApplicationExerciser MonkeyMonkey是一个程序,它运行在模拟器或设备上,生成伪随机的用户事件流,如点击、触摸、手势以及一些系统级的事件,使用它可以给程序用随机、可重复的操作进行压力测试。概述Monkey是一个命令行工具,可以运行在任何模拟器和设备上。Monkey包含一些选项,大致可以划分为以下四种:***基本的配置选项,如设置事件的个数。
2015-08-17 22:29:31
738
翻译 Proguard 简介
ProguardProguard是一个压缩、优化、和混淆Java字节码文件的工具,它可以删除无用的代码,还可以使用简短的无意义的名称来重命名类、字段、方法。这样生成的.apk文件的体积更小,并且不太容易被反编译。Proguard被集成到了Android编译系统中,所以你不用手动地在程序中调用它。Proguard只在release模式下运行,所以在debug模式下,不用处理混淆过的代码。
2015-08-10 16:30:16
624
转载 default' is not a best match for any device/locale combination.
我在新电脑上面创建xml文件的时候,老是出现这种情况,查了不少地方,也没有看到有效的解决办法。大部分是clean。这个治标不治本。下次还出现。'default' is not a best match for any device/locale combination.Displaying it with ', , Locale Language ___
2014-10-28 09:23:53
1282
原创 manifest----activity属性
android:allowTaskReparenting 是否允许Activity更换从属任务。android:alwaysRetainTaskState 是否保留状态不变android:configChanges 当配置发生改变时,是否调用onConfigurationChanged,如"orientation|keyboardHidden"android:enabled
2014-10-08 16:39:49
549
原创 layout_weight和weightSum
在编写HTML页面的时候,为了编写出多分辨率适配的页面,通常不会使用固定的像素,而是使用百分比。在Android中,layout_weight属性的功能就与HTML百分比布局类似。layout_weight表示占用容器剩余空间的比例,而容器有个属性为weightSum表示比例的总数。比如下面的布局文件: android:orientation="horizont
2014-09-23 10:33:11
627
翻译 Gradle-user guide-第8章 依赖管理基础(译)
第8章依赖管理基础这章会介绍一些Gradle中的依赖管理的基础知识。8.1什么是依赖管理粗略地说,依赖由两方面组成。第一,Gradle需要知道项目要构建或者执行的东西,以便于可以找到它们,我们把这些项目需要的文件称作项目的依赖。第二,Gradle需要构建和上传项目所生成的东西,我们把生成的文件叫做项目的发布。让我们来在更多细节上看看这两方面。大多数项目都不是完全独立的。它们需要其他
2014-09-11 16:10:06
779
翻译 Gradle-user guide-第7章 Java 快速开始
第7章java快速开始7.1java插件我们知道,Gradle是一个多用途的构建工具,它可以构建你想在构建脚本中实现的任何事情。不过,最为开箱即用的产品,它不会做任何构建脚本不包含的任务。大多数Java项目都和基础很相似:你需要编译java源文件,执行一些结合测试,创建一个包含你的classes的JAR文件。如果你没有必要为每一个这种项目都编写代码的话,那会是很好的。幸运的是,你确实没
2014-08-12 15:40:46
592
翻译 Gradle-user guide-第6章 构建脚本基础(译) --续
6.6动态任务Groovy不仅仅能够定义一个任务做什么,例如,它也能够动态的创建任务。例子6.8任务的动态定义build.gradle4.times { counter -> task "task$counter" println "I'm task number $counter" }}使用gradle -q task1 ,
2014-08-09 14:53:33
751
翻译 Gradle-user guide-第6章 构建脚本基础(译)
构建脚本基础(6.1.项目和任务Gradle里的一切都基于这两个基本概念:项目和任务(projects and tasks)每个Gradle构建都由一个或多个项目构成。一个项目代表什么取决于你想要用Gradle去做什么。举个列子,一个项目可能代表一个Jar或者一个web应用,它也可能代表一个由其他项目生成的jar包组成的ZIP压缩包。项目不必代表准备构建
2014-08-07 14:13:15
598
翻译 Gradle-user guide-Installing-第四章 安装Gradle(译)
第四章 安装Gradle4.1前提条件Gradle 需要安装JDK 或者 JRE ,需要Java版本6或者更高。Gradle有自己的Groovy库,因此不需要另外安装Groovy,任何已经安装的Groovy都会被Gradle忽略。4.2 下载直接从官方网站下载。4.3解包从官方网站下载一个zip包,这个zip包中包含:1.Gradle二进制文件。2.用户手册(HTM
2014-08-06 10:42:28
562
原创 <include />&<merge />
上周参加中兴移动的招聘会,完全被面试官强烈的气场给震慑住了。使我明白我只是一个android刚入门的菜鸟,还有很多东西需要学习。其中有个面试官问了一个问题:merge标签的作用是什么?我愣是没有回答上来。今天有点时间就看看它到底是什么。还是先阅读以下android开发文档。根据官方的描述,当在一个layoutA文件中使用<include />引用另一个layoutB
2014-03-24 13:38:28
552
原创 ViewStub初探
在学习ViewStub之前,先看一下ViewStub到底是什么。我们来看看官方api文档的解释。ViewStub是一个不可见的,大小为0的view,它可以用于在运行时动态的加载layout资源。当ViewStub被设置为可见状态,或者它的inflate方法被调用,ViewStub中的layout资源文件就会被加载。它将用加载的layout来替换自己原来的位置。因此,一旦Vi
2014-03-24 11:46:01
659
原创 android match_parent
今天跟着api文档学习android的时候,碰到一个属性“match_parent”,之前一直没有用到,不知道具体是什么意思,经上网搜索之后得到答案。如下:从Android 2.2开始FILL_PARENT改名为MATCH_PARENT ,从API Level为8开始我们可以直接用MATCH_PARENT来代替FILL_PARENT。
2013-05-05 08:40:32
732
原创 JAVA JDBC学习笔记
JAVA JDBC执行数据库操作之前,先配置eclipse,加入oracle11g的jar包,如下图接着在代码中定义如下的常量 public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; public static final String DBURL="jdbc:or
2012-12-24 22:45:56
417
原创 c primer Plus第八章笔记
该书应从8章之后开始学习现在开始第8章 (p199) 字符输入输出缓冲区:是一个存放内容的临时存储区域为什么要设置缓冲区:一、将若干个字符作为一个块进行传输比逐个发送这些字符耗时少。二、如果输入了一个错的字符,可以用键盘的更正功能进行修改。当按下回车键的时候就发送输入的字符。但是,交互性的程序需要非缓冲输入。因此缓冲区与非缓冲区都有各自的用途。缓冲分为两类:完全缓冲(fully
2012-04-26 00:25:52
671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人