自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 69.补间动画和属性动画

补间动画:动画由最初始的形态向最终的状态变化的过程中,为了让渐变的过程更加自然,而生成的动画

2017-02-23 01:32:02 644

原创 68.帧动画

帧动画:多张图片快速切换需要在drawable文件夹中定义 res/drawable下面创建一个animation-list节点的frame_animation.xml文件,android:oneshot="true"表示只播放一次,false表示可以循环播放。图片资源还是放置在drawable-hdpi文件夹中范例:activity_main.xml<RelativeLa...

2017-02-23 01:16:31 659

原创 67.android布局-Fragment与Activity之间传递数据

实现activity_main.xml把数据传到fragment1.xml中,同时fragment2.xml把数据传到activity_main.xml中activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://s...

2017-02-23 00:57:03 674

原创 66.android布局-Fragment

Fragment是andrid3.0以后出现的特性,对应API的最低的版本号是11<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17" />Fragment的生命周期方法,切换fragment的时候是先销毁destroy()再创建新的,fragment是和activ...

2017-02-22 23:13:20 688

原创 65.内容观察者

内容观察者是观察内容提供者状态变化的,根据内容提供者的不同内容观察者分为了,观察系统的内容提供者和自定义的内容提供者观察系统的内容提供者package com.ldw.contentObserve;import android.app.Activity;import android.content.ContentResolver;import android.database.Co

2017-02-22 02:05:02 830

原创 64.内容提供者ContentProvider--获取系统的联系人,插入联系人

系统的联系人在data/data文件夹的com.android.providers.contacts包的contacts2.db文件中,了解系统的联系人需要3个数据库raw_contacts表:每一个联系人都有一条数据,contact_id:联系人id和display_name:联系人的名字,例如下面有3个联系人,姓名分别在下面圈中所示data表:存放联系人的详细信息,每一行存放一个联...

2017-02-22 00:09:50 1694

原创 63.内容提供者ContentProvider--系统内容提供者(获取短信)

查看短信需要使用系统提供的内容提供者,短信的数据库在com.android.providers.telephony下datebase目录下的mmssms.db中,如下sms表:body:短信内容date:短信时间address:对方的号码type:发送还是接收案例1:获取短信并备份读取短信需要权限<uses-permission android:name="...

2017-02-21 01:15:07 1280

原创 62.内容提供者ContentProvider--使用Uri访问数据库表

上一部分提到是访问的固定的数据库的表,对固定点的表进行编辑,但大多数情况是需要对多个表进行操作,因此需要对上一个文章的内容进行改进,从而支持访问多个数据库表。上一部分的编辑数据库表的代码在MainActivity.java中,编辑数据库表是通过Uri进行访问和编辑的,但是如果要访问某一个表的时候可以按照下面的方法写。参数的含义是前面的部分是Uri路径,拿到内容提供者,后面一个/再跟上表名作为参...

2017-02-21 00:14:04 2065

原创 61.内容提供者ContentProvider--模拟增删改查

ContentProvider安卓四大组件之一作用:把私有数据暴露给其他的应用,通常把私有数据库的数据暴露给其他的应用。安卓代码模拟执行某一个方法:创建一个class文件Test.java继承来自android.test.AndroidTestCase。然后在清单文件里面添加配置项,androdi:name的配置是固定的,包名就是package,user-libiary的名字也是固...

2017-02-19 16:36:32 1272

原创 60.拍照和摄像

activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android...

2017-02-18 19:37:55 684

原创 59.Vitamio框架的使用

FFMPEG:开源的音频解码器Vitamio:封装了FFMPEG的视频播放框架,对外提供的api全部是javaApi关联类库:首先导入vitamio项目,然后关联vitamio右键--properties--android--add--在创建的项目VideoView不导入原生的,而是导入:import io.vov.vitamio.widget.VideoView;

2017-02-18 18:54:41 715

原创 58.视频播放器

使用SurfaceView,游戏或者视频的画面使用在SurfaceView,其他的时候很少使用这个SurfaceView:具有双缓冲技术,适用于实时刷新较高的场景,比如游戏和视频。重量级组件,占用资源较多,只要不可见就不会创建,可见的时候才会创建。只要可见就会创建,只要不可见的时候就会销毁activity_main.xml<RelativeLayout xmlns:andr

2017-02-18 18:08:29 1815

原创 57.音乐播放器的进度条

给音乐播放器添加进度条:SeekBar:除了反应播放进度,还可以拖动ProgressBar:只能显示当前的进度,不能进行拖动编辑自动改变进度条音乐播放器通过下面的方法来获取进度条的总时间和当前播放的时间,为了防止阻塞主线程,通过Timer来在子线程中实现,再在主线程中刷新UI。获取进度条的状态,同时通过Message把数据发送到主线程里面进行刷新,这里面使用bundle封装逐句...

2017-02-18 01:57:04 5207

原创 56.利用service编写音乐播放器

实现音乐播放器的开始,暂停,继续播放和停止。音乐播放器需要后台可以播放,在服务中实现音乐播放器的相关方法,在activity里面实现调用服务里面的方法,需要创建中间人对象。音乐播放器关闭的时候需要解绑服务,关闭服务,同时也需要释放掉音乐播放器占用的资源解绑和关闭服务 //退出 public void quit(View v){ unbindService(co...

2017-02-18 01:05:17 1260

原创 54.模拟画板

在定义的区间中可以作画,进行编辑,有简单的特效:颜色,字体刷,同时可以保存在本地需要添加sd卡写权限&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt;保存图片的时候:sd卡每次遍历sd卡所有的文件,系统会把所有的多媒体文件,都在MediaStore数据库中生一个索引,数...

2017-02-16 01:17:59 1214

原创 53.创建图像副本

编辑图片之前,通常会创建一个图片的副本,来进行编辑,防止放弃编辑的时候图片被更改,把原图保存下来。activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" an

2017-02-16 00:48:29 1047

原创 52.多媒体编程-解析像素过大的图片

多媒体编程:文本,图片,音频,视频图片:*图片在计算机中的大小*图片的总大小=图片的总像素*每个像素占用的大小单色位图:只能表示2种颜色,使用2个数字:0和1,使用一个长度的二进制就可以表示了,每个像素占用1/8字节16色位图:能表示16种颜色,需要16个数字:0-15,0000-1111,使用4个长度的二进制表示,每个数字占用1/2256色图:能表示256种颜色,需要25

2017-02-13 23:20:10 976

原创 51.样式和主题

样式:应用于各个布局文件UI的子节点主题应用于应用程序和活动节点定义统一的样式:在RES值目录下,风格文件下编辑,创建你想要同意设置的样式,风格的名称是自己定义的,样式设置的的格式是在的&lt;item&gt; &lt;/项目&gt;里面申明统一的样式 &lt;style name="Type1"&gt; &lt;item name="android:lay...

2017-02-13 01:23:59 873

原创 50.android服务service-AIDL示例

app2调用app1的服务里面的方法app1:清单文件 payService.javapackage com.ldw.alipay;import android.app.Service;import android.content.Intent;impo

2017-02-12 22:31:01 841

原创 49.android利用AIDL通信

AIDL:Android的接口定义语言,接口定义语言,顾名思义,就是定义接口的语言,即利用AIDL可以定义接口。AIDL简单地说就是进程间通信的方法,类似于Java的的中的RMI,主要用来进程之间通信的;1.把远程服务的方法抽取成一个单独的接口的Java的文件2.把接口的Java的文件的后缀名改成AIDL3.在自动生成的publicbusiness.java文件中,有一个静态类抽象...

2017-02-12 17:59:04 1034

原创 48.android服务service-启动远程服务

服务的分类本地服务:指服务和启动服务的activity在同一个进程中(显示启动)远程服务:指服务和启动服务的activity不在同一个进程中app1:清单文件 remoteService.javapackage com.ldw.remoteService

2017-02-12 16:59:36 1641

原创 47.android服务service-代码注册广播接收者

广播可以在代码中注册使用代码注册广播接收者1.使用清单文件配置:广播一旦发出,系统会去所有的清单文件中寻找,哪一个广播接收者的action和广播的action是匹配的,如果找到了,就把广播接收者的进程启动启动起来,2.使用代码注册:需要使用广播接收者时,执行注册的代码,不需要的时候,执行解除注册的代码。特殊的广播接收者安卓中有一些广播接收者,必须使用代码注册,清单文件注册是无效...

2017-02-12 16:13:09 2957

原创 javascript闭包

什么是闭包?闭包(closure)function a(){ var i=0; function b(){ alert(++i); } return b;}var c=a();c();闭包就是属性和函数的外调,外界想通过某种技术手段访问函数里面的变量或者方法,得到变量作用域的延续,延续当前变量的生命周期,变量和函数不会被GC回收。闭包的作用就是在a执行完并返回后,闭包使

2017-02-12 14:46:41 929

原创 46.android开启服务,调用服务里面的方法

开启方式:startService:该方法开启的服务所在的进程属于服务进程,activity一旦启动服务,服务就和activity没有关系了。访问者与服务无关,则关闭访问者之后,服务能够继续运行bindService:该方法开启的服务所在的进程不在服务进程,activity与服务建立连接,activity一旦死亡,服务业死亡,服务和activity同生共死。访问者与服务有关(比如访问者需要...

2017-02-11 19:20:54 1514

原创 javascript正则表达式

为什么需要正则表达式?正则表达式(RegExp)如何按一定规则快速查找到需要找寻的内容,js的设计者们给我们提供了一个叫正则表达式(RegExp对象),专门用于处理类似问题。RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具。正则表达式--基本概念    在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其

2017-02-11 18:37:54 1302

原创 45.android服务service-电话录音机

电话的状态:挂断电话来电状态接通电话状态用到的函数:TelephonyManager manager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);//获得电话管理器manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);...

2017-02-11 00:03:05 1427

原创 44.android服务service-启动和关闭

Service运行于后台的一个组件,用来运行适合运行在后台的代码,可以视为没有界面的activity进程的优先级:1.Foreground process:前台进程,拥有一个正在与用户交互的activity的进程onResume方法被调用2.visible process:可见进程,拥有可见没有焦点的activy,onPause方法被调用。3.Service process:服

2017-02-11 00:01:05 5588 1

原创 43.android广播-有序广播

无序广播没有顺序的广播,所有广播中的action匹配的广播可以收到这一条广播,并且是没有先后顺序,视为同时收到。abortBroadcast()拦截广播和setResultData()修改参数在无序广播里面是没有效果的。有序广播:没有顺序的广播,所有与广播action匹配的广播者都可以收到这一条广播,但是有先后的顺序,按照广播接受者的优先级接收。广播接收者需要提前设置优先级,优先级高的...

2017-02-10 01:31:50 1190

原创 42.android广播-自定义广播

自定义广播和系统广播不一样的是,action是自定义的自己随便定义,在清单文件中体现,这个在现实中用的很少,大部分都是接受系统广播。代码示例app1:发送广播(专门发广播)activity_main.xml&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:...

2017-02-10 01:19:04 920

原创 41.android广播-监控应用的状态

应用有3中状态:安装,更新和卸载,因此需要3个广播:清单文件配置如下: &lt;receiver android:name="com.ldw.appstatus.appReceiver"&gt; &lt;intent-filter&gt; &lt;action android:name="android.intent....

2017-02-10 00:59:08 1081

原创 40.android广播-手机非法软件

手机非法软件,霸占手机的屏幕,禁止掉返回按键,到home按键又重启,开机自动打开。首先返回无法生效,重启的时候,监听开机广播,开机后打开程序,可以达到非法的目的。FLAG_ACTIVITY_NEW_TASK://在activity外开启app需要这一个标志位,this activity will become the start of a new task on this history ...

2017-02-10 00:35:20 1001

原创 39.android广播-监听sd卡/监听电量的改变(不能在清单文件中注册)

广播监听sd卡,sd卡有三种状态MEDIA_MOUNTED===sd卡可用,MEDIA_REMOVED===sd卡拔出,MEDIA_UNMOUNTED===sd卡不可用,这里面不需要权限清单文件(只需要和下面三种任意一个匹配就可以收到广播,data必须存在,为了匹配而存在): <receiver android:name="com.ldw.sdlistener.sdR...

2017-02-10 00:17:17 979

原创 38.android广播-短信防火墙

原理:1.收到短信的时候,会启动短信的广播,短信广播里面包含短信的号码和内容,拿到短信的广播,检测短信里面包含的内容是不是黑名单的内容,本质就是广播接收者.2.系统发送短信广播的时候,是怎么存的就怎么样取出来,如果短信过长,那么会拆分成多条短信发送,那么发送的短信广播中会有多条短信。3.android4.0以后,广播接收者所在的进程从来没有被启动过(比如先给入口创建一个图标再点开,就是...

2017-02-09 23:19:15 967

原创 37.android四大组件之广播

广播Android中:系统在运行的过程中,会产生很多的事件,比如:电量的改变,收发短信,拨打电话,屏幕解锁,开机等,系统都会发送相应的广播,系统根据发送的广播来判断相应的事件并执行相应的代码,使用广播接收着就可以收听广播。 广播接收者广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写:public void onReceiv...

2017-02-09 22:29:11 883

原创 36.activity返回携带数据

有时候需要activity返回的时候携带数据返回,比如短信群发,添加多个联系人的时候,需要选择listView里面的联系人,同时把联系人的数据返回。首先需要在主activity里面设置意图,进行跳转,使用startActivityForResult而不是startActivity Intent intent = new Intent(this, contactActivity.clas

2017-02-07 23:33:51 1260

原创 35.横竖屏切换

安卓模拟器里,用ctrl+f11按键来触发横竖屏,横竖屏切换的时候默认会触发生命周期方法,在清单文件中配置下面可以,不用去触发生命周期的方法,下面三种情况发生的时候不会出发生命周期的方法orientation|keyboardHidden|screenSizeandroid:configChanges="orientation|keyboardHidden|screenSize"keybo

2017-02-07 21:56:33 893

原创 34.activity携带数据显示跳转

隐式传递数据通常使用intent.setData(Uri.parse("ldw:canshu"))携带参数。显示传递数据有2种携带数据的方法一种是intent,另一种是bundle携带参数。intent方式:intent方式携带参数: //数据封装到intent中,前面是参数名后面是参数的值name-value的形式 intent.putExtra("name1...

2017-02-06 23:45:08 952

原创 33.activity的四种启动模式

参考博客:http://blog.csdn.net/liuhe688/article/details/6754323Activity启动模式standard:标准模式,默认就是,不用设置singleTop:如果站定已经是该activity,就无法再启动,如果栈顶不是,那么就会启动。singleTask:如果该activity没有启动过,会启动并跳转到该activity,即该acti

2017-02-06 22:37:09 1158

原创 java IO流

流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径如何判断是输入流、输出流?以内存为参照,如果数据流向内存流动,则是输入流;反之,则是输出流。java流分为两种流1、字节流:可以用于读写二进制文件及任何类型文件byte2、字符流:可以用于读写文本文件,不能操作二进制文件

2017-02-06 01:42:58 818

原创 32.activity的生命周期

什么是activityActivity是安卓四大组件之一(还有Service、BroadcastReceiver、ContentProvider)acivity的生命周期如下:onCreate:Activity创建的时候被调用onStart:Activity能被用户看见,但是没有获得焦点onResume:Activity获得焦点,此时Activity成为前台Acti

2017-02-06 01:28:30 961

Android高级进阶 顾浩鑫

《Android高级进阶》的主要目的在于给读者一个完整的Android中高级开发者知识图谱

2018-09-26

android stuido从入门到精通

android stuido从入门到精通

2017-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除