- 博客(61)
- 问答 (1)
- 收藏
- 关注
原创 活动的四种启动模式
总共四种启动模式:standard singleTopsingleTasksingleInstance修改活动的启动模式,通过xml活动中的”android:launchMode”修改,Android通过返回栈来管理活动。 <activity android:name=".MainActivity" android:launchMode="
2015-11-07 20:34:07
928
原创 关于活动的一些小技巧
本篇共四部分内容:活动被回收了怎么办知道当前在哪个活动中 随时随地退出活动启动活动的最佳写法活动被回收了咋办 当A活动中启动了活动B,然后A活动由于内存不足被回收,此时按下BACK键会正常显示A活动,只不过这时不会执行onRestore方法,而是执行A的onCreate方法,此时活动中A的临时数据和状态将丢失。如何应对这种情况? onSaveInstanceState();
2015-11-07 20:04:56
621
转载 Android电量监控
简单介绍 Android系统中手机电池电量发生变化的消息是通过Intent广播来实现的Intent.ACTION_BATTERY_CHANGED(电池电量发生改变时)Intent.ACTION_BATTERY_LOW(电池电量达到下限时)、这个值可以修改的,0-100level可选Intent.ACTION_BATTERY_OKAY(电池电量从低恢复到高时)当需要在程序中获取电池电量的信息
2015-11-05 21:24:37
1220
原创 Handler
Handler机制 a.Message Message是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间数据交换。Message的what字段,除此之外还可以使用arg1和arg2字段来携带一些整形数据,使用obj字段携带一个Object对象b.Handler Handler是处理者的意思,主要用于发送和处理消息的。发送消息一般是使用
2015-11-05 09:48:24
486
转载 v4包中的fragment和app包中fragment的区别
app包中的fragment和v4包中的fragment的使用的区别1、尽量不要用app包中的fragment,因为这个是在3.0之后才有的,支持的版本太高,在低版本中是是用不了的。2、android.support.v4.app.Fragment:可以兼容到1.6的版本。3、关于这两个fragment使用标签的问题: (1)、app.fragment和v4.fragment都是可以使用标签的,只
2015-11-03 15:05:30
687
转载 迅雷加速球
http://blog.youkuaiyun.com/to_be_designer/article/details/48554469
2015-09-29 09:42:09
968
1
转载 0924Android基础事件传递
事件传递http://blog.youkuaiyun.com/morgan_xww/article/details/9372285/手势http://blog.youkuaiyun.com/heinika/article/details/48719553 http://blog.youkuaiyun.com/to_be_designer/article/details/48716597
2015-09-25 09:15:16
442
转载 0922第三方应用百度+友盟
常用的推送服务一般有两种,百度和友盟1,先讲百度:下载sdk,然后按照说明文档一步一步来即可:http://push.baidu.com/doc/guide/index在logcat中打印如下,即创建推送成功09-22 19:00:22.204 12004-12004/com.example.zhonghang.mypushdemo D/MyP
2015-09-24 20:48:10
619
2
原创 0923Android基础代码管理工具SVN
代码管理工具SVN在Studio中设置服务器选项 如果不小心删掉服务其中的工程了,想重新将原来的工程share进去,必须将工程中的.svn文件删掉,这个文件一般是隐藏的。 下载服务器和客户端的网址 http://tortoisesvn.net/downloads.html https://www.visualsvn.com/downloads/参考文档: http://www.cnblog
2015-09-24 20:26:20
691
原创 0922Android传感器实例指南针
指指指指南针 实现指南针能够旋转要求手机内部有地磁传感器和加速度传感器,然后用自定义View画出指南针。通过地磁传感器计算出的角度,通过一系列的计算将这个角度转换成合适的角度后利用自定义View中的角度的set方法来将角度传到自定义View中。在surface中开启一个线程实现指南针的动画。传感器部分 Android中的传感器的用法其实都很类似。首先第一步要获取到SensorManager的实例
2015-09-22 20:46:58
919
原创 0922Android基础百度地图
生成自己工程的秘钥 Build —Genrate Signed APK,创建成功后即有签名的apk 生成key值的集合 生成的key 申请秘钥 http://developer.baidu.com/map/index.php?title=androidsdk/guide/key配置环境 一个是java的jar包,放置在libs文件夹下,然后导入进去 导入
2015-09-22 19:34:54
1116
原创 0919Android基础动画
动画 动画分为逐帧动画,补间动画和属性动画。记录一下补间动画和属性动画。 关于动画所需要知道的一些知识:上http://blog.youkuaiyun.com/guolin_blog/article/details/43536355 中http://blog.youkuaiyun.com/guolin_blog/article/details/43816093 下http://blog.youkuaiyun.com/guo
2015-09-21 08:43:41
596
原创 0919Android基础自定义ViewGroup
自定义ViewGroup 新建一个类继承ViewGroup,继承他的两个构造器,以及onMeasure,onLayout方法。获取界面宽高,然后用measureChildren在onMeasure中测量子类的View的宽高。 onLayout中获得子类的View,这里在布局中ViewGroup中添加了四个组件,所以这里通过getChildAt获得四个View,然后通过onLayout来设置子
2015-09-20 20:25:54
508
原创 0918Android基础自定义属性
自定义属性1在Value中新建一个xml文件,添加要自定义使用的属性xml version="1.0" encoding="utf-8"?>resources> declare-styleable name="myView" > attr name="myBackground" format="reference"/> attr name="myS
2015-09-18 16:16:14
456
原创 0917Android基础自定义View的点击事件
TouchEvent TouchEvent 是一类描述手指在触摸平面(触摸屏、触摸板等)的状态变化的事件。这类事件用于描述一个或多个触点,使开发者可以检测触点的移动,触点的增加和减少,等等。跟touch事件相关的3个方法:public boolean dispatchTouchEvent(MotionEvent ev); //用来分派event public boolean onInte
2015-09-17 22:51:43
1355
原创 0917Android基础自定义View(颜色渲染PorterDuff及Xfermode)
颜色渲染 补充基础知识请点我http://blog.youkuaiyun.com/t12x3456/article/details/10432935颜色渲染实例1 新建一个类继承View,继承他的俩构造器和onDraw以及onMeasure方法。PorterDuff必须画在bitmap上。步骤:创建一个位图// 创建一个宽with高height的新位图,第三个参数传位图配置,这里的配置意思为:
2015-09-17 22:46:51
793
原创 0917Androird基础自定义View(Matrix)
关于Matrix的详细资料http://www.cnblogs.com/qiengo/archive/2012/06/30/2570874.html#symmetricalMatrix 本文只介绍了Martrix的一些具体用法,原理方面的请参考上面的链接。 新建一个类继承View,继承他的俩构造器和onDraw以及onMeasure方法。在构造器中初始化Bitmap以及Matrix//
2015-09-17 21:32:04
571
原创 0917Android基础自定义View(Path)
Path 自定义View这一块儿东西有点碎,我都快不晓得咋整理了= =。今儿这篇博客记录一下Path的基本用法和一个可动的波浪线的实例。Path的基本用法 首先创建一个类继承View,然后继承他的构造器和方法。 画笔设置(构造器中实现) mPaint=new Paint(); mPaintPoint=new Paint(); mPaint.set
2015-09-17 20:36:59
483
原创 0916Android基础自定义View进度条专题
自定义进度条 下面这三种进度条实现方法基本相同,无非是在自定义View组件中画图形的时候不一样。 简单的讲一下步骤(表达能力有限,请结合代码看):自定义View类并画出图形,创建一个int型全局变量mCurrent,通过设置它的setmCurrent(int mCurrent) 方法来传递实时变化的进度。将自定义的View添加到布局中在活动中对View进行UI操作,通过Handler(
2015-09-16 22:15:12
743
原创 0916Android基础自定义View(Canvas绘图)
自定义View创建一个类继承View 自定义一个类继承View,然后将这个View添加到布局文件中 ,然后在活动中对这个View进行UI操作。然后在onDraw方法中需要用到Canvas来画各种形状的图形。Canvas的方法中还涉及到一个API:Paint,代表了Canvas上面的画笔,因此Paint类主要用于设置绘制风格,包括画笔颜色、画笔笔触粗细、填充风格等,常用的方法例:setColor(
2015-09-16 21:00:50
633
原创 0915Android基础摄像头
通过Camera进行拍照调用系统内部camera进行简单拍照实例 权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 使用Intent隐
2015-09-16 08:00:42
632
原创 0915Android基础SurfaceView
SurfaceViewSurfaceView使用步骤 Mediaplayer主要用于播放音频,因此它没有提供图像输出界面,此时就需要借助于SurfaceView来显示MediaPlayer播放的图像输出。 步骤创建Mediaplayer对象,并让他加载指定的视频文件。在界面布局中定义SurfaceView组件,或者在程序中创建SurfaceView主键。并为SurfaceView的Sur
2015-09-15 22:15:31
551
原创 0915Android基础VideoView
VedioView使用VedioView步骤 通过VideoView播放视频的步骤:在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件调用VideoView的如下两个方法来加载指定的视频 setVidePath(String path):加载path文件代表的视频 setVideoURI(Uri uri):加载uri所对应的视频调用VideoVi
2015-09-15 21:56:25
556
原创 0915Android基础MediaRecorder
MediaRecorder 用来记录音频和视频。记录控制基于一个简单的状态机上(见下文)。注意:目前,MediaRecorder不会在模拟器上工作。 MediaRecorder机制 视频编码格式:default,H263,H264,MPEG_4_SP 获得视频资源:default,CAMERA 音频编码格式:default,AAC,AMR_NB,AMR_WB, 获得音频资
2015-09-15 21:34:01
505
原创 0915Android基础之SoundPool
SoundPool SoundPool简介 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点: 1.延时时间较长,且资源占用率高;2.不支持多个音频同时播放 Android中除了MediaPlayer播放音频之外还提供了SoundPool来播放音效,SoundPool使用音效池的概念来管理多
2015-09-15 21:07:14
721
原创 0914Android基础网络技术之XUtils
XUtilsXUtils简介 XUtils是一个很好用的框架,主要有四大模块,这次我们只应用下HttpUtils和DbUtils,其他的以后补上╮(╯▽╰)╭ 。啊对了,这个使用时一定要记得导包HttpUtils支持同步,异步方式的请求支持大文件上传支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求下载支持301/30
2015-09-15 19:26:27
653
原创 0913Android基础网络技术之下载(AsyncTask)
下载 通过urlconnection以及线程实现下载 下载之前要添加权限,以及在主线程中注册 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 注册
2015-09-15 07:49:20
593
原创 0913Android基础网络技术之Volley
使用volley访问网络 Volley工作原理简介 Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。 主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题。 下图中,蓝色部分代表主线程,绿色部分代表缓存线程,橙色部分代表网络线程。我们在主线程中调用RequestQueue的add()方法
2015-09-15 07:46:46
850
原创 0912Android基础网络技术之Http协议访问网络
使用HTTP协议访问网络 它的工作原始,客户端向服务器发出一条HTTP请求,服务器收到请求后会返回一些数据给客户端,然后客户端对这些数据进行解析和处理。通过urlConnection读取网页中的数据 首先的首先还是要先添加权限<uses-permission android:name="android.permission.INTERNET" /> 设置一个按键触发事件,将访问网络写在线程里,
2015-09-14 22:06:05
773
原创 0911Android基础网络技术之WebView控件
WebView控件 应用于在自己的应用程序里嵌入一个浏览器。 下面通过例子来说明WebView的用法。添加权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/
2015-09-12 15:37:15
591
原创 0910Android音乐播放器
原理实现功能点击音乐列表中的音乐播放暂停播放开始播放(包括暂停以后拖动进度条到其他位置再播放)拖动音乐进度条,音乐从拖动结束位置播放上一首下一首音乐流程图 原理 利用了mediaplayer,广播,服务,listView完成了整体任务。 在主函数中获得音乐地址,通过listView中的item点击事件打开服务,将音乐路径和名称传到服务中。然后在服务中打开音乐,将音乐的播放时间和
2015-09-10 21:18:26
3248
4
原创 0910Android基础MediaPlayer
MediaPlayerMediaPlayer状态图解 首先需要创建出一个Media对象,然后调用setDataSource()方法来设置音频文件的路径,在调用prepare()方法使MediaPlayer进入到准备状态,接下来调用start()方法就可以开始播放视频。MediaPlayer常用方法方法 说明MediaPlayer 构造方法create 创建一个要播放的多媒体g
2015-09-10 20:16:33
637
原创 0909Android基础多线程编程
Android多线程编程 有一些耗时操作如果在主线程中进行会阻塞主线程,所以需要将这类操作放到子线程中操作。 Android的UI操作必须在主线程中进行,否则会出现异常。但是有时,我们必须在子线程中执行一些耗时任务,然后根据任务的执行结果来更新UI,这里就用到了一套异步消息处理机制。异步消息处理机制异步处理四个部分 Android中的异步处理消息机制主要由四部分组成。 Messa
2015-09-10 08:56:46
410
原创 0909Android基础安卓四大组件之Service
服务是什么 服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于执行那些不需要和用户交互而且还需要长期运行的任务。服务的运行不依赖与用户界面,当程序被切换到后台,或者用户打开另一个应用程序,服务依然正常运行。 服务依赖于创建服务时所在的应用程序进程。某个应用进程被杀掉时,依赖于该进程的服务也停止。服务的生命周期 左图是未绑定的服务的生命周期,右图是绑定服务
2015-09-09 21:24:18
1023
原创 0908Android基础四大组件之BroadcastReceiver
BroadcastReceiver Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样程序就只会接收到自己关心的广播内容,可能来自于系统,可能来自于其他应用程序。 Android中广播主要可以分为两种类型,标准广播和有序广播。 标准广播,异步执行,广播发出后,所有的BroadcastReceiver几乎同时接收到广播消息,效率高,无法被截断。 有序广播
2015-09-08 22:29:42
594
原创 0907Android数据存储
基础知识充电http://blog.youkuaiyun.com/hitlion2008/article/details/6802576数据存储 Internal Storage内部存储空间 SharedPreferences共享偏好SQLite Database数据库文件存储External Storage外部存储空间Internet网络(不做介绍)CountentProvider共享数据(an
2015-09-07 20:28:28
662
原创 0906Android基础ViewPager+Fragment
基础部分参考harvic880925的博客 http://blog.youkuaiyun.com/harvic880925/article/details/38453725ViewPager的Demo全部代码活动//mainactivitypackage com.example.laowang.myviewpager;import android.app.Activity;import android.g
2015-09-06 22:57:46
674
原创 0901Android基础仿QQ聊天界面(下)
聊天信息显示 聊天界面分左右边,建立两个layout,通过判断 public static final int MESSAGE_LEFT = 0;和 public static final int MESSAGE_RIGHT = 1;来选择左右布局。 1、 在module的ChatAdapter中新建对象MESSAGE_RIGHT 和MESSAGE_LEFT public
2015-09-01 14:39:10
3046
1
原创 0831Android基础自定义Notification+仿QQ聊天界面的小Demo(上)
自定义Notification 通过RemoteViews新建一个对象传入自定义的布局,将view对象通过notification的setContent。RemoteViews中有很多限制,平常能使用的有TextView和ImageView以及LinearLayout布局。虽然是自定义布局,但是setIcon等还是要设置(不显示)。。。 实例如下//自定义布局<?xml version="
2015-08-31 20:44:41
2646
原创 0828Android基础自定义Dialog+DatePickerDialog+TimePickerDialog+PopupWindow+Notification
自定义Dialog 自己写layout,用LayoutInflater进行动态加载,然后用setContentView进行添加。 layout方面,对title还有按键以及对话框整体进行了设置,通过background引用drawable中相应的xml文件实现调整。//布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmln
2015-08-28 21:40:36
928
空空如也
android4.0访问外部sd卡
2015-09-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人