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小结.docx
android TIPS小结android TIPS小结android TIPS小结android TIPS小结
NULL 博文链接:https://liggway.iteye.com/blog/736872
Android内存管理小结 Android内存管理和分析
Android异步加载图像小结 (含线程池,缓存方法)
android 数据库 小结 包括 增删改 等等…… 掌握这个基本掌握android数据库
关于android手机内存分配小结。
android基于linphone实现视频通话小结
Android知识小结,记录开发中遇到的问题以及解决方案提供思想
Android-动画小结,包括常见的动画和ObjectAnimator
最近半年在做android开发,借鉴大牛和自己总结的一些经验,分享出来
Android.mk里几个参数的小结.pdf
对于android的四大组件进行了简单的小结,初学者可以对四大组件有个大体认识。
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异步加载图像小结 (含线程池,缓存方法).rar
Android知识问题还有框架的使用总结,提供大家学习与分享
Android异步加载图像小结 (含线程池,缓存方法).zip