- 博客(15)
- 资源 (15)
- 收藏
- 关注
原创 Bitmap的相关方法汇总
Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。1.Bitmap的创建通过BitmapFactory创建 //第一种方式:从资源文件中得到图片 Bitmap rawBitmap1 = BitmapFactory.decodeResource(getResources(), R.dra
2015-11-23 23:37:50 694
原创 GestureDetector手势检测器的使用
GestureDetector类中定义了2个接口和一个空实现类,具体看源码:public class GestureDetector { /** * The listener that is used to notify when gestures occur. * If you want to listen for all the different gestur
2015-11-23 13:07:30 852
原创 如何通过代码创建圆角矩形和图片背景选择器
通过xml文件创建shape来实现圆角矩形以及在res/drawable目录下创建图片背景选择器的方式这里就不用介绍,这里主要介绍如何通过代码来生成shape图形,以及生成图片背景选择器.效果图:图片展示的是一个FlowLayout,里面的都是一个个的TextView,TextView的背景shape和选择器就是通过代码动态生成的.1.生成Shape和Selector的工具类:
2015-11-20 21:58:54 1829
原创 如何实现WebView和js页面的交互
WebView默认是不支持js的,要支持js,必须要添加如下设置: WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true);1.如何实现js页面通过WebView调用Android app写好的代码呢?通过webView.addJavascriptInterface(O
2015-11-19 23:50:50 7020 1
原创 如何设置WebView支持js的Alert,Confirm,Prompt函数的弹出提示框.
默认情况下,Android WebView是不支持js的Alert(),Confirm(),Prompt()函数的弹出提示框的.即使设置了setJavaScriptEnabled(true);也是没用的.那么,如何才能让WebView可以支持js的这3个函数呢.可以通过设置WebChromeClient对象来完成.WebChromeClient主要辅助WebView处理Javascript的对话框
2015-11-19 17:53:15 28561 7
原创 线程的等待唤醒机制
( 1 )等待唤醒机制就是用于解决线程间通信的问题的,使用到的3个方法的含义如下:wait:告诉当前线程放弃执行权,并放弃监视器(锁)并进入阻塞状态,直到其他线程持有获得执行权,并持有了相同的监视器(锁)并调用notify为止。notify:唤醒持有同一个监视器(锁)中调用wait的第一个线程,例如,餐馆有空位置后,等候就餐最久的顾客最先入座。注意:被唤醒的线程是进入了可运行状态。等待cpu执...
2015-11-18 17:52:13 6181
原创 自定义RatingBar的背景图片
通过在/res/drawable下创建layer-list可以实现图片的分层效果,同样我们可以根据该特点自定义RatingBar的背景图片.RatingBar有3种背景状态,即:不亮,半亮,全亮.分别可以用3张图片来代替.系统默认的效果图是这样的:是一个大大的图片.占了布局的很大的一块地方.而如果我们要实现下图的效果图的话,就需要自定义背景图了.自定义custom_
2015-11-15 20:15:01 1447
原创 实现对Activity的定时关闭功能
直接上代码:InactivityTimer.class类:/** * Finishes an activity after a period of inactivity. */public final class InactivityTimer { private static final int INACTIVITY_DELAY_SECONDS = 5 * 60;
2015-11-15 14:42:40 3057 1
原创 对BaseAdapter和ViewHolder的封装
项目结构如下:其中MyBaseAdapter和BaseHolder是2个抽象类,分别是对BaseAdapter和ViewHolder的封装.MainActivity为测试类.1.MyBaseAdapter类package com.example.mchenys.mybaseadapterdemo.adapter;import android.view.View;impor
2015-11-15 13:43:56 797
原创 如何解压assets目录下的压缩包文件
/** * 解压目标文件 * @param context * @param destDirName 存放解压文件的目录名,默认路径为data/data/packagename/app_destDirName * @param fileName */ public static void UnZipFile(Context context,
2015-11-03 00:09:05 4706
原创 如何实现跨应用绑定Service的通信
在上一篇博文如何通过AIDL实现跨应用绑定Service的基础上,我们继续实现通过AIDL绑定外部Service后的通信问题.需要实现的效果是,在另一个应用的App2Activity2中的EditText中动态的输入内容,然后点击提交后,把数据传递到目标服务AppService中打印.步骤如下:1.在上一篇博文的aidl接口文件的基础上,我们需要对其进行修改,加多一个方法用于接收一个Stri...
2015-11-02 01:42:08 2265 1
原创 如何通过AIDL实现跨应用绑定Service
实现AIDL实现跨应用绑定Service的大体步骤如下:1.目标Service需要在清单文件中配置exported="true"属性,以允许外部应用访问.2.需要在目标Service所在的工程中创建AIDL文件,它其实就是一个接口,只是没有public权限修饰符;通过Android Studio可以很轻松的使用向导来帮我们自动完成.3.在目标Service的onBind回调方法中需要返
2015-11-02 00:03:25 1828
原创 如何通过隐式意图实现跨应用启动Service
跨应用启动Service需要注意的地方有2点:1.目标service需要声明exported=true 的属性,表示允许其他应用访问该服务.2.android5.0之前是可以通过设置隐式意图来跨应用打开Service的,5.0之后就必须要通过显示意图来开启Service.如何创建跨应用的显示意图呢?通过Intent的setComponent方法,可以传递一个ComponentName对象,...
2015-11-01 23:03:02 9695
原创 如何通过浏览器链接启动本地 Activity
我们都知道打开Activity的方式有2种,即显示意图和隐式意图.那么如何实现通过手机浏览器点击某个链点就能打开手机中已经安装的app呢?通过隐式意图就能实现这个功能.先来看一段html代码: Document a{ font-size: 40px; } 启动AppTerminalActivity代码很简单,就是一个a链接,目的是通过该a链接去
2015-11-01 12:47:58 2204
原创 Android Activity的4种启动模式
相信大家都非常熟悉Activity的启动模式了,不同的人也有不同的理解,特别是面试的时候也会被经常拿来问,今天特意整理了下,以留作纪念.Standard-标准启动模式:该模式也即是默认的启动模式,如果被启动的Activity的启动模式是standard的话,每次启动都会在任务栈中创建新的实例,即创建新的Activity,例如Activity A 启动Activity A,那么任务栈就会存在
2015-11-01 10:54:13 617
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人