android开发基础
文章平均质量分 82
stormCoderStorm
做一个谦卑的人,一个没有脱离低级趣味的人
展开
-
Activity生命周期讲解
这编文章主要适合于初学者阅读,希望能够帮助那些对Activity理解模糊的童鞋,好了废话少说正文开始。1.google中Activity生命周期方法示意图 1).onCreate方法 当Activity第一次创建的时候调用。这个方法里主要是提供给我们做一些初始化操作,如:创建view、绑定数据到view。同时这个方法里还带有一个Bundle参数,这个参数的主要的用途会在后面的onSavedI原创 2016-09-18 11:37:18 · 538 阅读 · 0 评论 -
android中实现一键加QQ群功能
需要实现如下三步:(1)浏览器访问QQ群网页(2)扫码登录如下图:(3)复制代码,并添加到项目中.原创 2016-12-11 11:17:00 · 3224 阅读 · 0 评论 -
Glide加载网络图片学习网址
1.Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果2.Glide学习官网3.Android图片缓存之初识Glide4.Glide学习中文文档整理5.使用Glide加载图片系列之一从不同的数据源加载图片原创 2016-12-14 10:13:14 · 322 阅读 · 0 评论 -
Android Studio中NDK开发
为何要用到NDK?NDK:全称为Native Development Kit概括来说主要分为以下几种情况: 1 代码的保护,由于apk的Java层代码很容易被反编译,而C/C++库反编译难度较大;2 在NDK中调用第三方C/C++库,因为很多的开源库都是用C/C++代码编写的,例如:OpenGL,FFmpeg等;3 便于移植,用C/C++写的库可以很方便在其它的嵌入式平台上再次使用。NDK其实是原创 2016-12-22 15:54:23 · 306 阅读 · 0 评论 -
Android状态栏学习博客---供参考
1.Android状态栏微技巧,带你真正理解沉浸式模式2.android状态栏一体化(沉浸式状态栏)3.Android点滴原创 2016-12-22 16:07:25 · 426 阅读 · 0 评论 -
Android 中Activity,Window和View之间的关系
1.Android getDecorView用途2.Android DecorView浅析3.decorView和window之间的层级及关系4.Window窗口布局 — DecorView浅析5.Android应用程序窗口(Activity)的视图对象(View)的创建过程分析6.深入理解View(一):从setContentView谈起原创 2016-12-22 16:11:15 · 284 阅读 · 0 评论 -
Android项目针对libs(armeabi,armeabi-v7a,x86)进行平台兼容
1.Android设备如何加载.so文件? 不同CPU架构的Android手机加载时会在libs下找自己对应的目录,从对应的目录下寻找需要的.so文件;如果没有对应的目录,就会去armeabi下去寻找,如果已经有对应的目录,但是如果没有找到对应的.so文件,也不会去armeabi下去寻找了。 以x86设备为例,x86设备会在项目中的 libs文件夹寻找是否含有x86文件夹,如果含有x86文件夹,转载 2016-12-24 13:56:10 · 2613 阅读 · 0 评论 -
AS中引入Lambda表达式
前言最近项目中考虑使用Rxjava进行项目重构,而jdk1.8中新增的核心特性中的lambda表达式与其结合起来很完美,所以写了这篇文章,简单的介绍下AS中如何使用Lambda表达式.lambda表达式取代了匿名内部类,取消了模板,允许用函数式风格编写代码,使代码可读性更高,也更简洁,详细介绍请参考 java8 简明介绍 如何在AS中配置lambda?(1)引入retrolambda插件(2)应原创 2016-11-03 18:03:51 · 1087 阅读 · 1 评论 -
Dagger2学习网址参考
1.Dagger2入门2.Dagger2-初认识一原创 2017-02-22 14:43:48 · 225 阅读 · 0 评论 -
你真的理解了compileSdkVersion,minSdkVersion,targetSdkVersion含义了吗?
我们在使用AS开发中,会经常看到module的gradle会有如下的配置android { **(1) compileSdkVersion 25** buildToolsVersion "26.0.0" defaultConfig { applicationId "com.test.unittestapplication" **(2) minSdkVer原创 2017-08-25 10:51:26 · 4410 阅读 · 2 评论 -
Android手机设置中的清除App数据选项的思考?
今天读到SharedPreferences源码的时候,一时突发奇想手机设置中的真对单个app清除数据的时候会清除哪些数据,虽然之前一直都知道SharedPreferences这样的数据会被清除掉,但是一直没有实践过,因此做了个测试用来验证这个结论。 测试如下:public final String TAG = MainActivity.class.getSimpleName(); priva原创 2017-08-24 16:26:44 · 4498 阅读 · 0 评论 -
android中深入理解 Context
什么是Context?想必大家都不陌生,在 Android 开发中离不开 Context 调用各种跟系统有关的 API 都必须用到 Context 。我们可以将她理解为上下文环境,大概就是里面存储一堆全局变量,这些变量在调用系统 API 时需要用到。文字始终难以表达我想说的,咱们来分析原理吧!Context 哪里来的?开发 Android 应用必须得有一个 Activity ,然后在你的 Acti原创 2016-11-02 14:51:28 · 351 阅读 · 0 评论 -
Activity与Fragment通信
前言在Android3.0的时候被引入,它的出现主要是给大屏幕设备提供更加灵活的UI支持。通过对Activity布局进行分片,更加方便的对每块进行独立控制。这些片段可以被不同的activity复用。Fragment生命周期Fragment必须是依存与Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期。官网这张图很好的说明了两者生命周期的关系:可以看到Fra原创 2016-10-30 14:29:39 · 503 阅读 · 0 评论 -
EventBus 3.0---真之我见
前言EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。但缺点是大量的滥用,将导致逻辑的分散,出现问题后很难定位。如何使用?(AS背景)(1)module下添加EventBus3.0的依赖compile原创 2016-10-09 21:13:47 · 298 阅读 · 0 评论 -
Android 利用Gradle实现app的变异化构建
package 与 applicationId在使用Eclipse开发Apk或旧版本的Gradle构建系统中,应用的包名由AndroidManifest.xml文件中package属性决定。同时,这个package还被用来定义命名被引用的资源类R文件。 但是在新的Android Gradle构建系统中,package属性的两大作用得到了解藕:applicationId作为应用的唯一标识符(包名),转载 2016-10-11 21:01:56 · 524 阅读 · 0 评论 -
Android中IPC机制之service(一)
前言官方的介绍:Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。另外,一个组件能够绑定到一个service与之交互(IPC机制),例如,一个service可能会处理网络操作,播放音乐,操作文件I/O或者与内容提供者(content provider)交互,所有这些活动都是在原创 2016-10-12 15:22:21 · 533 阅读 · 0 评论 -
android中SharePreference的使用
前段时间项目中用到了进程间的通信,用到了之前的SharePreference结果会导致获取脏数据的问题,因此觉得有必要写下SharePreference的使用。前言因为SharedPreferences在SDK2.3 之前是默认的,确实可以通过设置MODE_MULTI_PROCESS实现多进程访问,SDK2.3之后就需要手动设置,但是这个标志在 SDK6.0 的时候已经被Deprecated,And原创 2016-11-03 11:28:35 · 8136 阅读 · 0 评论 -
Android中双进程守护的实现
一般为了保证后台进程不被系统干掉,人为的或者是系统因为内存不足的原因,我们希望自己应用的进程一直存在或者不被轻易的杀死,一般的套路会包含以下几点:(1)提升service进程优先级在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = “1000”这个属性设置最高优先级,1000是最高值,如果数字越小则优先级越低,同时实用于广播<se原创 2016-10-12 19:03:16 · 377 阅读 · 0 评论 -
Android中IPC机制之(二)
什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口 icp:interprocess communication :内部进程通信。在 Android中, 每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢? 显然, Ja原创 2016-10-12 17:05:11 · 187 阅读 · 0 评论 -
Rxjava简介(一)
前言在上一节文章中提到了Lambda与Rxjava结合使用很完美,对AS中如何使用Lambda表达式做了介绍(AS中引入Lambda表达式),接下来介绍下Rxjava的操作符结合Lambda的使用。配置grade对Rxjava的依赖dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'io.原创 2016-11-04 11:35:05 · 415 阅读 · 0 评论 -
Android混淆的深度理解
简介 作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇文章的目的就是让一个初学者在看完后,能在不进行任何帮助的情况下,独立写出适合自己代码的混淆规则。说在前面 这里我们直接用Android Studio来转载 2016-09-28 13:13:24 · 1121 阅读 · 0 评论 -
java注解详述
引言 自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何编写自定义的注解(通过例子),什么情况下可以使用注解以及JDK8最新注解。什么是注解? Annotation是一种应用于类、方法、参数、原创 2016-09-28 14:04:30 · 332 阅读 · 0 评论 -
Gradle学习参考资料
1.Gradle学习系列之一——Gradle快速入门2.深入理解Android之Gradle——by 阿拉神农3.Gradle脚本基础全集原创 2016-09-28 13:19:55 · 308 阅读 · 0 评论 -
Android 中如何通过原始 APK 获取信息
aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。在使用aapt之前需要在环境变量里面配置原创 2016-10-11 20:22:17 · 381 阅读 · 0 评论 -
简单从Android源码的角度分析下SharePreference
获取SharePreference对象的途径 Context的实例方法 @Override public SharedPreferences getSharedPreferences(String name, int mode) { return mBase.getSharedPreferences(name, mode); } Activity的原创 2017-08-30 17:15:46 · 430 阅读 · 0 评论