Android
独步秋风
这个作者很懒,什么都没留下…
展开
-
保存 Activity 的状态
本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state。一、Activity状态保持概念保存Activity的状态是非常重要的,例如我们在玩一个游戏的时候,突然来了一个电话,这个时候在接听完电话之后我们返回到游戏中,这个时候我们希望游戏还是之前那个进度,或者说发生突发事件,游戏这个应用程序被关闭了,这个时候我们如果再重新打开游戏的话,我们如果还转载 2016-09-11 23:08:12 · 395 阅读 · 0 评论 -
invalidate()和postInvalidate()的使用与区别
invalidate()和postInvalidate()的使用与区别 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示转载 2016-10-05 18:00:23 · 4060 阅读 · 0 评论 -
SharedPreferences详解
获取SharedPreferences的两种方式:1 调用Context对象的getSharedPreferences()方法2 调用Activity对象的getPreferences()方法两种方式的区别:调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.转载 2016-09-06 23:07:32 · 506 阅读 · 0 评论 -
Android基础 Android四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。一:了解四大基本组件Activity :应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Intent 的描述结转载 2016-10-06 11:16:21 · 322 阅读 · 0 评论 -
Android基础 AsyncTask、Handler的使用
1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l 在使用多个异步操作和并需要进行Ui变更转载 2016-10-06 11:46:49 · 339 阅读 · 0 评论 -
Android基础 Android AsyncTask使用注意事项以及总结
1. 1) Task的实例必须在UI thread中创建 2) execute方法必须在UI thread中调用 3) 不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...), onProgressUpdate(Progress...)这几个方法4) 该task只能被执行一次,否则多次调用转载 2016-10-06 14:34:18 · 715 阅读 · 0 评论 -
Andorid基础 Android系统层次框架结构
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android分为四个转载 2016-10-06 14:45:04 · 11638 阅读 · 0 评论 -
Android基础 Android中的Handler, Looper, MessageQueue和Thread
前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系。虽然我们经常使用这些基础的东西,但对于其内部原理的了解,能使我们更加容易、合理地架构系统,并避免一些低级错误。对于这部分的内容,将分成4小节来描述:1.职责与关系2.消息循环3.线程与更新4.几点小结------------------------------转载 2016-10-06 15:14:46 · 268 阅读 · 0 评论 -
Android基础 Android数据存储五种方式总结
Android数据存储五种方式总结本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据下面详细讲解这五种方式的特点第一种: 使用SharedPr转载 2016-09-06 23:46:19 · 590 阅读 · 0 评论 -
Android基础 Android应用内多进程分析和研究
正常情况下,一个apk启动后只会运行在一个进程中,其进程名为AndroidManifest.xml文件中指定的应用包名,所有的基本组件都会在这个进程中运行。但是如果需要将某些组件(如Service、Activity等)运行在单独的进程中,就需要用到Android:process属性了。我们可以为android的基础组件指定process属性来指定它们运行在指定进程中。有什么好处转载 2016-10-07 11:38:59 · 286 阅读 · 0 评论 -
Resource相关 风格style与主题theme(一)-style、theme的关系与使用
第1节 概述主题theme与风格style是两个很相近的概念,经常把它们混乱着称呼。它们都定义在xml文件中,都使用style标签。主题与风格是包含与被包含的关系。例如同一个主题中,按钮使用一种风格,进度条使用一种风格。可以说主题是由具备各种风格的组件组合起来的。从下面定义的主题例子中,我们可以看到这个主题里面的文字,使用的是TextAppearance.DeviceDefau转载 2016-10-07 13:31:01 · 1049 阅读 · 0 评论 -
Resource相关 Android中asset文件夹和raw文件夹区别
摘自:http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.htmlAndroid中asset文件夹和raw文件夹区别*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被转载 2016-10-07 14:43:20 · 1084 阅读 · 0 评论 -
Resource相关 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算
摘要: 一、基本概念dip : Density independent pixels ,设备无关像素。dp :就是dippx : 像素dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240...一、基本概念dip : Density independent转载 2016-10-07 18:59:19 · 510 阅读 · 0 评论 -
picasso-强大的Android图片下载缓存库
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载:Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); Api看起来非常独特,转载 2016-10-20 22:43:31 · 275 阅读 · 0 评论 -
关于Canvas.drawText中xy位置问题
问:canvas.drawText("3", x, y, paint); x和y是指画得时候数字3中心的坐标吗?还是左上角的坐标?答:x默认是‘3’这个字符的左边在屏幕的位置,如果设置了paint.setTextAlign(Paint.Align.CENTER);那就是字符的中心,y是指定这个字符baseline在屏幕上的位置。public void drawText (String转载 2016-10-05 13:53:59 · 936 阅读 · 0 评论 -
Android源码50例汇总,欢迎各位下载
源码实例如下:《Android应用开发揭秘》源代码推荐http://down.51cto.com/data/102497Android Phone驱动http://down.51cto.com/data/246537安卓(android)编程入门开发教程笔记http://down.51cto.com/data/172692Android核心技术与实例详解【源代码】推荐转载 2016-10-05 10:49:06 · 966 阅读 · 0 评论 -
View相关 android视图继承关系
入门级的基础知识,以前对View,VIewGroup,widget,layout等的关系搞不清楚,通过学习后,做了下总结,如下:1.View,ViewGroup>View:}1、所有高级UI组件都继承View类而实现的}2、一个View在屏幕上占据一块矩形区域}3、 负责渲染}4、负责处理发生的事件}5、设置是否可见}6、设置是否可以转载 2016-10-08 22:58:37 · 1071 阅读 · 0 评论 -
android 服务的绑定调用
任务: 请求一个服务器,没五秒Ping一次,检查能否Ping通服务类:需要注意的的是:1 利用代理模式,向Activity抛出一个Binder的子类 2 记得在文件清单中声明服务类 android:name="com.exa原创 2016-09-20 00:17:16 · 607 阅读 · 0 评论 -
View相关 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引转载 2016-10-09 21:11:10 · 333 阅读 · 0 评论 -
View 相关 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了。还未阅读过的朋友,请先参考 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) 。那么今天转载 2016-10-09 21:46:42 · 304 阅读 · 0 评论 -
动画 Animation 动画介绍和实现
1.Animation 动画类型Android的animation由四种类型组成:XML中alph渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果 JavaCode中AlphaAnima转载 2016-10-09 22:17:54 · 728 阅读 · 0 评论 -
动画 Android:interpolator用法
1. 2. 3. xmlns:Android="http://schemas.android.com/apk/res/android" 4. Android:interpolator="@android:anim/decelerate_interpolator"> 5. Android:fromYScale="2.0" android:toYScale转载 2016-10-09 22:44:41 · 256 阅读 · 0 评论 -
虚拟机 理解Android虚拟机体系结构
1 什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁、节省资源的特点。从An转载 2016-10-10 00:46:57 · 533 阅读 · 0 评论 -
android doGet和doPost请求
get方式提交数据到服务器和post方式提交数据到服务器的区别1.请求的URL地址不同: post:"http://192.168.13.83:8080/itheima74/servlet/LoginServlet" get:http://192.168.13.83:8080/itheima74/servlet/LoginServlet?us原创 2016-09-25 00:35:34 · 1078 阅读 · 0 评论 -
[Android] ImageView.ScaleType设置图解
ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:1. 在layout xml中定义Android:scaleType="CENTER"2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);接下来,将对Scal转载 2016-10-11 22:40:45 · 528 阅读 · 0 评论 -
Android新闻客户端案列
前言:这是一个仿照网易客户端模仿的简易新闻客户端案例,主要是为了对知识点更深入的了解和整合1 需求第一次进入新闻客户端需要请求服务器获取新闻数据,做listview的展示,为了第二次再次打开新闻客户端时能快速显示新闻,需要将数据缓存到数据库中,下次打开可以直接去数据库中获取新闻直接做展示。 2 程序流程 1.写布局listview 2.找到li原创 2016-09-26 22:39:46 · 4739 阅读 · 1 评论 -
Android应用性能优化之使用SQLiteStatement优化SQLite操作
平常在做Android数据库操作时,都是用的execSQL之个方法. 今天偶然发现了SQLiteStatement这个类.让我想起了在做Java Web开发写JDBC的代码时Prestatement这个类.Prestatement不仅提高了效率,也解决了SQL注入的问题.那在Android中的SQLiteStatement,是否也会提高一些效率呢?于是写了一个简单的测试,比较execSQL和S转载 2016-10-12 23:59:42 · 902 阅读 · 0 评论 -
Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
如果你用Android Studio开发,并且要用其他项目作为library,这个问题是很容易出现的。出现这个问题的原因是包的重复引用,意思就是在你自己的项目中引用了某个包,而被你作为library的项目也引用了同一个包,就会有这个问题。那如何解决呢,我所知道的是有两种方法:方法1:按照惯例,直接上图吧,从下图可以看到我在library中有加了一个v4的包,同时我将它作为dependenc转载 2016-10-14 00:59:32 · 227 阅读 · 0 评论 -
Android 命名规范 2016 (提高代码可以读性)
刚接触Android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法转载 2016-10-04 11:09:30 · 360 阅读 · 0 评论 -
浅析ButterKnife的实现 (一) —— 搭建开发框架
ButterKnife的大名相信做Android开发的都应该知道,如果你还不知道那只能说明你平时都没关注过开源项目,优秀的开源项目对于开发来说帮助是巨大的,而学习优秀的开源项目对个人的提升帮助也是巨大的。ButterKnife通过注解的方式帮助我们处理诸如 findViewById()和setonclicktListener()等的重复性繁琐的工作,极大地减轻了程序员的工作量。ButterKnif...转载 2016-11-15 15:50:06 · 348 阅读 · 0 评论