Android 开发网上的一些重要知识点 1. android 单实例运营方法我们都知道 Android 平台没有任务管理器,而内部 App 维护者一个 Activity history stack 来实现窗口显示和销毁,对于常规从快捷方式运营来看都是 startActivity 也许会使用FLAG_ACTIVITY_NEW_TASK 标记来打开一个新窗口,比如 Launcher,所以考虑单任务的实现方法比较简朴,一方面 Android123 纠正下大家一种错误的方法就是直接在androidmanifest.xml 的 application 节点中加入 android:launchMode="singleInstance"这句,其实这样将不会起到任何作用,Apps 内部维护的历史栈作用于 Activity,我们必须在activity 节点中加入 android:launchMode="singleInstance" 这句才能保证单实例,当然一般均加在主程序启动窗口的 Activity。2. px 像素如何转为 dip 设备独立像素最近有网友问如何将 px 像素转为 dip 独立设备像素,由于 Android 的设备分辨率众多,目前主流的为 wvga,而很多老的设备为 hvga 甚至低端的 qvga,对于兼容性来说使用 dip 无非是比较方便的,由于他和分辨率无关和屏幕的密度大小有关,所以推举使用。 px= (int) (dip*density+0.5f) //这里 android 开发网提醒大家很多网友猎取 density(密度)的方法存在问题,从资源中猎取的是静态定义的,一般为 1.0 对于 HVGA 是正好的,而对于 wvga这样的应当从 WindowsManager 中猎取,WVGA 为 1.5 这里可以再补充一下 dip,sip 的知识3. Android 中动态改变 ImageView 大小 很多网友也许发现在 layout.xml 文献中定义了 ImageView 的绝对大小后,无法动态修改以后的大小显示,其实 Android 平台在设计 UI 控件时考虑到这个问题,为了适应不同的Drawable 可以通过在 xml 的相关 ImageView 中加入 android:scaleType="fitXY" 这行即可,但由于使用了缩放也许会导致当前 UI 有所变形。使用的前提是限制 ImageView 所在的层,可以使用一个内嵌的方法限制显示。4. 如何推断 Android 手机当前是否联网? 假如拟开发一个网络应用的程序,一方面考虑是否接入网络,在 Android 手机中推断是否联网可以通过 ConnectivityManager 类的 isAvailable()方法推断,一方面猎取网络通讯类的实例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,使用 cwjManager.getActiveNetwork...