摘要:
示例原图: 拖动查看其他部分: 放大仔细查看 代码示例,注释比较详细,其他不多讲了package com.study.drascale;import android.os.Bundle;import android.app.Activity;import android.graphics.Matrix;import android.graphics.PointF;import androi... 阅读全文
posted @ 2016-10-01 23:38
杨伟乔
阅读(699)
评论(0)
推荐(0)
摘要:
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 sour... 阅读全文
posted @ 2016-10-01 23:33
杨伟乔
阅读(330)
评论(0)
推荐(0)
摘要:
线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。比如:一个应用要和网络打交道,有很多步骤需要访问网络,为了不阻塞主线程,每个步骤都创建个线程,在线程中和网络交互,用线程池就变的简单,线程池是对线程的一种封装,... 阅读全文
posted @ 2016-10-01 23:32
杨伟乔
阅读(1051)
评论(1)
推荐(0)
摘要:
你的ImageView只有128*96像素的大小,只是为了显示一张缩略图,这时候把一张1024*768像素的图片完全加载到内存中显然是不值得的。所以我们需要一个方法来解决这个问题。[java] view plaincopypublic static int calculateInSampleSize(BitmapFactory.Options options, int reqWi... 阅读全文
posted @ 2016-10-01 23:31
杨伟乔
阅读(322)
评论(0)
推荐(0)
摘要:
研究了android从网络上异步加载图像:(1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法。 在主线程中new 一个Handler对象,加载图像方法如下所示[java] view plaincopyprint?private void loadImage(final String url, final int id... 阅读全文
posted @ 2016-10-01 23:30
杨伟乔
阅读(212)
评论(0)
推荐(0)
摘要:
注意:LruCache是有版本限制的,低版本的sdk需要在libs文件夹添加相应的support-4v文件。本文改造的大部分是参考http://www.iteye.com/topic/1118828,感谢。不废话直接上工程代码,内有关键注释,项目就不上传了,自己对照着上面网址改呗。首先是Application文件,负责创建图片存储文件夹:public class MyApp extends App... 阅读全文
posted @ 2016-10-01 23:28
杨伟乔
阅读(279)
评论(0)
推荐(0)
摘要:
AsyncTask可以自己写一个 AsyncTask, 唉.实际开发中, 如果用 AsyncTask 访问网络, 可以重写一个AsyncTask, 加上判断网络状态的功能 protected abstract class MyHttpTask extends AsyncTask { // 当前BaseView类中无法获知需要进行什么操作 // protected ... 阅读全文
posted @ 2016-10-01 23:24
杨伟乔
阅读(554)
评论(0)
推荐(0)
摘要:
Handler机制中的五大对象android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。 另外, 还有一个类: HandlerThread.Message: 消息MessageQueue: 消息队列Handler: 消息处理器, 发送,... 阅读全文
posted @ 2016-10-01 23:23
杨伟乔
阅读(369)
评论(0)
推荐(0)
摘要:
Handler机制的原理 :Android提供了handler 和 looper 来满足线程之间的通信 Handler是先进先出的原则一个线程可以产生一个looper对象,由它去管理线程里面消息队列 MessageQueueHandler 你可以构造handler对象来与looper沟通.可以发送消息 和处理消息 MessageQueue 用来存放线程放入的消息 线程 一般值的是主线程 UIth... 阅读全文
posted @ 2016-10-01 23:19
杨伟乔
阅读(140)
评论(0)
推荐(0)
摘要:
package com.fone.livechannel.ui.room;import java.io.FileInputStream;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.content.Context;import android.graphics.Bitmap;import a... 阅读全文
posted @ 2016-10-01 23:12
杨伟乔
阅读(478)
评论(0)
推荐(0)
摘要:
介绍Java的字节码一般是非常容易反编译的, 而android采用java编写, 生成的apk安装文件实际上就是一个压缩包, 可以将其解压缩, 再借用其他工具就能被反编译出来. 为了能对源代码就行一些必要的保护, 我们可以对编译好的class文件进行混淆处理. ProGuard的就是一个混淆器, 混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆, 混淆... 阅读全文
posted @ 2016-10-01 22:24
杨伟乔
阅读(2867)
评论(0)
推荐(0)
摘要:
1. 功能介绍AndroidEventBus是一个Android平台的事件总线库, 它简化了Activity、Fragment、Service等组件或者对象之间的交互,很大程度上降低了它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。AndroidEventBus吸收了greenrobot的EventBus以及square的otto的优点,并在此基础上做出了相应的改进,使得事... 阅读全文
posted @ 2016-10-01 22:21
杨伟乔
阅读(1551)
评论(0)
推荐(0)
摘要:
AndroidEventBus如果你不知道事件总线是什么,那么没有关系,下面我们先来看这么一个场景:你是否在开发的过程中遇到过想在Activity-B中回调Activity-A中的某个函数,但Activity又不能手动创建对象来设置一个Listener什么的? 你是否想在某个Service中想更新Activity或者Fragment中的界面? 等等之类的组件之间的交互问题……一经思考,你会发现A... 阅读全文
posted @ 2016-10-01 22:20
杨伟乔
阅读(624)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了。还未阅读过的朋友,请先参考 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) 。那么今天我们将继续上次未... 阅读全文
posted @ 2016-10-01 22:14
杨伟乔
阅读(278)
评论(0)
推荐(0)
摘要:
Android事件总线还能怎么玩?顾名思义,AndroidEventBus ( github链接 ,关于我为什么要写这个库请参考《AndroidEventBus ( 事件总线 ) 的设计与实现》)是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码更加简洁,耦合性更低,提升了我们的代码质量。... 阅读全文
posted @ 2016-10-01 22:07
杨伟乔
阅读(157)
评论(0)
推荐(0)
摘要:
OOM: 内存泄露可以引发很多的问题: 1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC) 2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长) 3.直接崩溃(OutOfMemoryError) ANDROID内存面临的问题: 阅读全文
posted @ 2016-10-01 21:38
杨伟乔
阅读(175)
评论(0)
推荐(0)
摘要:
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知... 阅读全文
posted @ 2016-10-01 21:35
杨伟乔
阅读(284)
评论(0)
推荐(0)
摘要:
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识... 阅读全文
posted @ 2016-10-01 21:34
杨伟乔
阅读(178)
评论(0)
推荐(0)
摘要:
Android 解决图片大量下载:软引用必须懂4点可能对于Android开发者来说,软引用这个词有的会不是很熟悉,软引用在Java开发中用的比较多,但是,在Android开发中引用软引用,会给我们解决很多难题。AD:1.对象的强、软、弱和虚引用为了能更加灵活控制对象的生命周期,需要知道对象引用的4中级别,由高到低依次为 :强引用、软引用、弱引用和虚引用备注: 这四种的区别:⑴强引用(StrongR... 阅读全文
posted @ 2016-10-01 21:24
杨伟乔
阅读(177)
评论(0)
推荐(0)
摘要:
在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候... 阅读全文
posted @ 2016-10-01 21:22
杨伟乔
阅读(163)
评论(0)
推荐(0)
摘要:
本篇博文主要讨论一下复杂界面中常用的一种技术——界面延迟加载技术。 有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来。比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后,在当前的Activity中才会显示出一个导入好友的布局界面。从需求的角度来说,这个导入功能,一般情况下用户是不使用的。即大部分时候... 阅读全文
posted @ 2016-10-01 21:22
杨伟乔
阅读(178)
评论(0)
推荐(0)
摘要:
Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露。思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务。 1 /** 2 * 一个展示线程如何在配置变化中存活下来的例子(配置变化会导致创 3 * 建线程的Activity被销毁)。代码中的Activity泄露了,因为线程被实 4 * 例为一... 阅读全文
posted @ 2016-10-01 21:22
杨伟乔
阅读(3965)
评论(0)
推荐(0)
摘要:
在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分... 阅读全文
posted @ 2016-10-01 21:21
杨伟乔
阅读(244)
评论(0)
推荐(0)
摘要:
来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 21:15
杨伟乔
阅读(115)
评论(0)
推荐(0)
摘要:
通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。 1)静态变量引起内存泄露在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是类相关的变量... 阅读全文
posted @ 2016-10-01 21:15
杨伟乔
阅读(203)
评论(0)
推荐(0)
摘要:
为什么会有OOMandroid系统app的每个进程或者说每个虚拟机(一个进程一个虚拟机)有最大内存限制(不同手机/版本限制不同), 如果应用申请的内存超过了限制, 系统就会抛出OOM异常. 这个整个设备的身影内存没关系. 较早的android系统一个虚拟机最多16M内存, 当一个app启动后, 如果虚拟机不停的申请内存资源来加载图片, 最终会OOM.上面说的是虚拟机可以申请的最大内存, 对于h... 阅读全文
posted @ 2016-10-01 21:12
杨伟乔
阅读(138)
评论(0)
推荐(0)
摘要:
1.资源对象没关闭造成的内存泄漏描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如SQLiteCursor(在析构函数finalize(),如果我们没... 阅读全文
posted @ 2016-10-01 21:12
杨伟乔
阅读(232)
评论(0)
推荐(0)
摘要:
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。 1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Android系统有... 阅读全文
posted @ 2016-10-01 21:11
杨伟乔
阅读(161)
评论(0)
推荐(0)
摘要:
多线程:★★★★进程:正在进行中的程序。其实进程就是一个应用程序运行时的内存分配空间。线程:其实就是进程中一个程序执行控制单元,一条执行路径。进程负责的是应用程序的空间的标示。线程负责的是应用程序的执行顺序。 一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序,每个线程在栈区中都有自己的执行空间,自己的方法区、自己的变量。jvm在启动的时,首先有一个主线程,... 阅读全文
posted @ 2016-10-01 21:03
杨伟乔
阅读(140)
评论(0)
推荐(0)
摘要:
集合框架:★★★★★,用于存储数据的容器。特点:1:对象封装数据,对象多了也需要存储。集合用于存储对象。2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合。因为集合是可变长度的。 集合和数组的区别:1:数组是固定长度的;集合可变长度的。2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。3:数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。... 阅读全文
posted @ 2016-10-01 21:03
杨伟乔
阅读(193)
评论(0)
推荐(0)
摘要:
网络编程:端口:物理端口:逻辑端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535,其中0~1024系统使用或保留端口。 java 中ip对象:InetAddress.import java.net.*;class IPDemo{ public static void main(String[] args) throws UnknownHostException{ ... 阅读全文
posted @ 2016-10-01 21:02
杨伟乔
阅读(156)
评论(0)
推荐(0)
摘要:
IO流:★★★★★,用于处理设备上数据。流:可以理解数据的流动,就是一个数据流。IO流最终要以对象来体现,对象都存在IO包中。流也进行分类:1:输入流(读)和输出流(写)。2:因为处理的数据不同,分为字节流和字符流。 字节流:处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意味着... 阅读全文
posted @ 2016-10-01 21:02
杨伟乔
阅读(196)
评论(0)
推荐(0)
摘要:
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个类进行解剖。 反射的好处:大大的增强了程序的扩展性。 反射的基本步骤:1、获得Class对象,就是获取到指定的名称的字节码文件对象。2、实例化对象,获得类的属性、方法或构造函数。3、访问属性、调用方法、调用构造函数创建对象... 阅读全文
posted @ 2016-10-01 21:01
杨伟乔
阅读(1445)
评论(0)
推荐(0)
摘要:
Android实际开发中的bug总结与解决方法(一)Android开发中有很多bug,我们是完全可以在线下避免的,不要等到线上报的BUG的再去修复。下面是我在实际开发中遇到过的bug和解决方法。BUG 1: java.lang.RuntimeEx... 阅读全文
posted @ 2016-10-01 19:27
杨伟乔
阅读(4697)
评论(0)
推荐(0)
摘要:
本文假定你已经对属性动画有了一定的了解,至少使用过属性动画。下面我们就从属性动画最简单的使用开始。 ObjectAnimator .ofInt(target,propName,values[]) .setInterpolator(LinearInterpolator) .setEvaluator(IntEvaluator) .setDu... 阅读全文
posted @ 2016-10-01 19:24
杨伟乔
阅读(322)
评论(0)
推荐(0)
摘要:
就是在libs目录下创建一个配置文件,里面直接src="源码的路径"方法/步骤1在Eclipse新建Android工程,里面只有一个MainActivity,在点击按钮的时候,我们想调用fastjson把一个Person对象转化成json字符串。2但是,如果想查看libs目录下面的fastjson-1.1.21.jar的源码是看不了的。3并且也没有附加源码的按钮。如果在fastjson-1.1.... 阅读全文
posted @ 2016-10-01 19:24
杨伟乔
阅读(305)
评论(0)
推荐(0)
摘要:
来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 19:23
杨伟乔
阅读(185)
评论(0)
推荐(0)
摘要:
来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 18:20
杨伟乔
阅读(114)
评论(0)
推荐(0)
摘要:
Adroid中的AlarmManager的使用 1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务, 在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的 Intent,通常我们使用 PendingIntent,PendingIntent可以理解为Inten... 阅读全文
posted @ 2016-10-01 18:20
杨伟乔
阅读(210)
评论(0)
推荐(0)
摘要:
第一种解释:进程在大多数其他平台的开发中,每个开发人员对自己应用的进程模型都有非常清晰的了解。比如,一个控制台程序,你可以想见它从main函数开始启动一个进程,到 main函数结束,进程执行完成退出;在UI程序中,往往是有一个消息循环在跑,当接受到Exit消息后,退出消息循环结束进程。在该程序运行过程中,启动了什么进程,和第三方进程进行通信等等操作,每个开发者都是心如明镜一本帐算得清清楚楚。进程边... 阅读全文
posted @ 2016-10-01 18:20
杨伟乔
阅读(237)
评论(0)
推荐(0)
摘要:
一.了解Material Design1.概念:融合卡片式,立体式,拟物化的设计风格2.详情:查看 http://design.1sters.com3.官网链接:http://developer.android.com/training/material/theme.html二.替换ThemeMaterialTheme颜色设置:http://www.materialpalette.com/red/... 阅读全文
posted @ 2016-10-01 18:19
杨伟乔
阅读(193)
评论(0)
推荐(0)
摘要:
来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 18:19
杨伟乔
阅读(166)
评论(0)
推荐(0)
摘要:
在图片文件夹里面放对应的图片注意的是每一个选择器的图片命名,会根据图片的名字生成对应的选择器来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 18:17
杨伟乔
阅读(170)
评论(0)
推荐(0)
摘要:
添加插件快速转换json 为对应的bean类 {"versionCode":2, "versionName":"2.0", "desc":"这是一个灰常流弊的版本, 快来下载吧","downloadUrl":"http://192.168.51.105:8080/MobileSafe89.apk"} 来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 18:17
杨伟乔
阅读(5507)
评论(0)
推荐(0)
摘要:
快速找到控件并且绑定的方法首先加载ButterKnife 类库,在studio中直接搜索添加 接下来安装插件1.安装插件 安装完插件之后重启 2. 3.按照标记..选择 4.如果需要设置点击事件,在这里可以直接选择 ,..下面还有一个Create ViewHolder 这个选项是在设置适配器的时候选择,可以快速的帮助我们生成一个适配器 最后生成的样子..可以直接在生成的方法里做操作 ,注意这... 阅读全文
posted @ 2016-10-01 18:17
杨伟乔
阅读(210)
评论(0)
推荐(0)
摘要:
运行VisualSVN-Server-2.7.3.msi程序, 如下图 点击Next, 下一步 选中 I accept选项, 点击Next, 下一步 选择默认配置, 服务和控制台组件方式, 点击Next, 下一步 点击Standard Edition, 安装标准版 上图中, 红色圈中的部分Location是程序的安装路径. 蓝色圈中的部分Repositories 是存放SVN仓库的路... 阅读全文
posted @ 2016-10-01 18:15
杨伟乔
阅读(237)
评论(0)
推荐(0)
摘要:
Android 数字签名学习笔记 Posted on 2010-01-17 18:38 feisky 阅读(20834) 评论(4) 编辑 收藏在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在... 阅读全文
posted @ 2016-10-01 16:38
杨伟乔
阅读(369)
评论(0)
推荐(0)
摘要:
Andriod应用程序如果要在手机或模拟器上安装,必须要有签名! 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名3.... 阅读全文
posted @ 2016-10-01 16:38
杨伟乔
阅读(241)
评论(0)
推荐(0)
摘要:
Fragment是Android中的重要组件,在Android 3.0的时候添加进来。关于Fragment的生命周期,我相信了解过的开发人员都应该把以下方法脱口而出:onAttach, onCreate, onCreateView, onViewCreated, onActivityCreated, onStart, onResume, onPause, onStop, onDestroyView... 阅读全文
posted @ 2016-10-01 16:35
杨伟乔
阅读(1639)
评论(0)
推荐(0)
摘要:
如果希望点击父控件子控件也响应的话, 可以给子控件加如下属性: android:duplicateParentState="true" 来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 16:30
杨伟乔
阅读(2330)
评论(0)
推荐(0)
摘要:
public class ShareUtils { /** * 分享功能 * @param context 上下文 * @param activityTitle Activity的名字 * @param msgTitle 消息标题 * @param msgText 消息内容 * @param imgPath... 阅读全文
posted @ 2016-10-01 16:30
杨伟乔
阅读(561)
评论(0)
推荐(0)
摘要:
= 电话拨号器/点击事件写法 =开发安卓应用步骤: - 1. 写UI, 即布局文件. - 2. 写代码, Activity, ContentProvider, Service, 等等. - 3. 在清单文件中配置 Activity 等四大组件. - 4. 在清单文件中添加权限. 下面开发一个电话拨号器应用. 首先是写布局文件:{{{class="brush:xml" ... 阅读全文
posted @ 2016-10-01 16:29
杨伟乔
阅读(281)
评论(0)
推荐(0)
摘要:
对于低密度屏幕的手机, 使用一般的方法是无法的到准确密度的. 需要在清单文件里做如下配置: 来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 16:29
杨伟乔
阅读(210)
评论(0)
推荐(0)
摘要:
TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能:1、BackgroundColorSpan 背景色 2、ClickableSpan 文本可点击,有点击事件3、ForegroundColorSpan 文本颜色(前景色)4、MaskFilterSpan 修饰效果,... 阅读全文
posted @ 2016-10-01 16:28
杨伟乔
阅读(157)
评论(0)
推荐(0)
摘要:
1. 开机 如果想在receiver中启动一个activity, 要给intent加一个flagpublic class StartupReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { In... 阅读全文
posted @ 2016-10-01 16:28
杨伟乔
阅读(261)
评论(0)
推荐(0)
摘要:
Android 3.0 sdk,引入了很多新api,比如Loader。和Fragment类似(编写兼容android1.6的fragment),该api也可在Android 1.6以上版本执行。以下介绍如何编写Loader,实现对ListView的异步加载。效果如图:示例中有一个后台线程每隔3秒更新数据库的长江记录,将记录改为“长江”或“Long River”。ListView无需监控数据库... 阅读全文
posted @ 2016-10-01 16:27
杨伟乔
阅读(458)
评论(0)
推荐(0)
摘要:
public static String saveView2Bitmap(Context context,View view,String fileName) { Bitmap bitmap = null; if(context == null || view == null || TextUtils.isEmpty(fileName)){ ... 阅读全文
posted @ 2016-10-01 16:26
杨伟乔
阅读(250)
评论(0)
推荐(0)
摘要:
使用这个类可以改变textview中的文字的样式, 比如颜色, 大小, 下划线等等.一:TextView组件改变部分文字的颜色: Java代码 TextView textView = (TextView)findViewById(R.id.textview); //方法一: textView.setText(Html.fromHtml("红色其它颜色")); //方法二: St... 阅读全文
posted @ 2016-10-01 16:25
杨伟乔
阅读(527)
评论(0)
推荐(0)
摘要:
Integer[] mButtonState = { R.drawable.defaultbutton, R.drawable.focusedpressed, R.drawable.pressed };Button mButton = (Button) findViewById(R.id.button);mButton.setBackgroundDrawable(my... 阅读全文
posted @ 2016-10-01 16:25
杨伟乔
阅读(436)
评论(0)
推荐(0)
摘要:
在android中使用shape资源来定义一个形状. 可以减小安装包大小, 在 Eclipse 中创建 xml 的时候, 选 drawable, 放在 drawable 目录中. 如下图所示 下面有一个矩形的例子 --> -->注意: 1. shape 元素的 android:shape 只有四个值:... 阅读全文
posted @ 2016-10-01 16:23
杨伟乔
阅读(350)
评论(0)
推荐(0)
摘要:
res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容):目录Directory资源类型Resource Typesres/anim/XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象使用方法一般是 AnimationUtil.loadAnimation(R.anim.xxx... 阅读全文
posted @ 2016-10-01 16:22
杨伟乔
阅读(1094)
评论(0)
推荐(0)
摘要:
当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候。 注意上面的双引号,何为“容易”?言下之意就是该activity还没有被销毁,而仅仅是一种可能性。这种可能性有哪些?通过重写一个activity的所有生命周期的onXXX方法,包括onSaveInstanceS... 阅读全文
posted @ 2016-10-01 16:21
杨伟乔
阅读(186)
评论(0)
推荐(0)
摘要:
*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.res/raw不可以有目录结构... 阅读全文
posted @ 2016-10-01 16:21
杨伟乔
阅读(1177)
评论(0)
推荐(0)
摘要:
一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:?123Uri uri = Uri.parse("philn:... 阅读全文
posted @ 2016-10-01 16:20
杨伟乔
阅读(344)
评论(0)
推荐(0)
摘要:
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的... 阅读全文
posted @ 2016-10-01 16:18
杨伟乔
阅读(300)
评论(0)
推荐(0)
摘要:
1. Fragment基本用法为了管理Activity中的fragments,需要调用Activity中的getFragmentManager()方法。因为FragmentManager的API是在Android 3.0,也即API level 11开始引入的,所以对于之前的版本,需要使用support library v4中的FragmentActivity,并且使用getSupportFrag... 阅读全文
posted @ 2016-10-01 14:30
杨伟乔
阅读(3332)
评论(0)
推荐(0)
摘要:
本文主要介绍SharedPreferences和PreferenceActivity的基础知识和用法。 主要资料来源于网络,包括但不限于:《Android之PreferenceActivity》--http://www.cnblogs.com/wservices/archive/2010/07/08/1773449.html《在Android中Preferences数据存储的... 阅读全文
posted @ 2016-10-01 14:27
杨伟乔
阅读(315)
评论(0)
推荐(0)
摘要:
今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等。做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻。好吧,下面进入主题吧:首先来看一下他们的基本概念:px :是屏幕的像素点dp :一个基于density... 阅读全文
posted @ 2016-10-01 14:22
杨伟乔
阅读(688)
评论(0)
推荐(0)
摘要:
当我们将一些提供了不同的资源文件可供Android系统选择的时候,Android会在运行时会根据一套适配的规则选择最符合当前配置的资源。为了说明Android怎么选择资源,假设我们有以下可选的资源文件目录,每一个目录都包含同一张图片的不同版本。drawable/drawable-en/drawable-fr-rCA/drawable-en-port/drawable-en-notouch-12ke... 阅读全文
posted @ 2016-10-01 12:06
杨伟乔
阅读(198)
评论(0)
推荐(0)
摘要:
Android应用之自定义CursorAndroid应用很多情况下存储大量数据都会用SQliter,使用sqlliter不免要和cursor打交道,灵活使用cursor会省很多事。如将自己的数据组合在一个虚拟的表中(数据集合),通过Provider以cursor形式返回给用户,还可以规定cursor每取一次返回多少记录,以减少UI数据量大的负载压力。(如果只是封装下数据以cursor方式返回,... 阅读全文
posted @ 2016-10-01 11:56
杨伟乔
阅读(460)
评论(0)
推荐(0)
摘要:
Android xml风格和主题文件的编写,是涉及到整个程序界面美观的因素之一。较好的应用风格和主题,可以实现美观而统一的界面,这就犹如Web开发中的CSS。 Styles和Themes都是资源,存放在res/values文件夹下。 什么是Style,什么是Theme?Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们可以定义一种风格... 阅读全文
posted @ 2016-10-01 11:55
杨伟乔
阅读(161)
评论(0)
推荐(0)
摘要:
在Android可以这样定义样式: 在 res/values/styles.xml 文件中添加以下内容 在layout文件中可以引用上面的android样式: ================================================ Android主题的应用在 res/values/styles.xml 文件中添加以... 阅读全文
posted @ 2016-10-01 11:52
杨伟乔
阅读(201)
评论(0)
推荐(0)
摘要:
公共技术点之 View 绘制流程 项目:,分析者:lightSky,校对者:Trinea本文为 Android 开源项目源码解析 公共技术点中的 View 绘制流程 部分 分析者:lightSky View 绘制机制1. View 树的绘图流程当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由 Android framework 处理.绘制是从根节点开始,对布局树进行 me... 阅读全文
posted @ 2016-10-01 11:49
杨伟乔
阅读(241)
评论(0)
推荐(0)
摘要:
Android获取外部SDcard的官方调用是Environment.getExternalStorageDirectory()但是根据不同机型,是有不同的结果的。如果手机支持TF卡扩展,并且本身没有大容量存储,比如说HTC老款手机 G3之类的,那么获取到的是TF卡的路径。这是对的。如果手机本身有大容量存储,不论手机是否支持TF卡扩展,比如现在HTC系列高端手机One X,或者920 butter... 阅读全文
posted @ 2016-10-01 11:48
杨伟乔
阅读(3275)
评论(0)
推荐(0)
摘要:
去掉TabHost中Tab间的分割线 网上可以搜到很关于如何去Tabhost下面的白色底线,不过好像对tab标签间的分割线如何去掉却说的比较少,也许遇到这个问题的同学很少吧。[java] view plaincopyTabWidget ll = (TabWidget) a.findViewById (R.id.buttonbar); ll.setDividerDrawable( ... 阅读全文
posted @ 2016-10-01 11:43
杨伟乔
阅读(827)
评论(0)
推荐(0)
摘要:
android 4.0的多选列表使用 这个用着还是挺方便的。 [java] view plaincopy ListView mList = getListView(); ModeCallback multiListener =newModeCallback(); mList.setChoiceMod 阅读全文
posted @ 2016-10-01 11:43
杨伟乔
阅读(286)
评论(0)
推荐(0)
摘要:
两张图片叠加成一张图 这个代码也是之前在网上搜到的,只是实在找不到原始出处了。当然还有别的方法实现叠图的效果,这个经测试验证可用,仅此而已。[java] view plaincopyBitmap bitmap1 = ((BitmapDrawable) getResources().getDrawable( R.drawable.ic_default_slide)).getBitmap()... 阅读全文
posted @ 2016-10-01 11:40
杨伟乔
阅读(354)
评论(0)
推荐(0)
摘要:
美化我们的seekbar 换了图片,滑块图片只显示一半怎么办? ,看下面的代码和代码注释你会找到答案的[html] view plaincopy 来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 11:39
杨伟乔
阅读(187)
评论(0)
推荐(0)
摘要:
setContentView和inflate区别:setContentView()一旦调用, layout就会立刻显示UI;而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来 来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 11:38
杨伟乔
阅读(178)
评论(0)
推荐(0)
摘要:
代码设置文本点击按下颜色变化[html] view plaincopy 上面代码是一个选择器,通常情况我们都在布局文件中添加这样的代码android:background = "@drawable/选择器的文件名" 来实现背景或颜色切换的,可要是用对应功能的代码实现是什么样子呢?[java] view plaincopy ColorStateList.java 这个类... 阅读全文
posted @ 2016-10-01 11:37
杨伟乔
阅读(312)
评论(0)
推荐(0)
摘要:
设置actionBar的图标在屏幕底部显示 android 3.0版本增加的功能,类似menu的作用,在官方的例子中,图标都是在屏幕顶部的,前提是你上面有足够的空间,如果想把actionBar的图标放下屏幕底部就要用下面的代码了 ,在Androidmanifest.xml文件中activity标签中添加[java] view plaincopyandroid:uiOptions="s... 阅读全文
posted @ 2016-10-01 11:36
杨伟乔
阅读(307)
评论(0)
推荐(0)
摘要:
如何设置通知栏下拉不可用 有时候在一个界面不想让通知栏下拉的消息就是这个代码了, NotificaionManager里的一个方法。[java] view plaincopyNotificationMgr.getDefault().getStatusBarMgr().enableExpandedView(false); 来自为知笔记(Wiz) 阅读全文
posted @ 2016-10-01 11:35
杨伟乔
阅读(313)
评论(0)
推荐(0)
摘要:
editText中设置回车输入不换行 这是源码 Mms 编辑界面所使用的一个效果,在信息正文的编辑框里输入回车是不会实现换行的,实现代码如下,也许有时候你也有这样的需求。[java] view plaincopyActivtyy 实现TextView.OnEditorActionListener这个接口 public boolean onEditorAction(TextView ... 阅读全文
posted @ 2016-10-01 11:31
杨伟乔
阅读(953)
评论(0)
推荐(0)
摘要:
这个网上貌似很多回答,大多数是转载,监听onkeyDown消息没错,可是好多都没有给出获取当前音量的方法,基本上没法直接用。下面这个测试是有效的。[java] view plaincopy1.AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE); 2.@Override 3.public boo... 阅读全文
posted @ 2016-10-01 11:30
杨伟乔
阅读(821)
评论(0)
推荐(0)
摘要:
这个需求应该比较常见了,就是list列表长按菜单项所对应的listitem的id是多少,如何得到。 网上应该也有很多,不过多解释在此记录 [java] view plaincopypublic void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfoIn) { AdapterC... 阅读全文
posted @ 2016-10-01 11:29
杨伟乔
阅读(173)
评论(0)
推荐(0)
摘要:
设置字符串光标位置 也许有时候我们就不想让光标在第一个位置,设置方法就是下面的代码了,要使用Selection.java这个类 [java] view plaincopyEditable etext = mSubjectTextEditor.getText(); Selection.setSelection(etext, etext.length()); 来自为知笔记(Wi... 阅读全文
posted @ 2016-10-01 11:29
杨伟乔
阅读(110)
评论(0)
推荐(0)
摘要:
android源码的号码匹配默认是从后向前匹配7位,这个可以应付大多数情况了,但是这东西放在天朝有时就不灵了,11位号码 13500000000和 00000000 android分不出来了, 在哪里改下呢? Framework代码 phoneNumberUtils.java有个常量,把这个7改成11,匹配时所调用的方法看下的代码吧,关键的代码在这里,其它的要看具体应用了。[java] view ... 阅读全文
posted @ 2016-10-01 11:28
杨伟乔
阅读(172)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 现在大家都知道用ViewHolder来实现listview的优化了,但是,ViewHolder到底要用什么来修饰呢?这种修饰有什么意义呢?在一个ListView里面,存在多少个VIewHolder实例呢?为什么VIewHolder能够减少findview的次数,优化效率呢?为了弄清楚这个问题,我做了以... 阅读全文
posted @ 2016-10-01 01:37
杨伟乔
阅读(746)
评论(0)
推荐(0)
摘要:
收集一些没有必要或者无法写到工具类中的代码片段亮度调节/屏幕亮度调节package android.lekko.tools;import android.app.Activity;import android.content.ContentResolver;import android.provider.Settings;import android.provider.Settings.Syste... 阅读全文
posted @ 2016-10-01 00:56
杨伟乔
阅读(740)
评论(0)
推荐(0)
摘要:
Copy from Camra app: [c-sharp] view plaincopyimport java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; i... 阅读全文
posted @ 2016-10-01 00:54
杨伟乔
阅读(600)
评论(0)
推荐(0)
摘要:
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。(网上看了... 阅读全文
posted @ 2016-10-01 00:52
杨伟乔
阅读(806)
评论(0)
推荐(0)
摘要:
onLoadFinished这个方法是在前面已创建的装载器已经完成其加载过程后被调用.这个方法保证会在应用到装载器上的数据被释放之前被调用.在此方法中,你必须删除所有对旧数据的使用(因为它将很快会被删除),但是不要自己去释放它们,因为它们的装载器会做这些事情.装载器一旦了解到应用不再使用数据时,将马上释放这些数据.例如,如果数据是一个从CursorLoader来的游标,你不应调用游标的close(... 阅读全文
posted @ 2016-10-01 00:38
杨伟乔
阅读(156)
评论(0)
推荐(0)
摘要:
一个使用装载器的应用会典型的包含如下组件:一个Activity或Fragment.一个LoaderManager的实例.一个加载被ContentProvider所支持的数据的CursorLoader.或者,你可以从Loader或AsyncTaskLoader实现你自己的装载器来从其它源加载数据.一个LoaderManager.LoaderCallbacks的实现.这是你创建新的装载器以及管理你的已... 阅读全文
posted @ 2016-10-01 00:36
杨伟乔
阅读(153)
评论(0)
推荐(0)
摘要:
重启装载器当你使用initLoader()时,如果指定ID的装载器已经存在,则它使用这个装载器.如果不存在呢,它将创建一个新的.但是有时你却是想丢弃旧的然后开始新的数据.要想丢弃旧数据,你应使用restartLoader().例如,下面这个SearchView.OnQueryTextListener的实现在用户查询发生改变时重启了装载器,装载器于是需重启从而能使用新的搜索过虑来进行一次新的查询.[... 阅读全文
posted @ 2016-10-01 00:36
杨伟乔
阅读(124)
评论(0)
推荐(0)
摘要:
装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性:它们对每个Activity和Fragment都有效。他们提供了异步加载数据的能力。它们监视数据源的一将一动并在内容改变时传送新的结果。当由于配置改变而被重新创建后,它们自动重连到上一个加载器的游标,所以不必重新查询数据。装载器API概述在使用装载器时,会涉及很多类和接口们,我... 阅读全文
posted @ 2016-10-01 00:35
杨伟乔
阅读(145)
评论(0)
推荐(0)
摘要:
我们自己如何来获取设备名称 呢?答案如下:在命令行中输入“adb shell”进入shell之后,再输入“cat /system/build.prop”其实,设备信息,主要是存放在“/system/build.prop”文件,通过“cat”命令就可以查看了.下面附上ADB命令的详细介绍adb 介绍adb的全称为Android Debug Bridge 调试桥,是连接Android手机与PC... 阅读全文
posted @ 2016-10-01 00:30
杨伟乔
阅读(141)
评论(0)
推荐(0)
摘要:
动画动画分为两种, 帧动画(frame animation) 和 补间动画(tween animation). 研究: App Resources(看文档) 帧动画1. 在 res/drawable 中创建一个xml文件, girl.xml 内容如下: ...用到图片都要放在drawable中. 2. 在布局文件中使用一个iv, 用于动画的显示 3. 在代... 阅读全文
posted @ 2016-10-01 00:29
杨伟乔
阅读(160)
评论(0)
推荐(0)
摘要:
In this documentSyntaxCommandsQuerying for Emulator/Device InstancesDirecting Commands to a Specific Emulator/Device InstanceInstalling an ApplicationForwarding PortsCopying Files to or from an Emula... 阅读全文
posted @ 2016-10-01 00:29
杨伟乔
阅读(408)
评论(0)
推荐(0)
摘要:
%title some-other-knowledge%toc = Notification =Notification: 通知, 通知是处于 systemui 进程里的, 当systemui进程退出时, 也就不会有通知了.我们的程序弹出通知, 用户点击通知后, 执行的内容会再回到我们的程序中打开activity, 这个过程不能使用普通的intent, 而是用 PendingIntent, 延... 阅读全文
posted @ 2016-10-01 00:26
杨伟乔
阅读(273)
评论(0)
推荐(0)
摘要:
%title multi-meida%toc 图片, 音频, 视频, 摄像头 = 图片 === 加载大图片到内存 ==我们创建虚拟机时, 默认给每个应用分配的内存大小是16Mb, (VM Heap 16Mb).如果我们加载大图片时, 很可能导致内存溢出. 但是我们会发现, 即使加载的图片只有2-3Mb, 也会溢出, 这是为什么?位图图像加载到内存中时, 是采用数组来存放数据的. 一个图片其本身可能... 阅读全文
posted @ 2016-10-01 00:24
杨伟乔
阅读(218)
评论(0)
推荐(0)
浙公网安备 33010602011771号