
android
文章平均质量分 83
贺群
这个作者很懒,什么都没留下…
展开
-
浅谈Android五大布局(一)——LinearLayout、FrameLayout和AbsoulteLayout
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 Linear转载 2012-02-12 13:55:23 · 753 阅读 · 0 评论 -
Android的Webview中,javascript如何调用java方法
今天调查一个线上Bug,发现是WebView中的一小段javascript,会直接调用到后台APK的一个Java事件,最后导致java中nullpointexception。感兴趣的是,WebView中的javascript如何调用APK中的java方法。 一个例子: 通过JS取得Android的GPS数据 第一步,WebKit的准备转载 2012-11-04 14:00:33 · 817 阅读 · 0 评论 -
PopupWindow
一、PopupWindow和AlertDialog都是Android对话框的内容二、两者的区别和联系 本质区别为:AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情;而PopupWindow是阻塞式对话框:PopupWindow弹出时,程序会等待,在PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法的后,P转载 2012-11-13 10:51:31 · 1515 阅读 · 1 评论 -
Android手机分辨率基础知识(DPI,DIP计算)
1.术语和概念术语说明备注Screen size(屏幕尺寸)指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸摩托罗拉milestone手机是3.7英寸Aspect Ratio(宽高比率)指的是实转载 2012-11-15 13:27:41 · 760 阅读 · 0 评论 -
LinearLayout中组件右对齐
在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列。但有时会有这样的情况:行的左边有两个控制的同时,行的右边也有一个控制。如图:这怎么处理呢?我们可以将右边的控件放在另一个LinearLayout中,同时将其对齐方式设为右对齐:android:gravity转载 2012-12-22 09:54:11 · 44863 阅读 · 5 评论 -
Android 之 Window、WindowManager 与窗口管理
其实在android中真正展示给用户的是window和view,activity在android中所其的作用主要是处理一些逻辑问题,比如生命周期的管理、建立窗口等。在android中,窗口的管理还是比较重要的一块,因为他直接负责把内容展示给用户,并和用户进行交互。响应用户的输入等。在讲窗口管理时,有必要先说下ViewManager这个接口,这个接口主要有以下的实现子接口和实现类,分别是:W转载 2012-12-21 10:39:22 · 708 阅读 · 0 评论 -
Android笔记:组件生命周期
Android应用程序组件中有一个生命周期,贯穿于创建到结束的整个周期。周期里面含有各种状态,这些状态对组件的生命周期起着至关重要的影响。 一、Activity生命周期 1.Activity有三个状态 (1)活动(active)或称运行(running):屏幕前台的Activity(当前任务中栈顶的Activity),用来处理当前用户的请求。转载 2013-02-28 10:02:47 · 890 阅读 · 0 评论 -
android:屏幕自适应
以下是Demo首页的预览图一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级;纵向布局中,决定的是layout转载 2013-03-25 15:11:42 · 775 阅读 · 1 评论 -
Android TabActivity的生命周期
在TabActivity中,只在第一次进入时走了onCreate()、onStart()、onResume()三个阶段,然后在退出该页面时走了onPause()、onStop()和onDestroy()两个阶段。其他时间无论其中的子Activity如何切换,都不会再进入TabActivity的生命周期。而子Activity,再第一次创建的时候,都会走onCreate()、onStart()转载 2013-04-23 19:51:01 · 841 阅读 · 0 评论 -
使用LRU算法缓存图片
在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView, GridView 或者 ViewPager控件),显示在屏幕上的图片以及即将显示在屏幕上的图片数量是非常大的(例如在图库中浏览大量图片)。在这些控件中,当一个子控件不显示的时候,系统会重用该控件来循环显示 以便减少对内存的消耗。同时垃圾回收机制还会释放那些已转载 2013-04-17 16:38:06 · 1041 阅读 · 0 评论 -
Android 内存溢出解决方案(OOM) 整理总结
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://mzh3344258.blog.51cto.com/1823534/804237 在最近做的工程中发现加载的图片太多或图片过大时经常出现OOM问题,找网上资料也提供了很多方法,但自己感觉有点乱,特此,今天在不同型号的三款安卓手机上做了测试,因为有效果也有结果,今转载 2013-04-21 21:26:08 · 831 阅读 · 0 评论 -
Android View 的刷新机制
在Android的布局体系中,父View负责刷新、布局显示子View;而当子View需要刷新时,则是通知父View来完成。步骤就是:1、调用子View的invalidate()2、跳转到上一层的invalidateChild函数中区3、在依次次调用invalidateChildInParent的函数一次层层刷新; Android中对View的更新有很多种方式,使转载 2013-05-01 20:58:11 · 1016 阅读 · 0 评论 -
Android 中的监听器模式与观察者模式
原文链接:http://www.cnblogs.com/jerryxing/archive/2012/04/08/2438085.html1、 观察者模式与监听器机制1.1 观察者模式1.2 监听器(Listener)机制代码的基本框架:* 被监控着 package com.wonders.group;import java.转载 2013-06-15 11:43:01 · 1212 阅读 · 0 评论 -
显式intent和隐式intent区别
android当中显式intent和隐式intent的区别定义:Intent定义:Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要发送端,还需要接收端。 显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。转载 2013-07-23 00:10:20 · 9262 阅读 · 0 评论 -
Android系统广播处理机制
Android系统中的广播是广泛用于应用程序之间通信的一种手段,它类似于事件处理机制,不同的地方就是广播的处理是系统级别的事件处理过程(一般事件处理是控件级别的)。在此过程中仍然是离不开Intent对象,理解广播事件的处理过程,灵活运用广播处理机制,在关键之处往往能实现特别的效果,举一个比较经典的例子,哪黑名单功能,当打进一个电话时,即产生了一个来电广播,则接收这种来电广播的Broadca转载 2013-08-08 16:33:35 · 772 阅读 · 0 评论 -
Android之MVC模式
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完转载 2013-09-05 10:04:50 · 655 阅读 · 0 评论 -
Android中Surface和SurfaceView的一些理解和总结
什么是Surface?简单地说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都是画在Surface上的,传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行什么是SurfaceView?说SurfaceView是一个View也许不够严谨,然而从定义中 public class SurfaceView extends Vi转载 2012-10-25 10:51:26 · 1144 阅读 · 0 评论 -
Android之ListView原理学习与优化总结
在整理前几篇文章的时候有朋友提出写一下ListView的性能优化方面的东西,这个问题也是小马在面试过程中被别人问到的…..今天小马就借此机会来整理下,网上类似的资料蛮多的,倒不如自己写一篇,记录在这个地方,供自己以后使用,不用再翻来翻去的找了,用自己写的…呵呵,不多讲其它了,说起优化我想大家第一反应跟小马一样吧?想到利用ViewHolder来优化ListView数据加载,仅仅就此一条吗?其实不是的转载 2012-10-31 15:16:37 · 14215 阅读 · 4 评论 -
android中的ListView的优化
Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源? List.xml:"1.0" encoding="utf-8"?> xmlns:android="http://sch转载 2012-10-29 20:00:01 · 3303 阅读 · 1 评论 -
浅谈Android五大布局(二)——RelativeLayout和TableLayout
在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局)、FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局RelativeLayout(相对布局)和TableLayout(表格布局)相对之前布局结构稍显复杂一点,所以这里另起篇幅进行介绍。RelativeLayout: RelativeLayout按转载 2012-02-12 13:56:21 · 712 阅读 · 0 评论 -
Android中Context简介
Context字面意思是上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄。很多方法需要通过 Context才能识别调用者的实例:比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onCli转载 2012-02-14 17:08:04 · 673 阅读 · 0 评论 -
Android - LayoutInflater
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用Layou转载 2012-02-16 14:26:21 · 799 阅读 · 0 评论 -
Android支持HTML标签
Android支持HTML标签目前android不支持全部的html的标签,目前只支持与文本显示和段落等标签,对于图片和其他的多媒体,还有一些自定义标签不能识别。特别说明:当然你自定义的标签默认肯定不被支持,但可以通过实现Html.TagHandler这个接口来自我解析。 一 先介绍与此相关的两个类1,android.webkit.WebView类转载 2012-02-27 20:27:45 · 28803 阅读 · 1 评论 -
linux 下使用魅族mx真机调试android程序
我使用的是Fedora16,看了魅族论坛上一个帖子,试着调试了一下,就成功了,现将调试步骤记下。1、MX打开usb调试,连接ubuntu。2、在Terminal输入lsusb,获得: Bus 002 Device 005: ID 18d1:0005 Google Inc.3、运行命令sudo vim /etc/udev/rules.d/51-android.rules,输转载 2012-03-05 12:08:04 · 3309 阅读 · 1 评论 -
Android Intent 用法全面总结
[代码] 调用拨号程序1// 给移动客服10086拨打电话2Uri uri = Uri.parse("tel:10086");3Intent intent = new Intent(Intent.ACTION_DIAL, uri);转载 2012-03-28 18:22:52 · 893 阅读 · 0 评论 -
Activity中ConfigChanges属性的用法
通过设置这个属性可以使Activity捕捉设备状态变化,以下是可以被识别的内容: CONFIG_FONT_SCALECONFIG_MCCCONFIG_MNCCONFIG_LOCALECONFIG_TOUCHSCREENCONFIG_KEYBOARDCONFIG_NAVIGATIONCONFIG_ORIENTATION设置方法:将下列字段用“|”符号分隔开,转载 2012-03-29 09:55:30 · 511 阅读 · 0 评论 -
[摘]android:windowSoftInputMode属性使用
在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用The AndroidManifest.xml File "stateUnchanged", "stateHidden",转载 2012-03-29 09:54:19 · 458 阅读 · 0 评论 -
Parcelable
android整个上层java开发框架可以分为四个方面:界面(activity和appwidget)、消息(Intent和Message)、服务(Service)和数据(Sqllite、Content Provider)。开发要点摘记: 1、新的序列化方式: android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Inte转载 2012-03-15 13:52:54 · 489 阅读 · 0 评论 -
Sqlite的字段类型说明
存储类(Storage Classes)如前文所述,SQLite在处理数据类型时与其它的数据库不同。区别在于它所支持的类型以及这些类型是如何存储、比较、强化(enforc)和指派(assign)。下面各节介绍SQLite处理数据类型的独特方法和它与域完整性的关系。对于数据类型,SQLite的域完整性被称为域亲和性(affinity)更合适。在SQLite中,它被称为类型亲和性(ty转载 2012-04-28 16:46:14 · 6909 阅读 · 0 评论 -
Android之MVC模式
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完转载 2012-04-17 14:52:45 · 837 阅读 · 0 评论 -
Android学习进阶和IoC
1.成为Android高手一般分为六个阶段: 第一阶段:熟练掌握Java SE,尤其是对其内部类、线程、并发、网络编程等需要深入研究;熟练掌握基于HTTP协议的编程,清楚POST和GET等请求方式流程和细节;能够进行基本的Java Web编程,如果能够使用Java EE则更好; 第二阶段:精通Android的核心API的使用,例如四大组件所涉及的API、转载 2012-05-29 10:59:52 · 841 阅读 · 0 评论 -
drawable mdpi ldpi hdpi的区别
在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。 drawable- hdpi、drawable- mdpi、drawable-ldpi的区别: (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (48转载 2012-05-11 13:47:29 · 670 阅读 · 0 评论 -
小米公司七位创始人简介
小米公司由雷军创办,共计七名创始人,分别为创始人、董事长兼CEO雷军,联合创始人总裁林斌,联合创始及副总裁黎万强、周光平、黄江吉、刘德、洪锋。5 Y F, ^# C- b4 |% U* L! f7 ]( L1 w5 C9 \" \% s' [; j雷军# r. o) l9 W/ `8 G2 d现任金山软件公司董事长,雷军于1992年加入金山软件,1998出任金山软件首席执转载 2012-05-15 16:46:35 · 22261 阅读 · 0 评论 -
android: Handler概念理解与运用
android.os.Handler是Android SDK中处理定时操作的核心类。通过Handler类,可以提交和处理一个Runnable对象。这个对象的run 方法可以立刻执行,也可以在指定时间之后执行(可以称为预约执行)。 handler类允许你发送消息和处理线程消息队列中的消息及runnable对象。handler实例都是与一个线程和该线程的消息队列一起使用,一旦创建了一转载 2012-07-12 10:09:54 · 736 阅读 · 0 评论 -
android:cacheColorHint,android:listSelector属性作用
自定义listview的时候,当你不使用android:cacheColorHint=“#00000000”会出现下面选中一个空间黑色底色的情况,破坏整体美观度.当你不使用android:listSelector属性,默认会显示选中的item为橙黄底色,有时候我们需要去掉这种效果:转载 2012-09-11 20:35:35 · 2209 阅读 · 0 评论 -
android 圆角边框及图片
Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结:先看下面的代码: android:startColor="#ff8c00"转载 2013-09-21 18:47:51 · 1118 阅读 · 0 评论