
Android笔记
文章平均质量分 68
freeboy21
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于界面布局的一些小知识
android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性, android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部。 android:layout_gravity: 这个是针对控件本身而言,用来控制该控件在...原创 2014-03-13 14:39:13 · 141 阅读 · 0 评论 -
关于强、弱、软、虚引用
在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。在java.lang.ref包中提供了几个类:SoftReferenc...原创 2015-05-08 16:36:59 · 169 阅读 · 0 评论 -
Bitmap常用图片处理方法
public class BitmapTool { /** * 获得圆角图片 * * @param bitmap * @param roundPx * 圆角参数 * @return 圆角图片 */ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, fl...原创 2015-05-08 17:39:54 · 174 阅读 · 0 评论 -
Drawable常用处理方法
public class DrawableTool { /** * Drawable转化为Bitmap * * @param drawable * @return Bitmap */ public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的长宽 in...原创 2015-05-08 17:40:40 · 305 阅读 · 0 评论 -
线程及消息传递机制
一:创建线程 1.通过Thread类的构造方法创建。 Thread thread = new Thread(new Runnable() { @Override public void run() { // do something; } }); 2.通过实现Runnable接口创建。 public class PageActivity...原创 2015-05-09 10:41:04 · 879 阅读 · 0 评论 -
Android打包和debug签名
Android打包和debug签名 1:关于release和debug版本 开发过程中直接Run,在bin文件下生成基于debug模式的.apk文件,也就是调试版本的安装文件,调试版本的执行文件比较大,运行速度也相对较慢。而release版本,也就是正式发行版,需要进行打包后,重新生成release版本的.apk文件,用于交付。 2:Android打包 ...原创 2016-04-14 13:00:48 · 587 阅读 · 0 评论 -
Bluetooth
BlueTooth 根据官方DOC翻译 (本人英语4级没过,看不懂请自行脑补) Bluetooth API操作流程: 搜索其他蓝牙设备 查询本地匹配器已经匹配的蓝牙设备 建立RFCOMM通道 通过Service发现并连接其他设备 与其他蓝牙设备进行数据交互 管理多个连接 Permission: android.permission.BLUETOOTH:Allo...原创 2015-06-10 10:34:13 · 255 阅读 · 0 评论 -
如何将Eclipse中的项目迁移到Android Studio中
英文地址:http://developer.android.com/sdk/installing/migrate.html 翻译:Android Studio 中文组(大锤译) 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件。因为Android Studio 是用...原创 2016-07-08 14:10:59 · 212 阅读 · 0 评论 -
如何引入第三方jar包(以google play service为例)
原文地址:http://forum.xda-developers.com/showthread.php?t=2421186 翻译:Android Studio 中文组(大锤译) 在Android Studio(AS)的开发中,遇到引入外部类库或第三方jar包的情况,确实是件很恼人的事情。因为AS是基于Gradle构建,所以和传统的导入方式有些不一样。 笔者也曾为此头疼...原创 2016-07-08 14:18:58 · 431 阅读 · 0 评论 -
Android如何调用第三方SO库
问题描述:Android如何调用第三方SO库;已知条件:SO库为Android版本连接库(*.so文件),并提供了详细的接口说明;已了解解决方案:1.将SO文件直接放到libs/armeabi下,然后代码中System.loadLibrary("xxx");再public native static int xxx_xxx_xxx();接下来就可以直接调用xxx_xxx_xxx()方法;2.第...原创 2014-10-20 10:21:28 · 164 阅读 · 0 评论 -
循环滚动ViewPager
通常我们使用的ViewPager实现的左右滑动无法循环滚动,当到达头或尾时,不能继续重头开始,上网搜集了一些资料,找到CycleViewPager可以实现左右循环滚动,实现也比较简单,直接贴代码: 主文件: package com.vane.widget.test; import com.example.cycleviewpager.R; import com.vane.widget...原创 2016-01-29 14:27:38 · 153 阅读 · 0 评论 -
通过软引用实现图片缓存
通过软引用实现图片缓存 public class BitmapCache { static private BitmapCache mCache; /** * 用于Chche内容的存储 */ private Hashtable<Integer, MySoftRef> mHashRefs; /** 垃圾Reference的队列(所引...原创 2015-05-08 16:29:46 · 248 阅读 · 0 评论 -
Drawable Mutations(Android Drawable 深入分析)
Android's drawables对编写程序是非常有用的。A Drawable通常是一个与view相关的插件后的画图容器。例如。一个aBitmapDrawable是用来显示图片的,a ShapeDrawable 是用来画图和渐变的等等。你甚至可以通过它还创建负责的渲染。 Drawables允许你不需要继承就可以很容易的定制widgets渲染。事实是,Android的应用程序和wid...原创 2015-05-07 18:08:18 · 146 阅读 · 0 评论 -
关于ImageView的一些图片属性
centerInside表示按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度。 注意:控制的图片为资源而不是背景,即android:src="@drawable/logo",而非android:background="@drawable/logo" 附:更详细的scaleType说明: android:scaleType是控制图片如何resized/moved来匹对Imag...原创 2014-04-21 17:21:07 · 145 阅读 · 0 评论 -
DecimalFormat的主要功能及使用方法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。 DecimalF...原创 2014-03-18 15:07:22 · 125 阅读 · 0 评论 -
android:TableLayout表格布局详解
Tablelayout简介 Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。 当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。 当为View时,该View将独占一行。 TableLayout行列数的确定 TableLayout的行数由开发人员直接指定,即有多少个TableR...原创 2014-03-19 17:10:48 · 150 阅读 · 0 评论 -
关于Android屏幕密度与分辨率
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); //获取像素 int widthPixels= dm.widthPixels; int heightPixels= dm.heightPixels; float density = dm.de...原创 2014-03-20 15:12:06 · 160 阅读 · 0 评论 -
关于Android视频播放的一些事
使用SurfaceView或VideoView播放视频,如果设置background图片,需要setZOrderOnTop(true);否则会挡住视频 SurfaceView的大小必须在surfaceCreated设置 在Android中,我们有三种方式来实现视频的播放: 1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其M...原创 2014-04-01 10:38:14 · 1388 阅读 · 0 评论 -
Android Adapter详解
Adapter是用来帮助填充数据的中间桥梁,比如通过它将数据填充到ListView, GridView, Gallery.而android 提供了几种Adapter:ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter,...原创 2014-04-01 16:15:17 · 172 阅读 · 0 评论 -
android:scaleType属性
ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽) CENTER_INSIDE / center...原创 2014-09-01 11:03:39 · 119 阅读 · 0 评论 -
Android InputStream与String,Byte之间互转
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; /** * * @author Andy.Chen * @mail Chenjunjun.ZJ@gmail.c...原创 2014-04-08 14:08:39 · 239 阅读 · 0 评论 -
Android 三种获取页面数据方法
/**获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后 * post给远程服务器 * 将获得的返回结果(String)返回给调用者 * 本函数适用于查询数量较少的时候 * Chen.Zhidong * 2011-02-15 */ public String po...原创 2014-04-08 14:32:13 · 1606 阅读 · 1 评论 -
String,StringBuilder,StringBuffer
(1)基本原则:如果要操作少量的数据,用String ;单线程操作大量数据,用StringBuilder ;多线程操作大量数据,用StringBuffer。 (2)不要使用String类的"+"来进行频繁的拼接,因为那样的性能极差的,应该使用StringBuffer或StringBuilder类,这在Java的优化上是一条比较重要的原则。 (3)为了获得更好的性能,在构造 StirngBuf...原创 2015-03-25 15:24:58 · 174 阅读 · 0 评论 -
Android 对Bitmap的内存优化
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。 1) 要及时回收Bitmap的内存 Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,An...原创 2014-04-10 16:52:14 · 116 阅读 · 0 评论 -
android 事件处理机制总结
onTouchEvent的传递 当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEvent,如果View的onTouchEvent接收到某个touch action并作了相应处理,最后有两种返回方式return true和return false;return true会告...原创 2016-03-15 15:09:37 · 213 阅读 · 0 评论