
android开发
文章平均质量分 62
chaoyang805
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 联系人数据库介绍以及对联系人的基本操作
原文地址:http://blog.youkuaiyun.com/xingfeng2010/article/details/11810335一、 联系人数据库 联系人的数据库文件的位置/data/data/com.android.providers.contacts/databases.contacts2.db 数据库中重要的几张表1、contacts表该表保存了所有的手机测转载 2015-08-23 10:21:15 · 522 阅读 · 0 评论 -
《Android群英传》读书笔记(6)第六章:Android绘图机制与处理技巧之二
1.色彩特效处理1.色彩矩阵分析在色彩处理中通常从下面三个角度描述一个图像:色调——物体传播的颜色饱和度——颜色的纯度,从0(灰)到100%(饱和)来进行描述亮度——颜色的相对明暗度Android中使用一个颜色矩阵ColorMatrix来处理这些效果,这个矩阵是一个4x5的数组矩阵,它用力对图片的色彩进行处理。而对于每一个像素点,都有一个颜色分量矩阵用来保存颜色的RGBA值,例如下面就是一个原创 2015-12-18 11:59:19 · 580 阅读 · 0 评论 -
《Android群英传》读书笔记(5)第六章:Android绘图机制与处理技巧之一
1.屏幕参数屏幕分辨率与DPI的对照表 密度 ldpi mdpi hdpi xhdpi xxhdpi 密度值 120 160 240 320 480 分辨率 240x320 320x480 480x800 720x1280 1080x19202. 在密度为160的屏幕上,即分辨率为320x480的屏幕上,1dp = 1px;在其原创 2015-12-16 21:24:25 · 436 阅读 · 0 评论 -
《Android群英传》读书笔记(7)第六章:Android绘图机制与技巧之三
1.SurfaceView一般的View通过刷新来重绘视图,Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新的时间间隔是16ms。如果在16ms内View完成了所需要执行的操作,那么用户在视觉上就不会产生卡顿的感觉;而如果执行的逻辑太多,特别是需要频繁刷新的界面,如游戏界面,那么就会不断的阻塞主线程,从而导致界面卡顿。为了避免这种问题,Android提供了SurfaceView来原创 2015-12-19 16:52:15 · 426 阅读 · 0 评论 -
《Android群英传》读书笔记(8)第七章:Android动画机制与使用技巧
1.视图动画Android视图动画的分类:透明度动画——AlphaAnimation旋转动画——RotateAnimation位移动画——TranslateAnimation缩放动画——ScaleAnimation动画集合——AnimationSet视图动画的监听方式:animation.setAnimationListener(new Animation.Animatio原创 2015-12-20 13:17:15 · 557 阅读 · 0 评论 -
《Android群英传》读书笔记(9)第八章:Activity与Activity调用栈分析
一、Activity1.Activity形态Activity拥有多种形态,并且可以在多种形态间切换,以此来控制自己的生命周期:Active/Running这时候Activity处于Activity栈的最顶层,可见并与用户进行交互Paused当Activity失去焦点,被一个新的非全屏的Activity或者一个透明的Activity放置在栈顶的时候,A原创 2015-12-21 15:20:57 · 544 阅读 · 0 评论 -
《Android群英传》读书笔记(10)第九章:Android系统信息与安全机制
Android系统信息获取获取系统信息的途径,有下面两种途径:android.os.BuildSystemPropertyandroid.os.Build类里面的信息非常丰富,它包含了系统编译时的大量设备、配置信息,下面列举了一些:Build.BOARD——主板Build.BRAND——Android系统定制商Build.SUPPORTED_ABIS——CPU指原创 2015-12-22 11:14:26 · 757 阅读 · 0 评论 -
《Android群英传》读书笔记(11)第十章:Android性能优化
一、布局优化1.Android渲染机制在Android中系统通过VSYNC信号触发对UI的渲染、重绘,其间隔时间是16ms,即1000ms内显示60帧画面的单位时间,如果每次渲染画面的时间保持在16ms之内,那么我们看到的UI就是非常流畅的,如果在16ms内不能完成绘制,那么就会造成丢帧现象,即当前该重绘的帧被未完成的逻辑阻塞,例如一次绘制任务耗时20ms,那么在16ms系统发出VSYNC原创 2015-12-24 12:22:50 · 687 阅读 · 0 评论 -
Android 6.0 Marshmallow运行时权限处理
在最新的Android6.0Marshmallow系统中,Google加入了在程序运行时检测权限的机制,下面这些权限是需要在运行时进行判断的:身体传感器()日历()摄像头()通讯录( )地理位置()麦克风()电话()短信()存储空间()上面只是针对相应的内容列出了一个具体的权限,具体还有其他的权限。如果设置项目的targetSdkVersion>=23,当程序运行在Andr原创 2015-12-26 16:12:00 · 1758 阅读 · 0 评论 -
使用外部拦截法处理滑动冲突
当有多个可以滚动的View进行嵌套时,例如水平的ScrollView嵌套多个ListView的情况,ScrollView水平滚动,而ListView是竖直滚动。由于滑动方向不一致,可能会出现滑动冲突。这时候可以通过重写父容器的 onInterceptTouchEvent 来决定在什么情况下,父容器应该拦截触摸事件,从而解决滑动冲突,这种方法称为外部拦截法。外部拦截法的大致代码实现如下,具体实现的时候转载 2016-08-02 18:16:13 · 632 阅读 · 0 评论 -
《Android群英传》读书笔记(12)第十二章:Android 5.X新特性详解
由于第十章是介绍的Bmob云服务器,内容不多而且都很简单,就直接跳过了。下面来看看十一章关于Material Design的内容。一、Material Design主题使用兼容包里的Material Design主题如果像书中说的那样直接使用Material Design的主题有一个缺点,就是只能运行在Android5.+的设备上,而Android 5.0以下的设备还需要重新写其他的主原创 2015-12-28 19:32:52 · 863 阅读 · 0 评论 -
《Android群英传》读书笔记(4)第五章:Android Scroll分析
1.Android坐标系在Android中,将屏幕左上角的顶点作为Android坐标系的原点,从这个点向右是X轴正方向,向下是Y轴正方向。 系统提供了getLocatinoOnScreen(int location[]);这样的方法来获取Android坐标系中点的位置。2.视图坐标系视图坐标系描述子视图在父视图中的位置关系,视图坐标系的原点是父视图的左上角。通过getX()和getY()获得的是视原创 2015-12-16 11:40:28 · 452 阅读 · 0 评论 -
Activity的几种启动模式
Activity一共有四种启动模式,分别为standard,singleTop,singleTask和singleInstance.通过在AndroidManifest.xml中的activity标签配置launchMode进行设置。1. standard:标准启动模式,每次启动会重新创建activity的实例 2. singleTop:如果当前activity处于栈顶,再次启动时不会创建新的实原创 2015-08-23 11:47:41 · 546 阅读 · 0 评论 -
android中使用AIDL来启动外部程序的service
AIDL全称是Android Interface Define Language。即android接口定义语言。使用AIDL可以从一个应用内启动外部应用的服务。下面我们通过具体的例子来看看怎么使用:在AndroidStudio的工程中建立两个module,从一个module中启动另一个的定时器服务。 1. 首先在AndroidStudio中创建一个项目,再在项目中创建另一个module称为time原创 2015-08-23 20:01:35 · 2648 阅读 · 0 评论 -
Android向sd卡写入文件的大概流程
首先要记得申请读取sd卡的权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 然后复制文件是一个比较耗时的操作,一定要放到子线程中去,建议使用AsyncTask,即使觉得你复制的只是一个有几kb的文件,用不了多少时间,也要养成良好的习惯。 需要用到的对象有:InputStream,OutPu原创 2015-08-26 19:18:55 · 862 阅读 · 0 评论 -
android中Intent的用法总结
Android中intent常用来启动一个Activity,启动service和发送广播等,同时还可以携带各种数据,以及根据所指定的ACTION的不同,来打开文件,选取文件等等,反正是用处特别大就是了。Intent主要分为两类:隐式Intent和显式Intent: 隐式Intent,通常不具体指定打开的类名,而是通过指定ACTION来指定要执行的动作类型,如Intent intent = new原创 2015-08-26 19:26:05 · 668 阅读 · 0 评论 -
使用第三方库cpdetector来判断文件的编码方式
在android中使用第三方库cpdetector来判断文件的编码方式转载 2015-08-14 21:56:17 · 1940 阅读 · 0 评论 -
Android中选取文件后在onActivityResult中将intent中的Uri转换成文件的路径
public static String getPath(Context context, Uri uri) { if ("content".equalsIgnoreCase(uri.getScheme())) { String[] projection = {"_data"}; Cursor cursor = null;转载 2015-08-14 22:04:33 · 2374 阅读 · 0 评论 -
RecyclerView的使用方法
Android在Android L中推出了RecyclerView来代替ListView呈现列表类的数据,RecyclerView相比于ListView使用起来更加的灵活,可自定义的内容也更多。下面用一个例子来介绍一下RecyclerView的具体用法添加依赖RecyclerView位于support v7包中,使用之前需要添加依赖,在AndroidStudio中通过快捷键ctrl+shift+al原创 2015-09-05 14:38:49 · 1910 阅读 · 0 评论 -
配置没有界面的Activity
一般我们的activity都是有一个用来显示内容的界面,但是有些时候并不需要界面显示,直接在launcher点击了应用图标就能执行相关的功能,例如一键锁屏、清理内存等等。实现这个功能其实只要将MainActivity的theme设置为Theme.NoDisplay,并在onCreate中不去调用setContentView这个方法。按住ctrl点进去Theme.NoDisplay这个主题可以看到这个原创 2015-09-10 23:53:24 · 3262 阅读 · 0 评论 -
使用ActionMode实现ListView的多选功能
在平时的使用中,我们经常会用到ListView的多选功能,一般比较常见的方式是通过在itemView中加入一个checkBox来实现。其实ListView的API中提供了用于实现多选功能的相关接口。可以通过设置ListView的choiceMode属性来实现listview的item项在长按时激活多选的功能,再配合ListView.MultiChoiceModeListener的回调实现多选。 下原创 2015-11-05 20:53:57 · 3374 阅读 · 4 评论 -
Android适配华为手机虚拟按键显示或隐藏
华为的一些手机的屏幕上的虚拟按键是可以显示或者隐藏的,因此在布局适配的时候就要考虑到这个问题,要不然当虚拟按键被隐藏后界面的布局就会出现问题,下面给出一种解决方法,(原文来自:安卓适配碰到的一些问题)因为虚拟按键的打开会涉及到view的重绘,因此可以重写根layout中的onLayout方法来实现。假设根layout是FrameLayoutpublic class RootLayout extend转载 2015-12-08 22:36:42 · 9134 阅读 · 0 评论 -
CoreData 从入门到精通(四)并发操作
通常情况下,CoreData 的增删改查操作都在主线程上执行,那么对数据库的操作就会影响到 UI 操作,这在操作的数据量比较小的时候,执行的速度很快,我们也不会察觉到对 UI 的影响,但是当数据量特别大的时候,再把 CoreData 的操作放到主线程中就会影响到 UI 的流畅性。自然而然地我们就会想到使用后台线程来处理大量的数据操作。使用后台 managedObjectContextCoreData原创 2016-12-23 17:54:52 · 2468 阅读 · 3 评论