1.获取屏幕的分辨率
在 Activity 里使用如下代码,宽度和高度的单位是像素
Display display = getWindowManager().getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
2.绘制文本
使用 FontMetrics 类
参考
http://www.iteye.com/topic/474526
3.禁止自动横竖屏切换
在AndroidManifest.xml的Activity节点加入如下属性
android:screenOrientation="portrait"
portrait是纵向,landscape是横向
4.Resources and Assets
无论是使用Res\raw还是使用Asset存储资源文件,文件大小UNCOMPRESS限制为1MB
参考
http://wayfarer.iteye.com/blog/547174
5.SDK 1.6 新增加SD卡写入权限
在AndroidManifest.xml加入以下代码
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
SDK1.6之前的项目自适应,无需此权限也可以写入SD卡。
6.在eclipse中查看Android Framework源代码
代码下载
参考
http://www.iteye.com/topic/534010
7.给View注册ContextMenu
void setOnCreateContextMenuListener (View.OnCreateContextMenuListener l)
Register a callback to be invoked when the context menu for this view is being built.
8.给Preference设置Intent
void setIntent (Intent intent)
Sets an Intent
to be used for startActivity(Intent)
when this Preference is clicked.
9.包含CheckBox的ListView
ListView item中加入checkbox后onListItemClick 事件无法触发。
原因:checkbox的优先级高于ListItem于是屏蔽了ListItem的单击事件。
解决方案:设置checkbox的android:focusable="false"
10.取得当前的Locale
Locale locale = context.getResources().getConfiguration().locale;
11.使用android.text.format.Time类代替java.util.Calendar类
The Time class is a faster replacement for the java.util.Calendar and java.util.GregorianCalendar classes. An instance of the Time class represents a moment in time, specified with second precision. It is modelled after struct tm, and in fact, uses struct tm to implement most of the functionality.
12.调整WebView字体大小
WebView.getSettings().setDefaultFontSize()
WebView.getSettings().setDefaultZoom()
13.View Animation总结
参考
14.检查网络状态
public
static
boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
return
(info != null
&& info.isConnected());
}
public
static
boolean isWifiConnected(Context context) {
return
getNetworkState(context, ConnectivityManager.TYPE_WIFI) == State.CONNECTED;
}
public
static
boolean isMobileConnected(Context context) {
return
getNetworkState(context, ConnectivityManager.TYPE_MOBILE) == State.CONNECTED;
}
private
static
State getNetworkState(Context context, int
networkType) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(networkType);
return
info == null
? null
: info.getState();
}
需要加入权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
15.Parse JSON String
参考
- http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/
- http://wiki.fasterxml.com/JacksonInFiveMinutes
- http://stackoverflow.com/questions/2818697/sending-and-parsing-json-in-android
16.设置EditText的输入模式
url, password, email, 电话键盘等
设置 android:inputType 属性
17.Crash Report
下面是开源的一个项目:
- http://code.google.com/p/acra/
- http://code.google.com/p/android-send-me-logs/
我自己在项目里面用了另外的一个方法,代码不方便贴出来,我说一下我自己的思路吧:
1.logcat -f filename -v time *:E
2.根据pid过滤出自己所需要的crash日志
有需要的可以站内联系
18.用户解锁消息
android.intent.action.USER_PRESENT
只能在代码里注册Receiver
19.屏幕消息
android.intent.action.SCREEN_ON
android.intent.action.SCREEN_OFF
只能在代码里注册Receiver
来自:http://blog.csdn.net/jnhoodlum/article/details/6781779
分享到:
相关推荐
在这个"android小结"中,我们可以探讨一些核心的Android知识点,包括但不限于源码解析、工具使用以及一个可能的示例项目"MainActivityDemo"。让我们逐一深入探讨。 **源码解析** 在Android开发中,理解源码是提升...
在Android开发中,掌握一些关键知识点对于构建高效且兼容的应用至关重要。以下是对文档中提到的几个重要知识点的详细解释: 1. **Android 单实例运行方法** 在Android系统中,每个应用程序通常由一系列Activity...
android基于linphone实现视频通话小结
【Android入门小结】 在Android开发领域,初学者往往会面临许多挑战,但通过逐步学习和实践,这些困难都能够迎刃而解。这篇博客主要总结了Android开发的基础知识,旨在帮助新接触这一领域的开发者快速上手。 一、...
本资料包"Android问题小结"是针对Android开发者的一个宝贵资源集合,涵盖了多个方面的知识,包括事件分发机制、设计模式、图层管理、属性动画、框架使用、应用安全以及个人职业发展规划等。 首先,"技术交流--...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。WebView基于Webkit渲染引擎,这使得它在性能和兼容性上与Safari和Chrome等浏览器保持一致。在本文中,我们...
以下是对Android知识的一些小结,旨在分享遇到的问题及其解决方案,帮助开发者提升技能和解决问题。 1. **UI设计与布局**:Android使用XML来定义用户界面布局。`efefe.PNG`、`weff.PNG`可能展示了不同类型的布局,...
- 较小的体积和更低的资源消耗使得它非常适合移动设备。 - 支持同时运行多个虚拟机实例,这使得每个Android应用都能拥有独立的虚拟机环境。 #### 二、Dalvik虚拟机架构特点 - **基于寄存器架构**:与传统的JVM...
在Android系统中,内存分配是一个复杂且关键的过程,它直接影响着设备的性能和稳定性。本文主要探讨了Android手机内存的分配结构,以及如何查看和理解这些分配情况。 首先,我们需要了解Android内存的基本划分。...
### Android高级工程师面试技术点小结 在当前竞争激烈的IT行业中,成为一名优秀的Android高级工程师不仅意味着需要具备深厚的技术功底,还需要不断跟进最新的技术趋势和发展方向。本文将根据标题、描述以及部分内容...
1.3 小结 第2章 Android开发环境搭建 2.1 Android开发准备工作 2.2 开发包及其工具的安装和 配置 2.2.1 安装JDK和配置Java开发 环境 2.2.2 Eclipse的安装与汉化 2.2.3 SDK和ADT的安装和 配置 2.3 创建第一个Android...
### Android数据库操作详解 #### 一、概述 在软件开发领域,数据管理是不可或缺的一环。对于Android开发者而言,SQLite数据库作为内置的关系型数据库解决方案,为应用提供了强大的数据存储功能。本文将详细介绍...
Android 聊天小程序学习小结 Android 聊天小程序学习小结是微信小程序开发的学习总结,涵盖了小程序开发的基础知识、开发平台配置、调试技巧、性能优化等方面的知识点。 一、基础知识 * 小程序开发需要具备的基础...
在Android客户端性能软件测试中,关注点主要集中在稳定性和性能两个方面。随着移动应用的不断发展,用户对于应用程序的要求越来越高,不仅需要功能齐全,更期待快速响应、流畅运行和低资源消耗。性能测试不再仅仅是...
本文实例总结了Android编程中图片特效处理方法。分享给大家供大家参考,具体如下: 这里介绍的Android图片处理方法包括: 转换 – drawable To bitmap 缩放 – Zoom 圆角 – Round Corner 倒影 – Reflected ...
在Android平台上,相机功能是应用开发中的重要组成部分。本文将对Android Camera的使用进行深入探讨,结合源码分析和工具的运用,帮助开发者更好地理解和掌握这一领域的知识。 首先,Android Camera API提供了两种...