随笔分类 -  Android

安卓开发
让多个Fragment 切换时不重新实例化
摘要:在项目中需要进行Fragment的切换,一直都是用replace()方法来替换Fragment:123456789 public void switchContent(Fragment fragment) { if(mContent != fragment) { ... 阅读全文

posted @ 2014-12-02 16:29 veins 阅读(615) 评论(0) 推荐(0)

经验解决Fragment 被 Replace后仍旧可见的问题
摘要:网上问的问题,大多会提到替换了Fragment而发现之前被替换的仍旧显示在那里。我个人使用android 2.3 +support 开发包,在2.3系统上也出现类似问题。搜了下网上的问题,好像都没有找到解决方法。之后自己摸索。最后发现其实,对于Fragment的替换 JAVA代码基本上没啥,网上都是... 阅读全文

posted @ 2014-12-02 16:28 veins 阅读(336) 评论(1) 推荐(1)

Android中Parcelable接口用法
摘要:1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must ... 阅读全文

posted @ 2014-11-28 15:28 veins 阅读(182) 评论(0) 推荐(0)

android PackageInstaller那点事儿
摘要:今天简单讲解一下PackageInstaller 文件路径: packages/apps/PackageInstaller frameworks/base/core/java/android/content/pm&res 下面开始讲解: 首先,我们说一下安装apk的几种方式,整体上可以分为2类,一类... 阅读全文

posted @ 2014-11-28 13:49 veins 阅读(710) 评论(0) 推荐(0)

Java(Android)线程池
摘要:介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?Java1234567new Thread(new Runnable() {@Overr... 阅读全文

posted @ 2014-11-20 10:35 veins 阅读(141) 评论(0) 推荐(0)

ArrayList和LinkedList的几种循环遍历方式及性能对比分析
摘要:主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论。通过本文你可以了解(1)List的五种遍历方式及各自性能 (2)foreach及Iterator的实现 (3)加深对... 阅读全文

posted @ 2014-11-20 09:58 veins 阅读(392) 评论(0) 推荐(0)

HashMap循环遍历方式及其性能对比
摘要:主要介绍HashMap的四种循环遍历方式,各种方式的性能测试对比,根据HashMap的源码实现分析性能结果,总结结论。1. Map的四种遍历方式下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论。(1) for each map.entrySet()Java1... 阅读全文

posted @ 2014-11-20 09:47 veins 阅读(172) 评论(0) 推荐(0)

【Android性能优化】 使用SparseIntArray替换HashMap
摘要:SparseIntArrays map integers to integers. Unlike a normal array of integers, there can be gaps in the indices. It is intended to be more memory effici... 阅读全文

posted @ 2014-11-19 10:59 veins 阅读(448) 评论(0) 推荐(0)

动态设置ImageView的宽高以及位置
摘要:如何动态设置ImageView的宽高以及位置package com.pic;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.ViewGroup.Layou... 阅读全文

posted @ 2014-11-17 11:34 veins 阅读(1181) 评论(0) 推荐(0)

Android-在XML和Java代码中设置背景在不同状态的效果: <selector>/StateListDrawable
摘要:It's true that if you override the default state you also have to override the pressed and focused states. The reason is that the default android draw... 阅读全文

posted @ 2014-11-12 09:59 veins 阅读(367) 评论(0) 推荐(0)

URLEncoder.encode、URLDecoder.decode、escape、encodeURI、encodeURIComponent
摘要:escape()方法采 用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符 在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20,如果是中文,则使用unicode编码格式如 %ux... 阅读全文

posted @ 2014-11-08 19:16 veins 阅读(498) 评论(0) 推荐(0)

getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
摘要:getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density如果是px,则不乘。并且getDimension返回float,getDimensionPixelOffset返回int.而getDi... 阅读全文

posted @ 2014-11-07 14:00 veins 阅读(426) 评论(0) 推荐(0)

Android获取屏幕分辨率及DisplayMetrics简介
摘要:Android可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。手机的分辨率信息是手机的一项重要信息,很好的是,Android已经提供DisplayMetircs类可以很方便的获取分辨率。下面简要介绍DisplayMetics类:... 阅读全文

posted @ 2014-11-06 15:33 veins 阅读(243) 评论(0) 推荐(0)

细说Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
摘要:本文背景:前些天用到了之前写的自定义图片文字复合控件,在给他设置监听时遇到了麻烦。虽然最后解决了问题,但发现在不重写LinearLayout的onInterceptTouchEvent时,子ImageView、子TextView、父Linearlayout三者不同的属性配置(android:clic... 阅读全文

posted @ 2014-11-05 09:48 veins 阅读(595) 评论(0) 推荐(0)

Android - HorizontalScrollView(ViewPager) within ScrollView Touch Handling
摘要:1.public class CustomScrollView extends ScrollView { private GestureDetector mGestureDetector; View.OnTouchListener mGestureListener; public ... 阅读全文

posted @ 2014-11-04 10:14 veins 阅读(239) 评论(0) 推荐(0)

Android坐标
摘要:说来说去都不如 画图示意 简单易懂啊!!!真是的! 来吧~~先上张图~~!(一)首先明确一下android 中的坐标系统:屏幕的左上角是坐标系统原点(0,0)原点向右延伸是X轴正方向,原点向下延伸是Y轴正方向(二)关于Scroll: 屏幕显示的内容很多时,会有超出一屏的情况,于是就产生了Scroll... 阅读全文

posted @ 2014-11-03 20:34 veins 阅读(332) 评论(0) 推荐(0)

Android Sqlite IN, NOT IN syntax --- not int (?)
摘要:处理where column_name not in (?):如果后面是一串字符或数字组合时,不可以直接用(?)来处理,而应该将这些字符组合直接作为条件字符串的一部分。1. where column_name not in ('name1','name2')2.db.query(TABLE, new... 阅读全文

posted @ 2014-10-25 16:53 veins 阅读(722) 评论(0) 推荐(0)

TextView with SingleLine as true and Gravity as Center not passing the events to the ViewPager if it has a Click Event
摘要:android:singleLine="true"forcesandroid:scrollHorizontallyto be set to true, and according to my tests only if you changeandroid:gravity(i.e. default g... 阅读全文

posted @ 2014-10-24 10:17 veins 阅读(236) 评论(0) 推荐(0)

Android 开发中使用 SQLite 数据库
摘要:SQLite 介绍SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以... 阅读全文

posted @ 2014-10-10 10:02 veins 阅读(161) 评论(0) 推荐(0)

Android-计算两个日期之间间隔的天数
摘要:要计算两个日期之间间隔的天数,必须把两个日期转换成统一的时间戳,然后计算其毫秒差,再将毫秒差转换成天数。System.out.print("开始时间:"); String str1 = beginTime; // "yyyyMMdd"格式 如 20131022 ... 阅读全文

posted @ 2014-10-03 10:54 veins 阅读(2792) 评论(0) 推荐(1)

导航