- 浏览: 109184 次
- 性别:
- 来自: 广州
-
最新评论
文章列表
通常我们使用的ViewPager实现的左右滑动无法循环滚动,当到达头或尾时,不能继续重头开始,上网搜集了一些资料,找到CycleViewPager可以实现左右循环滚动,实现也比较简单,直接贴代码:
主文件:
package com.vane.widget.test;
import com.example.cycleviewpager.R;
import com.vane.widget.cycleviewpager.CycleViewPager;
import android.app.Activity;
import android.os.Bundle;
import andr ...
BlueTooth
根据官方DOC翻译
(本人英语4级没过,看不懂请自行脑补)
Bluetooth API操作流程:
搜索其他蓝牙设备
查询本地匹配器已经匹配的蓝牙设备
建立RFCOMM通道
通过Service发现并连接其他设备
与其他蓝牙设备进行数据交互
一:创建线程
1.通过Thread类的构造方法创建。
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// do something;
}
});
2.通过实现Runnable接口创建。
public class PageActivity11 extends Activity implements Runnable{
@Override
protected void onCreate(Bundle savedInstan ...
public class DrawableTool {
/**
* Drawable转化为Bitmap
*
* @param drawable
* @return Bitmap
*/
public static Bitmap drawableToBitmap(Drawable drawable) {
// 取 drawable 的长宽
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
// 取 drawable 的颜色格 ...
public class BitmapTool {
/**
* 获得圆角图片
*
* @param bitmap
* @param roundPx
* 圆角参数
* @return 圆角图片
*/
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
Bitmap output = Bitmap ...
在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。在java.lang.ref包中提供了几个类:SoftReference类、WeakReference类和PhantomReference类,它们分别代表软引用、弱引用和虚引用。ReferenceQueue类表示引用队列,它可以和这三种引用类联合使用,以便跟踪Java虚拟 ...
通过软引用实现图片缓存
public class BitmapCache {
static private BitmapCache mCache;
/**
* 用于Chche内容的存储
*/
private Hashtable<Integer, MySoftRef> mHashRefs;
/** 垃圾Reference的队列(所引用的对象已经被回收,则将该引用存入队列中) */
private ReferenceQueue<Bitmap> mReferenceQueue;
/**
* 继承SoftR ...
Android's drawables对编写程序是非常有用的。A Drawable通常是一个与view相关的插件后的画图容器。例如。一个aBitmapDrawable是用来显示图片的,a ShapeDrawable 是用来画图和渐变的等等。你甚至可以通过它还创建负责的渲染。
Drawables允许你不需要继承就可以很容易的定制widgets渲染。事实是,Android的应用程序和widgets 是使用该drawables对象的,在android的核心框架中大约有700个drawables被使用。正式以为他是如此广泛的被使用,Android对它进行了优化。例如,每一次你创建一个按钮时, ...
(1)基本原则:如果要操作少量的数据,用String ;单线程操作大量数据,用StringBuilder ;多线程操作大量数据,用StringBuffer。
(2)不要使用String类的"+"来进行频繁的拼接,因为那样的性能极差的,应该使用StringBuffer或StringBuilder类,这在Java的优化上是一条比较重要的原则。
(3)为了获得更好的性能,在构造 StirngBuffer 或 StirngBuilder 时应尽可能指定它们的容量。当然,如果你操作的字符串长度(length)不超过 16 个字符就不用了,当不指定容量(capacity)时默认构造 ...
问题描述:Android如何调用第三方SO库;已知条件:SO库为Android版本连接库(*.so文件),并提供了详细的接口说明;已了解解决方案:1.将SO文件直接放到libs/armeabi下,然后代码中System.loadLibrary("xxx");再public native static in ...
ImageView.ScaleType / android:scaleType值的意义区别:
CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度 ...
centerInside表示按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度。
注意:控制的图片为资源而不是背景,即android:src="@drawable/logo",而非android:background="@drawable/logo"
附:更详细的scaleType说明:
androi ...
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。
1) 要及时回收Bitmap的内存
Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Android系统有自己的垃圾回收机制,可以不定期的回收掉不使用的内存空间,当然也包括Bitmap的空间。那为什么还需要这个方法呢?Bitmap类的构造方法都是私有的,所以开发者不能直接new出一个Bitm ...
/**获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后
* post给远程服务器
* 将获得的返回结果(String)返回给调用者
* 本函数适用于查询数量较少的时候
* Chen.Zhidong
* 2011-02-15
*/
public String posturl(ArrayList<NameValuePair>
nameValuePairs,String url){
String result = "&qu ...
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
/**
*
* @author Andy.Chen
* @mail Chenjunjun.ZJ@gmail.com
*
*/
public class InputStreamUtils {
final static int BUFFER_SIZE = 4096;
/**
* ...