`
文章列表
在Service的生命周期中,被回调的方法比Activity少一些,只有onCreate, onStart, onDestroy, onBind和onUnbind。 通常有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。 1 通过startService Service会经历 onCreate 到onStart,然后处 ...
工作原理 : ListView 针对 List 中每个 item ,要求 adapter “ 给我一个视图 ” (getView) 。 一个新的视图被返回并显示 如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图? NO! 这不可能! 实际上 Android 为你缓存了视图。 Android 中有个叫做 Recycler 的构件,下图是他的工作原理: 如果你有 10 亿个项目 (item) ,其中只有可见的项目存在内存中,其他的在 Recycler 中。 1. ListView 先请求一个 type1 视图 (getView) 然后请求其他可见的项目。 convertView 在 get ...
这种Context拥有和应用程序一样长的生命周期,并且不依赖Activity的生命周期。如果你打算保存一个长时间的对象, 并且其需要一个 Context,记得使用Application对象。你可以通过调用Context.getApplicationContext()或 Activity.getApplication()轻松得到Application对象。 最近遇到一种情况引起了Context泄漏,就是在Activity销毁时,里面有其他线程没有停。 总结一下避免Context泄漏应该注意的问题: 1.使用Application这种Context类型。 2.注意对Context的引用不要超 ...
在layout文件中,设置IamgeView的最大(最小)高度(宽度)时,需要同时设置android:adjustViewBounds="true",这样设置才会生效。在代码中设置时,需要setAdjustViewBounds为true。一个layout的实例: android:adjustViewBounds="true" android:maxHeight="150.0dip" android:maxWidth="150.0dip" android:minHeight="33 ...
int newHeight = 200; //注意这里,到底是用ViewGroup还是用LinearLayout或者是FrameLayout,主要是看你这个EditTex //控件所在的父控件是啥布局,如果是LinearLayout,那么这里就要改成LinearLayout.LayoutParams ViewGroup.LayoutParams lp = editText.getLayoutParams(); lp.height = newHeight; lp.addRule(Relativ ...
TelephonyManager这个类很有用,可以得到很多关于手机和Sim卡的信息。 直接上注释后的代码,请享用 package net.sunniwell.app; import android.app.Activity; import android.os.Bundle; import android.telephony.CellLocation; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class TelManager ex ...
在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo():   public static void scrollToBottom(final View scroll, final View inner) { Handler mHandler = new Handler(); mHandler.post(new Runnable() { public void run() { if (scroll == null || inner == null) { return; } int offset ...
问题已解决。原因是在混淆代码时默认会去掉class文件中的调试信息(源码的行号、源文件信息等),需要在混淆配置文件中申明保持这些信息: -renamesourcefileattribute SourceFile-keepattributes SourceFile,LineNumberTable
在win xp ,win 7 上使用adb时, 越来越多的人出现了 adb devices 命令长时间无响应、adb start-server 失败、eclipse adt初始化时卡在dbms-init上等现象。 它们的根本原因均在于,adb server所使用的5037号端口被占用。   一种常见的解决方法是: 找出占用5037(我的改为60000)端口的程序,然后杀掉它。 1、关闭eclipse。 2、使用:netstat -aon | findstr "60000"来找到占用5037的进程ID。 3、使用:tasklist /fi "pid ...
简介:在安卓手机中fastboot是一种比recovery更底层的模式。fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式。这种模式是更接近于硬件的界面,所以这个模式一般好似在手机变砖或者修复时使用的。今天就说说fastb ...
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载、缓存、显示图片 ImageLoader:com.novoda.imageloader:异步加载、缓存、显示图片 picasso:com.squareup.picasso:功能强大的图片下载缓存库 PhotoView:uk\co\senab\photoview:支持缩放和各种手势的ImageView ListView JazzyListView:com.twotoasters.jazzylistview:扩 ...
  smack:de.measite.smack:??? ???:org.apache:??? smack:org.jivesoftware.smack:XMPP客户端类库 dnsjava:org.xbill.dns:域名解析 alipay:com.alipay:支付宝 volley:com.android.volley:Android网络通信库 android-query:com.androidquery:异步任务和操作UI元素 baidu:com.baidu:百度地图SDK CC视频:com.bokecc:视频云平台 google-gson:com.g ...

网络别称

  * public static final int NETWORK_TYPE_UNKNOWN = 0; *    * public static final int NETWORK_TYPE_GPRS = 1; G(2.5)    * public static final int NETWORK_TYPE_CDMA = 4; G(2)    * public static final int NETWORK_TYPE_IDEN = 11; G(2)    * public static final int NETWORK_TYPE_EDGE = 2; E(2.75)   * public ...
使用adb访问应用的sqlite数据库:注:手机必须要先root 1、连接android设备2、查找所有设备:adb devices3、选择你要使用的设备:adb -s 设备名称 shell4、输入ls查询该设备根目录下的所有文件5、输入cd data回车 再输入cd data回车 进入data/data/目录,然后输入ls,会报:opendir failed, Permission denied;6、不管它,主要是因为权限不够,这时候使用Linux命令一样,输入 su(root权限)7、输入cd data回车 再输入cd data回车 进入data/data/目录,然后输入ls,这时候出 ...
  说明:对于大数据量的网络操作,Volley的表现会比较糟糕,所有对于下载图片和上传文件之类的,最好不扩展Volley进行上传文件操作。 1,上传客户端到服务端的请求头信息:StringRequest request = new StringRequest(urlValCode, new ValCod ...
Global site tag (gtag.js) - Google Analytics