`
Tony_Lee-S
  • 浏览: 82441 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包       当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。       比如说从网上获取一个网页,在一个TextView中将其源代码显示出来 ...
Android有两种动画,一种是tweened animation(渐变动画) ,主要用于控件的,大小缩放,透明度等,另一种是frame by frame(逐帧动画),也就是我今天要讨论的动画。逐帧动画顾名思义就是一帧一帧的播放动画,就像动画片的播放原理一样,它是通过不挺得替换图片,当替换图片的速度大于人眼的反应时间时就会给人一种画面在动的感觉。 废话不多说直接上代码: 1:在res文件夹下面建立一个文件夹anim; 2:在anim文件夹下建立一个文件firefox_animation.xml(名字自己任意定义)如下: <?xml version="1.0" en ...
当手机或模拟器开机时,会调用android的MediaScanner,扫描sd卡和内存里的文件。以下是log信息。 12-13 15:39:11.062: VERBOSE/MediaPlayerService(67): Create new media retriever from pid 349<BR> 12-13 15:39:11.082: DEBUG/MediaScannerService(349): getDefaultLocale =zh_CN 12-13 15:39:11.122: DEBUG/SurfaceFlinger(102): Layer::requestBuff ...
1、Video 对于视频,取第一帧作为缩略图,也就是怎样从filePath得到一个Bitmap对象。 private Bitmap createVideoThumbnail(String filePath) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ON ...
package com.liao.intentservice; import java.util.Arrays; import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.FontMetrics; import android.graphics.P ...
demo下载: http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz 以下是Demo首页的预览图 一、细说layout_weight     目前最为推荐的Android多屏幕自适应解决方案。     该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级;纵向布局中,决定的 ...
在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建。 ListView加载数据都是在public View getView(int position, View convertView, ViewGroup parent) {}方法中进行的(要自定义listview都需要重写listadapter:如BaseAdapter,SimpleAdapter,CursorAd ...
1.基于消息的通信机制  Intent ---boudle ,extra     数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。 2. 利用static静态数据, public static成员变量; 3.基于外部存储的传输,  File/Preference/ Sqlite ,如果要针对第三方应用需要Content Provider 4.基于IPC的通信机制     context 与Service之间的传输,如Activity与Service之间的通信,定义AIDL接口文件。    示例: htt ...
一、概念及说明 Android为了屏蔽进程的概念,利用不同的组件[Activity、Service]来表示进程之间的通信! 组件间通信的核心机制是Intent,通过Intent可以开启一个Activity或Service,不论这个Activity或Service是属于当前应用还是其它应用的 ...
    由于OEM之间的竞争,各种Android操作系统的手机简直就是琳琅满目,屏幕分辨率的差异可想而知。目前比较主流的有WVGA=800x480,HVGA=480x320,另外的还有QVGA=320x240。当然还有魅族M9的DVGA=960x640,还有蛋疼的摩托罗拉的FWVGA=854x480 ...
在android开发中会用一些资源,这些资源以不同形式存在,比如说图片,xml等,android为这些不同类型的资源统一编号,生成资源类R 。如下: public final class R { public static final class anim { public static final int popup_enter=0x7f040000; public static final int popup_exit=0x7f040001; } public static final class drawable { public static final int gradient_bg= ...
java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换 字符为导向的stream的stream。(很难理解么?) 以字节为导向的stream------InputStream/OutputStream InputStream 和 OutputStream是两个abstac ...
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windo ...
前一段时间写mp3播放器的应用,发现一播放中文歌曲时,歌词就会出现乱码,搜了很久都没有找到答案。今天终于被我找出那个可恶的Bug了。原来在取歌词文件时用的方法“br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));”中的“GBK”出了问题。我下载的中文歌词文件是用“UTF-8”编码表来编码的,当用“GBK”编码表来读取时就会出现乱码了。将“UTF-8”替代“GBK”,问题得到解决。 刚才在csdn上还找到另一种完美的解决办法,就是自动识别文件的编码格式,然后进行转换。链 ...
计算机中的字是如何处理的?     如果你用放大镜看一下,可以看出屏幕上的字是由一个一个的像素点组成的,每一个字符用一组像素点拼接出来,这些像素点组成一幅图像,变成了我们的文字,计算机又是如何将我们的文字保存起来的呢?是用一个个的点组成的图像将文字保存起来的吗?当然不是,让我们从英文开始,由于英文是拼音文字,实际上所有的英文字符和符号加起来也不超过100个,在我们的文字中存在着如此大量的重复符号,这就意味着保存每个字符的图像会有大量的重复,比如 e 就是出现最多的符号等等。所以在计算机中,实际上不会保存字符的图像。 什么是字符编码?     由于我们的文字中存 ...
Global site tag (gtag.js) - Google Analytics