Android
文章平均质量分 51
清风飞阳
这个作者很懒,什么都没留下…
展开
-
Android的httpGet方法的参数字符串
查询参数部分不自己一个个拼接成字符串,而是如同post一样传入储存参数用的bean对象,反射获取属性名和值,从而得到List ,然后用URLEncodedUtils格式化成查询参数字符串queryString,拼在url后边。这里url地址是不能包括查询参数的。if (bean != null){String queryString = URLEncodedUtils.format(g原创 2015-07-07 16:38:49 · 887 阅读 · 0 评论 -
关于TextView的setText()与Integer之间一个易犯的小错误
先上图:因为TextView有两个不同的重载函数,而且其中一个重载函数参数为int型的,但这个参数是Resource id,所以如果你想往setText中放入int或者Integer的引用(非资源引用)时,应先把它转成String。例如:Integer score = 123;scoreTextView.setText(score); 这是错误的转载 2014-12-23 19:12:52 · 591 阅读 · 0 评论 -
禁用ListView中某些item的点击事件
禁用ListView中某些item的点击事件,需要重写BaseAdapter的两个方法——areAllItemsEnabled和isEnabled原创 2015-01-13 13:36:46 · 3821 阅读 · 0 评论 -
android屏幕适配建议
http://www.cnblogs.com/zhaojianhua/p/3653853.html一、关于布局适配1、不要使用绝对布局2、尽量使用match_parent 而不是fill_parent 。3、能够使用权重的地方尽量使用权重(android:layout_weight)4、如果是纯色背景,尽量使用android的shape 自定义。转载 2015-01-26 16:15:19 · 506 阅读 · 0 评论 -
android——开启intel虚拟机
1,去BIOS看看,保证Intel Virtual Technology是打开的2,去android-sdk-windows\extras\intel\Hardware_Accelerated_Execution_Manager目录下安装intelhaxm-android.exe原创 2014-12-16 19:08:53 · 707 阅读 · 0 评论 -
ListView有Header时的position情况
首先addHeaderView必须得在setAdapter之前被调用。原创 2014-07-11 10:47:37 · 5096 阅读 · 0 评论 -
插件化加载未安装APK
安装apk,通过动态加载dex包中的类,也属于通过反射的方式来然后手动的创建Activity。注意:这种方式跟系统创建的Activity是不一样的,没有系统创建的Activity的特性。而且R也找不到(也就是说无法通过layout来画UI).而且运行的并不是Apk中的Activity, 也就是说它已经没有了Android中Activity的特性,它只是在主程序中Act原创 2014-08-28 17:14:49 · 694 阅读 · 0 评论 -
ActionBar、ViewPager、Fragment的结合实现ActionBar下的标签页切换
final ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);原创 2014-09-15 23:59:30 · 832 阅读 · 0 评论 -
设置文件下载路径时对存储空间是否充足的判断
如果外置SD卡有空间,原创 2014-08-27 16:43:41 · 1193 阅读 · 0 评论 -
android通过反射获取内置外置存储器列表
通过(StorageManager) getSystemService(Context.STORAGE_SERVICE); 得到StorageManager反射调用它的原创 2014-08-27 11:55:19 · 877 阅读 · 0 评论 -
【译】UNIVERSAL IMAGE LOADER.PART 2---ImageLoaderConfiguration详解
ImageLoader类中包含了所有操作。他是一个单例,为了获取它的一个单一实例,你需要调用getInstance()方法。在使用ImageLoader来显示图片之前,你需要初始化它的配置-ImageLoaderConfiguration使用init(…)方法。然后,你就可以使用可以明确地根据需要使用不同形式的displayImage(…)。总之,ImageLoader最简单的用法如下所示(使转载 2014-12-15 17:22:08 · 389 阅读 · 0 评论 -
获取view的高和宽
在有些地方,如onCreate或者listAdapter的getView里,view未绘制,那么无法通过调用getHeight或者getHeight来获取view的尺寸。view在显示之前需要经过measure和requestLayout的步骤,也就是在显示前需要被测量。因此可以通过如下方法来获得view尺寸: public static int getWidth(View v){原创 2015-01-26 16:30:11 · 493 阅读 · 0 评论 -
Android APP异常处理
android app的异常处理原创 2016-12-28 22:57:17 · 9825 阅读 · 1 评论 -
RxJava合并Observable——merge和mergeDelayError操作符
merge和mergeDelayError操作符的区别以及mergeDelayError在指定线程上的坑原创 2016-09-12 18:47:47 · 7172 阅读 · 2 评论 -
关于Android方法数量限制的问题
限制Android程序方法数量的原因和解决方法原创 2016-05-06 15:56:43 · 11021 阅读 · 2 评论 -
ListView的优化:convertView + viewHolder
1,convertView的重用可以减少inflate2,viewHolder可以减少findViewById3,如果存在多个item的类型,由于ListView存在对convertView的重用,可能导致不同的item类型使用同一个convertView,也就是说view和item的数据可能不匹配,因此,需要给把viewType绑定到convertView上,然后在getView之初通过原创 2015-02-05 12:15:33 · 792 阅读 · 0 评论 -
ListView的item内的子view的点击
定义接口描述在位于列表的position位置的item里点击子view的方法public interface OnItemClickViewInsideListener{/** * @param position 列表项在列表中的位置 * @param item 列表项的数据 * @param view 列表项被点击的子视图 */public void onItemClickVi原创 2015-06-25 15:40:10 · 981 阅读 · 0 评论 -
android:layout_weight为0
android:layout_weight是view所占空间的权重。0.0是比较特别的表示,表明必须占据所需的空间,不参与空间的分割。如果在中one和three都是0.0(即上下控件都是0.0),系统为他们预留了最上和最下的位置,而two占据了1,表明剩余参与分配的空间,由于剩余只有two1个控件,全部给了two。0.0是很有用的方式,例如能够确保listview最下方留下1button的空间,不转载 2015-05-30 15:47:53 · 560 阅读 · 0 评论 -
Android的Service
生命周期如图所示一,startService1,onStartCommand的返回值问题START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没转载 2015-03-25 12:26:50 · 469 阅读 · 0 评论 -
initLoader和restartLoader的区别
To answer this question you need to dig into the LoaderManager code. While the documentation for LoaderManager itself isn't clear enough (or there wouldn't be this question), the documentation for Loa转载 2015-02-05 12:17:32 · 2286 阅读 · 0 评论 -
如何判断是否为第三方软件
mContext.getPackageManager().getInstalledPackages(参数)得到所有安装软件列表然后根据转载 2015-02-05 11:18:28 · 1186 阅读 · 0 评论 -
(四次元新浪微博源代码学习笔记4)实现单例模式
私有对象instance通过getInstance取出,保证instance只初始化一次。一,多线程同步锁Weiciyuan0.50的TimeLineBitmapDownloader代码采用了这种写法。public class TimeLineBitmapDownloader { private static final Object lock = new Ob原创 2015-02-05 11:24:58 · 812 阅读 · 1 评论 -
Android 界面适配笔记
ldpi:mdpi:hdpi:xhdpi=120:160:240:320=3:4:6:8UIqi原创 2014-08-22 10:46:09 · 1496 阅读 · 1 评论 -
观察者模式
private List mEventObserver = new LinkedList(); public void registerEventObserver(EventObserver ob) { synchronized (mEventObserver) { if (!mEventObserver.contains(ob)) {原创 2014-08-22 15:29:39 · 643 阅读 · 0 评论 -
Android中View绘制流程以及invalidate()等相关方法分析
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为根据之前设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘(draw),其框架过程如下:步骤其实为host.layout()接下来温习一下整个View树的结构,对每个具转载 2014-06-05 15:14:25 · 626 阅读 · 0 评论 -
padding和margin
padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了转载 2014-06-05 13:47:46 · 568 阅读 · 0 评论 -
(四次元新浪微博源代码学习笔记0)导入源代码
一,eclipse1,解决android-support-v4.jar冲突,slidingmenulibrary库项目里面的android-support-v4.jar文件版本太老,你可以把weiciyuan项目libs目录里面的拷贝到slidingmenulibrary项目的libs目录里。原创 2014-05-23 00:55:21 · 3078 阅读 · 4 评论 -
android中ImageView的ScaleType属性
android中ImageView的ScaleType属性 ScaleType的值分别代表的意义: ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值 ScaleType.CENTER::图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居转载 2014-06-05 13:38:24 · 508 阅读 · 0 评论 -
android 状态栏、标题栏、屏幕高度
1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。 于是,我们就可以算出状态栏的高度了。 Java代码 Rect frame = new Rec转载 2014-06-04 18:34:43 · 544 阅读 · 0 评论 -
GestureDetector
当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等。一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触摸的轨迹转载 2014-06-04 11:49:17 · 436 阅读 · 0 评论 -
getSystemService
getSystemService()是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。 传入的Name 返回的对象 说明WINDOW_SERVICE WindowManager 管理打开的窗口程序LAYOUT_INFL转载 2014-06-04 14:20:37 · 452 阅读 · 0 评论 -
Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示. 首先介绍一个重要方法那就是requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性。参数是Window类转载 2014-06-04 09:55:06 · 586 阅读 · 0 评论 -
Android android.text.format文件大小和日期解析类
Android android.text.format文件大小和日期解析类很多网友可能直接将自己的J2ME项目生硬的移植到Android平台,其实Google为我们提供好了文件大小和时间日期解析类,它位于android.text.format这个包中,它提供了强大的标准化解析方法: 1. IP地址解析类 在android.text.format.Formatter转载 2014-06-25 11:26:28 · 1177 阅读 · 0 评论 -
(四次元新浪微博源代码学习笔记1)全局变量Application
public final class GlobalContext extends Application {}final声明该类不可被继承原创 2014-05-23 15:24:48 · 1381 阅读 · 0 评论 -
Context提供了一些有关文件的方法
Context提供了一些有关文件的方法。public File getDir(String name, int mode):name目录名称、mode权限,如果传入的目录不存在,系统会创建此目录,路径为"/data/data/程序Package Name/app_name",name就是传入的name。public File getFileStreamPath(String nam转载 2014-08-06 17:51:41 · 755 阅读 · 0 评论 -
Android隐藏输入法软键盘的一些说明
刚刚在写一个仿微信的Android聊天软件,在编写的过程中,发现一个严重的BUG---当用户点击输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法关闭. 于是我才上网找了一些关于Android如何隐藏输入法的网页看了一下.发现普遍的方法如下:((InputMethodManager)getSystemService(Conte转载 2014-06-19 14:00:56 · 626 阅读 · 0 评论 -
自定义SearchView
自定义SearchViewhttp://www.xuebuyuan.com/549414.html1. 基本原理:SearchView是android中一个搜索框组件,它不是一个单独的view,而是一个LinearLayout布局,包括表示Search图标和清除图标等其它图标的imageView、具有下拉建议列表的AutoCompleteTextVi转载 2014-06-19 13:37:33 · 1175 阅读 · 0 评论 -
Android 图片加载Bit地图 OOM异常解决方法
Android 图片加载Bitmap OOM错误解决办法Android加载资源图片时,很容易出现OOM的错误。因为Android系统对内存有一个限制,如果超出该限制,就会出现OOM。为了避免这个问题,需要在加载资源时尽量考虑如何节约内存,尽快释放资源等等。Android系统版本对图片加载,回收的影响:1,在Android 2.3以及之后,采用的是并发回收机制,避免在回收内存时的转载 2014-07-04 16:05:54 · 569 阅读 · 0 评论 -
FragmentTransaction add() hide() detach() show()
使用add()加入fragment时将触发onAttach(),使用attach()不会触发onAttach()使用replace()替换后会将之前的fragment的view从viewtree中删除触发顺序:detach()->onPause()->onStop()->onDestroyView()attach()->onCreateView()->onActivityCre转载 2014-07-21 11:09:58 · 772 阅读 · 0 评论 -
MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序
onInterceptTouchEvent()用于处理事件并改变事件的传递方向。处理事件这个不用说了,你在函数内部编写代码处理就可以了。而决定传递方向的是返回值,返回为false时事件会传递给子控件的onInterceptTouchEvent();返回值为true时事件会传递给当前控件的onTouchEvent(),而不在传递给子控件,这就是所谓的Intercept(截断)。onTouch转载 2014-06-04 18:30:01 · 528 阅读 · 0 评论