1. 获取View (或其他视图)在手机屏幕的坐标
int loaction[] = new Int([2];
view.getLoactionOnScreen(loaction);
loaction[0] : x 坐标
loaction[1] : y 坐标
2.ImageView设置图片给图片添加相框让多余部分不显示
android:scaleType="fitXY"
3.ListView 显示没有背景颜色,拉黑,没有中间项隔线
android:cachcolorHint=“#00ffffff”
android:descendantFocusability = "blocksDescendants"//焦点获取的时机
android:divider=“#00ffffff”//中间项的颜色
android:fadingEdge="none"
android:listSelector ="#00ffffff"//选择时颜色
android:stackFromBottom="true"// 让显示列表下面
4.对话框样式
<resources>
<style name="dialog_style" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowIsnoTitle">true</item>
<item name="android:windowBackground">#00ffffff</item>
<item name="android:backgroundDimEnable">true</item>
</style>
</resources>
5.android 网络类型判断 3G,WIFI ,WAP
public void getNetWorkType(Context context)
{
ConnectivityManager conn = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (conn.getNetWorkInfo(ConnectivityManager.TYPE_WIFI).getState() ==NetworkInfo.State.CONNECTED)
{
// 无线
}
if (conn.getNetWorkInfo(ConnectivityManager.TYPE_MOBITLE).getState() == NetworkInfo.State.CONNECTED)
{
String host = android.net.Proxy.getDefaultHost();
if (host!= null)
{
//WAP
}else
{
//3G
}
}
}
6.android 数据库错误 android.database.CursorIndexOutofBoundsException :Index -1 requested with a sizeof!
解:数据库查找 cursor中只有一个结果,却要查找第-1个,可以使用 cursor.moveFridt()就解决!
7.获取drawable 文件资源中的图片文件(名字,id值)
Filed fs[] = R.drawable.class.getDeclaredFields();
for( Field f: fs)
{
f.getName();//文件名
context.getResources().getIdentifier(f.getName(), "drawable","com.text")// 文件名称,资源位置,项目名称
}
8.android 操作系统的内存回收机制
DalvikVM 虚拟机采用寄存器架构,而不是JVM 的栈结构
android 基于进程中运行的组件及其状态规定了默认的五个回收优先级
IMPORTANCE_FOREGROUND
IMPORTANCE_VISIBLE
IMPORTANCE_SERVICE
IMPORTANCE_BACKGROUND
IMPORTANCE_EMPTY
ActivityManagerService 集中管理所有进程的内存资源分配,常用方法
trimApplications(),updateOomAdjlocked(),activityIdleItermal()
默认回收过程,可以分两个层次:内存回收与内核级内存回收
回收入口: activityIdleItermal()触发的三种情况:调用新的应用,返回退出当前应用,当前被覆盖
当ActivityManagerService 接收到异步信息IDLE_TIMEOUT_MSG或者IDLE_NOW_MSG时,activityIdleIntermal()将来调用
IDLE_NOW_MSG 的处理方式:
case IDLE_NOW_MSG:
{
IBinder token = (IBinder)msg.obj;
activityIdle(token,null);
break;
}
9 android 数据库异常错误:get field slot from 0 col -1 field
查找字段不存在的原因!
10 android数据库 the bind value at index is null 字段保护“null” 空值
11 SVN previous uperation has not finished run "cleanup" if it was iterrunpted SVN 正在运行时被打断,
解决:右击项目-->svn--->refresh/cleanup
12 android 中建议使用 SparseArray 代替Map 使用提高效能的问题!具体可以看下源码