
Android
如果时光可以倒流,我会选择在家陪伴家人
这个作者很懒,什么都没留下…
展开
-
CardView个人总结
前言Android5提供的,在v7包里面Gradle依赖compile 'com.android.support:cardview-v7:23.2.0'特点Cardview继承自FrameLayout,所以子控件布局规则和FrameLayout的一样常用属性card_view:cardElevation 阴影的大小card_view:cardMaxE原创 2016-12-20 13:42:34 · 276 阅读 · 0 评论 -
桌面快捷方式
1,(废弃)判断是否已经创建了快捷方式(在某些机型中需要判断) /** * 判断是否已经创建了快捷方式 * * @return */private boolean hasShortcut() { boolean isInstallShortcut = false; final ContentResolver cr = this.getCo转载 2016-10-19 10:56:16 · 335 阅读 · 0 评论 -
Intent
简述: Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒转载 2016-10-19 10:55:21 · 311 阅读 · 0 评论 -
ContentProvider
1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简介 当应用继承ContentProvide转载 2016-10-19 10:52:41 · 228 阅读 · 0 评论 -
BroadcastReceiver
1.1. 定义广播接收者 Ÿ 定义类继承BroadcastReceiver,重写onReceive方法public class BootReceiver extends BroadcastReceiver {} Ÿ 清单文件中声明,需要在其中配置指定接收广播的动作 receiver android:name="com.itheima.servicelife转载 2016-10-19 10:51:43 · 313 阅读 · 0 评论 -
Service
1.1. 基本概念 Service只能在后台运行,适合那些不需要界面的操作,像是播放音乐或者监听动作等,因为它 的名字就已经提示了:它就是一个服务。 Service同样也是运行在主线程中,所以不能用它来做耗时的请求或者动作,否则就会阻塞住主线程。如果真的要这么做,可以跟Activity一样的做法:新开一个线程。 1.2. 启动方式 Servic转载 2016-10-19 10:50:41 · 572 阅读 · 0 评论 -
Handler
android下的消息机制:1.只有主线程才可以更新ui2.子线程如果需要更新ui 必须发送消息给主线程3.主线程得到消息后,才能更新界面. Android里 直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错 误:android.view.ViewRoot$CalledFromWrongThreadExcep转载 2016-10-19 10:48:43 · 254 阅读 · 0 评论 -
LayoutInflater
在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById(),不同点是:LayoutInflater 是用来找layout下xml布局文件,并且实例化!findViewById() 是找具体xml下的具体 widget控件(如:Button,TextView等)。一般来讲,我们用LayoutInflater做一件转载 2016-10-19 10:47:51 · 272 阅读 · 0 评论 -
Activity
1.1. 创建Activity Ø 定义ActivityŸ 定义类继承ActivityŸ 在AndroidManifest.xml的节点中声明 activity android:name="com.itheima.intent.SecondActivity" android:label="@string/title_activity_second" >转载 2016-10-19 10:46:45 · 427 阅读 · 0 评论 -
清单配置文件详解
Manifest 详细解析Manifest 详细解析一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的A转载 2016-10-19 10:40:30 · 596 阅读 · 0 评论 -
Android 数据的存储
Android 数据的存储Android 数据的存储Android提供了5种方式存储数据(1)使用SharedPreferences存储数据,它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中。只能在同一个包内使用,不能在不同的包之间使用.(2)文件存储数据;文件存储方式是一种较常用的方法,在Android中读取/写入文件转载 2016-10-19 10:36:11 · 355 阅读 · 0 评论 -
Android 进程和线程
由Google 's AIP翻译 译者:万琪Processes and Threads(进程和线程) 当一个应用程序组件启动和应用程序没有任何其他组件在运行时,Android系统开始一个新的Linux进程执行一个线程应用。 默认情况下,同一个应用程序的所有组件运行在相同的进程和线程里(称为“主”线程)。如果一个应用程序组件启动并且已经存在一个申请的过程(因为另一个组件的转载 2016-10-19 10:34:38 · 277 阅读 · 0 评论 -
图片压缩
1、基于大小来压缩/** * 质量压缩方法 * * @param image * @return */ public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.com原创 2016-11-09 10:16:07 · 309 阅读 · 0 评论 -
Android弹幕功能实现,模仿斗鱼直播的弹幕效果
转载请注明出处:http://blog.youkuaiyun.com/sinyu890807/article/details/51933728本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。大家好,感觉好像已经很久没更新博客了。前段时间主要是忙于新书的事情,时间比较紧张。而现在新书已经完稿,剩下的事情就都是出版社的工作了,那么我转载 2016-10-27 14:04:33 · 601 阅读 · 0 评论 -
多击事件的实现
1,点击事件与触摸事件的区别?onTouch()的返回值:true: 在当前就消费掉false: 先看他的子集中有没有响应(点击事件),无响应则消费触摸事件,有响应则消费为点击事件2,双击事件普通实现:// 设置双击事件iv_dragview.setOnClickListener(new OnClickListener() {原创 2016-10-19 11:00:50 · 311 阅读 · 0 评论 -
proguard个人使用总结
前言自己用了段时间,由于个人能力有限,因此,我这里就不说原理了,我就说说我个人用的时候的感受吧;作用个人感受吧:①在未使用proguard的时候,APK文件能达到很大,使用之后APK文件会变得很小;②有些类,你必须在proguard进行配置,否则的话,该类对应的class文件除了构造方法,别的方法都没了;③你在类里面定义的内部类会给你提取出来形成一个单独的类;混淆的原则原创 2016-12-14 14:53:37 · 356 阅读 · 0 评论 -
Android6危险权限
原创 2016-12-19 10:51:04 · 722 阅读 · 0 评论 -
画布与画笔
前言从今年11月初开始到24号这段时间太忙了,到现在终于告一段落,由于此前我没有用过画布和画笔从而导致我在做的时候耗费了太多的时间,所以,趁着现在,总结一下知识点以备后用:Paint.setXfermode方法干什么用?该方法需要Xfermode对象,有AvoidXfermode、PixelXorXfermode、PorterDuffXfdrmode这3个子类,这里我用到的是Porte原创 2016-11-24 17:09:09 · 883 阅读 · 0 评论 -
SurfaceView
前言终于告一段落了,由于在之前没有用到SurfaceView,而这次项目中偏偏用到了SurfaceView,导致我在这上面花了太多的时间,现在终于有时间来整理下了;为什么会有它?通常情况下View的绘制和用户响应都是在同一个线程中处理的,这就是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI元素,例如用后台线原创 2016-11-25 09:54:50 · 356 阅读 · 0 评论 -
手机存储2
承接上文,那么,我该怎么获取我那8G的外置SD的路径呢? 这里推荐一个链接:http://blog.fidroid.com/post/android/ru-he-zheng-que-huo-de-androidnei-wai-sdqia-lu-jing原创 2016-11-25 11:17:05 · 293 阅读 · 0 评论 -
手机存储1
内部存储有什么特点?1、已APP的包名来作为目录;2、只能自己APP才能访问该目录下的文件;3、SharedP、SQLite文件都存储在该目录下;4、文件操作只需要向函数提供文件名,所以程序自己只需要维护文件名即可;5、不用自己去创建文件对象和输入、输出流,提供文件名就可以返回File对象或输入输出流;6、对于路径操作返回的都是文件对象;什么是外部存储?在以前,手机原创 2016-11-25 11:04:20 · 375 阅读 · 0 评论 -
通过系统相册来获取文件绝对路径
前言刚开始,我在保存图片的时候,图片的名称、路径都是我自己定义的,这样就不存在所谓的URI,后来,有些图片是从系统相册中来获取的,而系统相册返回的URI是content开头的,由于文件使用的绝对路径,因此,这里必须要转换下。另外,这里还有图片的保存问题启动系统相册Intent intent = new Intent(Intent.ACTION_PICK, null);原创 2016-11-23 15:22:28 · 1657 阅读 · 0 评论 -
如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion作者:Ian Lake,Google Android 推广工程师;翻译:韩国恺。当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么,所有东西都不能用了?别担心,向转载 2016-12-05 16:00:15 · 238 阅读 · 0 评论 -
分辨率
原创 2016-11-15 09:02:28 · 222 阅读 · 0 评论 -
基本知识点
1、方法重载与覆盖的区别?( Overload与Override的区别)答: 方法的重载属于编译时多态,方法名相同参数列表不同,返回值必须相同或都没有返回值类型。方法的覆盖属于运行时多态,子类覆盖父类的方法,子类指向父类引用,在调用方法的时候用父类的引用调用。2、String 和StringBuffer的区别答: STRING的长度是不可变的,STRINGBUF原创 2016-10-19 11:04:36 · 628 阅读 · 0 评论 -
内存管理
1、APP默认分配内存大小 在Android里,程序内存被分为2部分:native和 dalvik,android程序内存(native+dalvik)一般限制在16M,或者24M,36M gDvm.heapSizeStart = 2 * 1024 * 1024; // heap初始化大小为2MgDvm.heapSizeMax = 16 * 1024 * 1024;原创 2016-10-19 11:02:44 · 326 阅读 · 0 评论 -
设备管理器
1,注册DeviceAdminReceiver广播接收者 接收设备超级管理员的广播 import android.app.admin.DeviceAdminReceiver; public class MyAdmin extends DeviceAdminReceiver { } manifest中的声明: receiver androi转载 2016-10-19 11:01:49 · 938 阅读 · 0 评论 -
RatingBar
五角星Android:numStars 指定用于评分的五角星数量Android:rating 指定当前分数Android:stepSize 指定分数的增量单位,默认是0.5原创 2016-10-13 16:33:27 · 201 阅读 · 0 评论 -
EditText
由于该控件仅仅负责输入,因此输入控制是关键Android:digits限定所输入的字符,例如0-9、A-ZAndroid:numeric接受数字输入Android:inputType输入字符的类型文本监听器:EditText.addTextChangedListener(new TextWatcher); 1、默认中文mEditText.setInputType(Ed原创 2016-10-13 16:32:10 · 332 阅读 · 0 评论 -
TextView
由于该控件仅仅负责展示,因此富文本是关键,能实现富文本效果的类如下所示:Html.formHtmlAndroid.text.SpannadleStringAndroid.text.SpannableStringBuilder原创 2016-10-13 16:31:30 · 198 阅读 · 0 评论 -
Sp与dp之间的区别
sp除了受到屏幕密度影响之外,还受到用户的字体大小影响,会随着系统的字体的大小而改变;而dp则不会原创 2016-10-13 16:25:26 · 1003 阅读 · 0 评论 -
APK签名原理以及方法
1、签名机制Android系统在安装APK的时候,首先会检查APK的签名,如果发现签名文件不存在或校验签名失败,则会拒绝安装,所以应用程序在发布之前一定要进行签名,给APK签名可以带来以下好处:① 应用程序升级:如果想无缝升级一个应用,Android系统要求应用程序的新版本与老版本具有相同的签名和包名,若包名相同而签名不同,系统会拒绝安装新版应用;② 应用程序模块化:Android系统原创 2016-10-13 16:11:53 · 557 阅读 · 0 评论 -
ImageView
① Src属性 + scaleType属性Background会根据ImageView控件的长宽进行拉伸而src存放的是图片的原始大小不会进行缩放,因此src需要scaleType进行配合;Src是内容,background是背景② setImageResource会根据设备分辨率进行图片大小缩放适配setImageBitmap 需要手动调整大小,不能自动沾满空间setBa原创 2016-10-13 16:34:25 · 194 阅读 · 0 评论 -
IntentService
1. Service缺点:Service默认运行在主线程即UI线程,所以如果Service运行耗时或可能堵塞的操作时,你的APP可能出现ANR错误;2. IntentService特点:A.生成一个默认且与主线程互相独立的工作者线程来执行所有传送至onStartCommand方法的Intent;B.生成一个工作队列来传送Intent对象给onHandleIntent方法,同一时刻只能传原创 2016-10-13 16:36:57 · 283 阅读 · 0 评论 -
23种设计模式全解析
23种设计模式全解析2013-06-24 10:56 158783人阅读 评论(45)收藏举报本文章已收录于:分类: DesignPattern(8) 作者同类文章X目录(?)[+]一设计模式的分类二设计模式的六大原则总原则开闭原则Open Close Principle转载 2016-10-20 15:42:00 · 605 阅读 · 0 评论 -
Service
1、 启动方式:startService、bindService2、 startService启动方式:①调用者与服务之间没有任何关联,调用者退出而没有调用stopService的话,Service会一直在后台运行;②如果调用前服务没有被创建,则会执行onCreate à onStart;如果已经被创建,即便多次调用startService方法,onCreate也仅仅执行一次而onSt原创 2016-10-13 16:36:34 · 211 阅读 · 0 评论 -
SQLite
1、 事务:事务定义了一组SQL命令的边界,这组SQL或作为一个整体被全部执行或都不执行,典型案例就是银行转账;2、 事务命令:BEGIN COMMIT ROLLBACK;3、 SQLite处理违反约束的方法:①replace:当违反了唯一完整性约束,将造成这种违反的记录删除,用新插入或新修改的来替代,SQL继续执行,不报错;②ignore③fail④abort⑤r原创 2016-10-13 17:11:45 · 329 阅读 · 0 评论 -
SharedPreferences
优点:使用简单、轻松存放和读取数据;缺点:只能保存基本类型的数据,例如:String、int,对于复杂数据对象,一般转换成Base64编码然后以String形式保存在XML文件中;存储形式:XML文件,key-value形式;用法:SharedPreferences sp = context.getSharedPreferences(“setting”,0);原创 2016-10-13 16:41:15 · 244 阅读 · 0 评论 -
ContentProvider
作用:向其他应用提供数据,数据的存储方式可以是数据库、XML文件、普通文件等形式,但内容提供者负责把数据对外进行提供;统一数据访问方式;URI:统一资源标识符,用来标识某一资源;URI组成:scheme:类似于HTTP,在android规定为content://authority:主机名,类似于HTTP中的域名path:数据,类似于HTTP中的请求路径UriMatc原创 2016-10-13 16:40:43 · 245 阅读 · 0 评论 -
Bitmap常见优化
1、图片与内存① 一张图片占用的内存 = 图片长度(单位像素) *图片宽度(单位像素) *单位像素占用的字节数,这里的单位像素占用的字节数则由BitmapFactory.Options的inPreferredConfig变量来决定的,变量inPreferredConfig是Bitmap.Config类型,取值如下:ALPHA_8只有透明没有RGB原创 2016-10-13 09:27:45 · 381 阅读 · 0 评论