Android基础篇
文章平均质量分 86
会飞牛牛
这个作者很懒,什么都没留下…
展开
-
Android应用setContentView与LayoutInflater加载解析机制源码分析
【工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果】1 背景其实之所以要说这个话题有几个原因:理解xml等控件是咋被显示的原理,通常大家写代码都是直接在onCreate里setContentView就完事,没怎么关注其实现原理。前面分析《Android触摸屏事件派发机制详解与源码分析三(Activity篇)》时提到了一些关转载 2016-07-27 18:00:29 · 782 阅读 · 0 评论 -
Android获取手机总内存和可用内存
Android获取手机总内存和可用内存在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小。这个该如何实现呢?通过读取文件"/proc/meminfo"的信息能够获取手机Memory的总量,而通过ActivityManager.getMemoryInfo(ActivityManager.MemoryInfo)方法可以获取当前的可用Me转载 2012-07-20 16:55:04 · 1054 阅读 · 0 评论 -
Android系统配置数据库注释(settings.db)
system表参考: http://developer.android.com/reference/android/provider/Settings.System.html1|volume_music|11 // 媒体音量2|volume_ring|5 // 闹钟音量3|volume_system|7转载 2015-09-21 17:10:40 · 669 阅读 · 0 评论 -
Android HttpClient post MultipartEntity - Android 上传文件
转自[http://blog.csdn.net/hellohaifei/article/details/9707089]在Android 中使用HttpClient,MultipartEntity为了发送图片,文件等资源,现在采用开源的org.apache.http.entity.mime.MultipartEntity一.去官网http://hc.apache.org/d转载 2015-09-10 16:15:53 · 963 阅读 · 0 评论 -
Android TextureView简易教程
如果你想显示一段在线视频或者任意的数据流比如视频或者OpenGL 场景,你可以用android中的TextureView做到。TextureView的兄弟SurfaceView应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种方式的效率非常高,因为SurfaceView转载 2015-09-28 13:54:06 · 1953 阅读 · 0 评论 -
view变化监听器ViewTreeObserver介绍
A view tree observer is used to register listeners that can be notified of global changes in the view tree. Such global events include, but are not limited to, layout of the whole tree, beginning of t转载 2015-09-06 11:38:51 · 1063 阅读 · 0 评论 -
Android中自定义MultipartEntity实现文件上传以及使用Volley库实现文件上传
前言在开发当中,我们常常需要实现文件上传,比较常见的就是图片上传,比如修改个头像什么的。但是这个功能在Android和iOS中都没有默认的实现类,对于Android我们可以使用Apache提供的HttpClient.jar来实现这个功能,其中依赖的类就是Apache的httpmime.jar中的MultipartEntity这个类。我就是要实现一个文件上传功能,但是我还得下载一个jar包,转载 2015-09-10 16:17:43 · 538 阅读 · 0 评论 -
Android最佳实践之:StrictMode介绍
http://tech.it168.com/a2011/0908/1243/000001243936_all.shtml【IT168技术】最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用转载 2015-09-06 17:45:12 · 284 阅读 · 0 评论 -
Android数据库
1.SQLite简介SQLite是一种流行的关系数据库管理系统(Relational Database Managerment System RDBMS).2.SQLite数据类型SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型。虽然它支持的类型虽然只有五种,但实际上s转载 2012-07-20 16:47:55 · 430 阅读 · 0 评论 -
android中如何通过代码检测是否有root权限?
封装了一个类,代码如下:public class ShellCommand {private Boolean can_su; public SH sh;public SH su;public ShellCommand() {sh = new SH("sh");su = new SH("su");}public boolean canSU() {retur转载 2015-09-21 17:10:00 · 3289 阅读 · 0 评论 -
【Android】不弹root请求框检测手机是否root
由于项目需要root安装软件,并且希望在合适的时候引导用户去开启root安装,故需要检测手机是否root。最基本的判断如下,直接运行一个底层命令。(参考https://github.com/Trinea/android-common/blob/master/src/cn/trinea/android/common/util/ShellUtils.java)也可参考csdn http://b转载 2015-09-21 17:07:43 · 669 阅读 · 0 评论 -
android数据存储
永久保存数据的方法:1.Shared Preferences 以键值对的形式存储基本数据类型( booleans, floats, ints, longs, and strings),存储的数据在限制在一个application(一个package)内部使用 2.Internal Storage 将私有文件存储到内部存储器中。这些文件是一个application私有的,其他application无转载 2012-07-20 16:54:14 · 289 阅读 · 0 评论 -
Android存储
本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据; 2 文件存储数据; 3 SQLite数据库存储数据; 4 使用ContentProvider存储数据; 6 网络存储数据; 下面将为大家一一详细介绍。第一种: 使用S转载 2012-07-20 16:47:13 · 489 阅读 · 0 评论 -
理解Fragment生命周期
官网帮助文档链接: http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周 二,与Activity生命周期的对比 场景演示 : 切换到该Fragment11-29 14:26:35.095: D/转载 2015-09-06 15:46:08 · 257 阅读 · 0 评论 -
Android应用层View绘制流程与源码分析
1 背景还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得最终分析结果就是下面的关系:看见没有,如上图中id为content的内容就是整个View树的结构,所以对每个具体View对象的操作,其实就是个递归的实现。前面《Androi转载 2016-07-27 15:06:06 · 848 阅读 · 0 评论 -
Android应用层View绘制流程与源码分析
1 背景还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得最终分析结果就是下面的关系:看见没有,如上图中id为content的内容就是整个View树的结构,所以对每个具体View对象的操作,其实就是个递归的实现。前面《Androi转载 2016-07-27 15:04:22 · 887 阅读 · 0 评论 -
Android View绘制流程
一、官方文档 先是看了一下官方的文档, 地址是http://developer.android.com/guide/topics/ui/how-android-draws.html,它大体讲解了View的绘制流程。在此翻译一下,方便大家阅读。 当一个Activity接收焦点,它将被要求画出它的布局。Android框架将处理画图,但Activity必须提供根节点布局的转载 2016-07-27 14:51:29 · 448 阅读 · 0 评论 -
Android Providing Up Navigation 提供向上的导航
http://developer.android.com/training/implementing-navigation/ancestral.htmlAll screens in your app that are not the main entrance to your app (the "home" screen) should offer the user a转载 2016-02-19 14:44:07 · 323 阅读 · 0 评论 -
Android相机开发那些坑
https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=401454605&idx=1&sn=d5a16f6dc13e7581fec08a4e704cd5d0&scene=0&key=710a5d99946419d9038196796c6fcfa1b25f52c9fb3c9e5e53f83af532207ee9d5fa74ef7a8ed5941a转载 2016-02-03 17:02:41 · 1307 阅读 · 0 评论 -
生还是死?Android 进程优先级详解
英文原文:Who lives and who dies? Process priorities on Android作者:Ian Lake,Google Android 推广工程师;翻译:Guokai Han。让我们面对现实:移动设备上没有无限的内存、无限的电池或者其它无限的资源。这对应用而言意味着你应该把进程死亡作为应用生命周期的一个自然过程对待。最重要的是确保杀转载 2016-02-03 15:48:15 · 433 阅读 · 0 评论 -
如何对 Android 库进行依赖管理?
Android 开发人员为项目选择库的时候,考虑的因素不仅仅是功能、可用性、性能、文档丰富度和技术支持情况。他们还关心库的大小,以及要添加的方法数量。因为项目越大,依赖也越多,要把应用的方法数量控制在65k 以下,开发人员感觉很有压力。另外,对于非发行版项目而言,Proguard 使用起来效率太低,而且开发人员视 multidex 如瘟疫,避之唯恐不及。因此,编写库的作者必须特别注意项目的大小。转载 2016-02-03 12:00:49 · 325 阅读 · 0 评论 -
Android 开发过程中常用的工具类
囊括了一大部分Android应用开发过程当中常用的工具类。工具类来源整理自网络和自己编写。所有的工具类简介 (a – z):AnimationUtils Animation工具类AppUtils APP相关信息工具类AssetDatabaseOpenHelper 读取Asset目录中数据库工具类BitmapUtil Bitmap工具类主要包括获取Bitmap和对Bitmap的操作C转载 2016-01-28 14:21:42 · 460 阅读 · 0 评论 -
提高Android Studio开发效率的奇技汇总
这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。这些技巧在实际应用中能够非常大的提高工作效率。关于快捷键The File Structure Popupctrl+f12此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。勾选上“show anonymou转载 2016-01-28 14:12:31 · 412 阅读 · 0 评论 -
android抓取各种log的方法
1、logcat (四类log buffer是main,radio,system,events)adb wait-for-device logcat adb logcat -v time > logcat.txt //默认是-b main -b systemadb logcat -v time -b main //main logad转载 2016-01-28 14:06:52 · 1080 阅读 · 0 评论 -
Ant 打包 Android 应用
通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序。如果在Navigator视图下,我们可以看到以下几个文件:在上图中,com包放置的是我们的class文件,classes.dex是class文件经过转换后的可以在dalvik上跑的精简类文件,resources.ap_是经过打包的资源文件,ant.apk就是最终的打包文件。使用ANT转载 2012-07-19 14:53:17 · 413 阅读 · 0 评论 -
Android文件资源(raw/data/asset)的存取
2012-03-12 09:36 Android文件资源(raw/data/asset)的存取在android开发中,我们离不开资源文件的使用,从drawable到string,再到layout,这些资源都为我们的开发提供了极大的便利,不过我们平时大部分时间接触的资源目录一般都是下面这三个。/res/drawable /res/values /res/layout转载 2012-07-22 21:35:57 · 619 阅读 · 0 评论 -
SpannableString 的用法
TextView txtInfo =(TextView)findViewById(R.id.tv);//SpannableString文本类,包含不可变的文本但可以用已有对象替换和分离。//可变文本类参考SpannableStringBuilderSpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");//转载 2015-09-10 17:26:06 · 588 阅读 · 0 评论 -
GridLayout与TableLayout布局
记录下GridLayout与TableLayout布局的一些知识点,这两个布局对比起来弄,感觉明显比较更能加深印象。GridLayout的使用设置:GridLayout 布局在 Level14才被支持,之前版本要使用的话,要按以下步骤设置: 1. import -> Existing Android Code Into Workspace 2. 选择目录: 在sdk下的转载 2015-10-19 17:03:13 · 769 阅读 · 0 评论 -
对于Android Service 生命周期进行全解析
Managing the Lifecycle of a Service service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:A started service 被开启的service通过其他组件调用 startService()被创建。 这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用s转载 2015-09-06 15:41:26 · 275 阅读 · 0 评论 -
Android ListView工作原理完全解析,带你从源码的角度彻底理解
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/44996879在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外转载 2015-07-24 16:40:32 · 431 阅读 · 0 评论 -
Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了。但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动转载 2015-07-24 16:19:30 · 321 阅读 · 0 评论 -
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/44171115大家好,欢迎继续回到Android属性动画完全解析。在上一篇文章当中我们学习了属性动画的一些进阶技巧,包括ValueAnimator和ObjectAnimator的高级用法,那么除了这些之外,当然还有一些其它的高级技巧在等着我们学习,因此本篇文章就对整个属性动画转载 2015-07-24 16:24:07 · 368 阅读 · 0 评论 -
Android属性动画完全解析(上),初识属性动画的基本用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单,其实转载 2015-07-24 16:11:55 · 293 阅读 · 0 评论 -
我为什么主张反对使用Android Fragment
Fragments的经验教训尽管存在缺点,fragments教给我们宝贵的教训,让我们在编写app的时候可以重用:单Activity界面:没有必要为每个界面使用一个activity。我们可以分割我们的app为解耦的组件然后根据需要进行组合。这使得动画和生命周期变得简单。我们可以把组件代码分割成视图代码和控制器代码。返回栈不是activity特性的概念;我们可以在一个acti转载 2015-07-23 18:09:09 · 672 阅读 · 0 评论 -
Android系统下载管理DownloadManager
转载:http://www.trinea.cn/android/android-downloadmanager/http://www.trinea.cn/android/android-downloadmanager-pro/http://blog.csdn.net/sir_zeng/article/details/8983430Android系统下载管转载 2015-07-15 14:13:52 · 2961 阅读 · 0 评论 -
Android优化汇总
转载:http://www.trinea.cn/android/android-traceview/http://www.trinea.cn/android/database-performance/http://www.trinea.cn/android/layout-performance/http://www.trinea.cn/android/java-andr转载 2015-07-15 11:20:34 · 969 阅读 · 0 评论 -
AndroidStudio安装下载和配置
转载:http://blog.csdn.net/yy1300326388/article/details/46324747http://blog.csdn.net/yy1300326388/article/details/46335991http://blog.csdn.net/yy1300326388/article/details/46365053转载 2015-07-14 15:10:22 · 733 阅读 · 0 评论 -
Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别!
看下源码中对于这两个方法 public void notifyDataSetChanged () 该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。 public void notifyDataSet转载 2015-10-19 14:06:48 · 1021 阅读 · 0 评论 -
AndroidUI组件之ProgressBar
packagecom.gc.progressbar;/* * 1、ProgressBar组件也是一组重要的组件,ProgressBar本身代表了进度条组件, * 它还派生了两个常用的组件:SeekBar和RatingBar。 * 2、进度条的功能与用法: * 进度条通常用于向用户显示某个耗时操作完成的百分比,进度条可以动态地显示进度转载 2015-10-21 11:16:02 · 461 阅读 · 0 评论 -
Android: 实现类似QQ、微信的表情输入键盘
需求最近在写北邮人论坛客户端时,有一个需求是实现像手机QQ、微信那样的表情输入键盘,效果图:表情键盘本身并不难做,无非就是一个带SlidingTab的ViewPager,困扰我的地方在于,如何正确处理系统软键盘与表情键盘之间的显隐关系。Google了一下,大概有这么几种思路:第一种:动态改变SoftInputMode这篇博文是国内网上转载比较多的方法转载 2015-10-20 16:24:58 · 935 阅读 · 0 评论