![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
想飞的人
这个作者很懒,什么都没留下…
展开
-
Android studio 插件
Android studio 插件gsonformat 使用方法:alt+sandroid code generator 根据xml自动生成代码Android parcelable code generator javabean序列化,快速实现parcelable接口Android methods count 显示依赖方法库中的方法数lifecycle sorter 根据生命周期原创 2016-12-01 08:40:14 · 224 阅读 · 0 评论 -
gradle基本概念
红色标记部分从上到下来一步步分析9GAG/app/build.gradle// 声明是Android程序apply plugin: 'com.android.application'android { // 编译SDK的版本 compileSdkVersion 21 // build tools的版本 buildToolsVersion "21.1.1"原创 2016-12-04 08:21:55 · 266 阅读 · 0 评论 -
android之aidl研究(1)
概述AIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言。是的,首先我们知道的第一点就是:AIDL是一种语言为什么要设计这门语言设计这门语言的目的是为了实现进程间通信,尤其是在涉及多进程并发情况下的进程间通信。每一个进程都有自己的Dalvik VM实例,都有自己的一块独立的内存,都在自己的内存上存储自己的数据,执行着自原创 2016-12-04 09:17:28 · 266 阅读 · 0 评论 -
android之aidl研究(2)
如何使用aidl文件来完成跨进程通信在进行跨进程通信的时候,在AIDL中定义的方法里包含非默认支持的数据类型与否,我们要进行的操作是不一样的。如果不包含,那么我们只需要编写一个AIDL文件,如果包含,那么我们通常需要写 n+1 个AIDL文件( n 为非默认支持的数据类型的种类数)——显然,包含的情况要复杂一些。所以我接下来将只介绍AIDL文件中包含非默认支持的数据类型的情况,至于另一种简单些的情况原创 2016-12-04 10:40:30 · 283 阅读 · 0 评论 -
android中自动生成parcelable
在Android studio中安装android parcelable code generator 插件 书写自己的目标类public class DemoParcelable { String aString; int aInt; double aDouble; HashMap<String, String> aHashMap; ArrayList<原创 2016-12-04 10:56:31 · 1354 阅读 · 0 评论 -
gradle文件详细介绍
项目空间build.gradle文件:// Top-level build file where you can add configuration options common to all sub-projects/modules. /** * 项目空间的编译环境 */ buildscript { /** * 当前仓库源 */ re原创 2016-12-04 13:13:51 · 633 阅读 · 0 评论 -
Android清单文件属性大全
android:allowTaskReparenting是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。android:alwaysRetainTaskState是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态android:clearTaskOnLanunch比如 P 是 activity, Q 是被P 触发的 activity原创 2016-12-04 14:17:39 · 356 阅读 · 0 评论 -
service详解
1. 什么是serviceService是一个可以在后台执行长时间操作而不使用用户界面的应用组件。那么问题来了,既然它不使用用户界面,那么它怎么知道应该什么时候开始执行什么操作呢?答案是——它可以与其他的引用组件形成一些联系,从而可以根据其传来的信息在合适的时候执行合适的操作。一般来讲,这种联系分为两种:startService()以及bindService()。这两种联系都可以使得一个serv原创 2016-12-04 15:54:07 · 508 阅读 · 0 评论 -
uiautomator自动化测试
module:appapply plugin: 'com.android.application' 2 3 android { 4 compileSdkVersion 23 5 buildToolsVersion "23.0.2" 6 7 defaultConfig { 8 //不要遗漏这句话 9 testInstrumen原创 2016-12-05 01:34:44 · 1509 阅读 · 0 评论 -
URI、URL与URN的关系
URIURI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源URLURL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源URNURN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java原创 2016-12-05 11:38:45 · 412 阅读 · 0 评论 -
如何在程序里动态更改app中的icon
原理:1. activity-alias2. getApplicationContext().getPackageManager().setComponentEnabledSetting(getComponentName()|new ComponentName(getBaseContext(),"com.example.demo.TestActivity"),PackageManager.COMPO原创 2017-01-04 10:30:14 · 631 阅读 · 0 评论 -
git之.gitignore
.ignore常用规则/mtk/过滤整个文件夹*.zip过滤所有.zip文件/mtk/do.c过滤某个具体文件添加文件到版本管理中:规则开头多一个感叹号原创 2016-12-03 22:04:01 · 187 阅读 · 0 评论 -
android studio之三视图
project视图android的module推荐这么写.gitignore文件/build*.imlAndroid的项目推荐这么写.gitignore文件# Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.class # Generated f原创 2016-12-03 21:53:42 · 299 阅读 · 0 评论 -
Android中四种进程的重要顺序
前台进程(foreground)目前正在屏幕上显示的进程和一些系统进程。举例来说,Dialer Storage,Google Search等系统进程就是前台进程;再举例来说,当你运行一个程序,如浏览器,当浏览器界面在前台显示时,浏览器属于前台进程(foreground),但一旦你按home回到主界面,浏览器就变成了后台程序(background)。 我们最不希望终止的进程就是前台进程可见进程(vi原创 2016-12-11 16:54:23 · 411 阅读 · 0 评论 -
Looper,Handler,Message Queue和线程之间的那些事
andriod提供了 Handler 和 Looper 来满足线程间的通信。 Handler 先进先出原则。 Looper 类用来管理特定线程内对象之间的消息交换 (MessageExchange) 。 1) Looper: 一个线程可以产生一个 Looper 对象,由它来管理此线程里的 MessageQueue( 消息队列 ) 。 2) Handler: 你可以构造 Handler原创 2016-12-11 17:32:01 · 326 阅读 · 0 评论 -
activity的生命周期
onCreate :表示Activity正在被创建。在这里可以做一些初始化的工作。onRestart :表示Activity正在重新启动。当当前Activity从不可见重新变成可见状态。onStart :表示Activity正在被启动。已经可见,但不在前台,无法交互。onResume :表示Activity已经可见,并且出现在前台可以交互。onPause :表示Activity正在停止。在这原创 2016-12-11 17:36:16 · 252 阅读 · 0 评论 -
activity的启动模式
activity的启动模式activity的启动模式有四种standard 被启动就会创建一个新的singleTop 栈顶单实例(当该activity处于task栈顶时,可以复用,直接onNewIntent)singleTask 栈中单实例(oncreate该activity并销毁在他之上的其他activity)singleInstance 全原创 2016-12-02 11:57:16 · 172 阅读 · 0 评论 -
用到的开源库
SystemBarTint系统栏管理器,我把它用在ZBLibrary的BaseActivity中实现了状态栏沉浸。Android-Universal-Image-Loader非常强大的图片加载库,我在ZBLibrary中写了一个ImageLoaderUtil来简化使用它。 UIL唯一的缺点是不支持动态加载,需要动态加载建议用Google的Glide。 XListView-Android下拉刷新、原创 2016-12-02 13:45:14 · 257 阅读 · 0 评论 -
编程思想
能复制就复制,节约时间避免出错保留原本结构,简单上手容易调试说明随手可得,不用上网或打开文档增加必要注释,说明功能和使用方法命名尽量规范,容易查找一看就懂函数尽量嵌套,减少代码容易修改最先参数判错,保证外部任意调用代码模块分区,方便浏览容易查找封装常用代码,方便使用降低耦合回收多余占用,优化内存提高性能分包结构合理,模块清晰浏览方便原创 2016-12-02 13:50:31 · 209 阅读 · 0 评论 -
Android中activity与Fragment通信
activity使用fragment中的方法new MyFragment().toastShow();fragment使用activity中的方法 ((MainActivity)getActivity()).getTestString();activity响应 Fragment中的点击事件 public interface OnButton2ClickListener{ publi原创 2016-12-02 15:14:55 · 205 阅读 · 0 评论 -
Android基础知识
AsyncTask使用在哪些场景?它的缺陷是什么?如何解决? AsyncTask 运用的场景就是我们需要进行一些耗时的操作,耗时操作完成后更新主线程,或者在操作过程中对主线程的UI进行更新。 缺陷:AsyncTask中维护着一个长度为128的线程池,同时可以执行5个工作线程,还有一个缓冲队列,当线程池中已有128个线程,缓冲队列已满时,如果此时向线程提交任务,将会抛出RejectedEx原创 2016-12-12 08:33:10 · 331 阅读 · 0 评论 -
Android 动画之interpolator
Android:interpolator被用来修饰动画效果,定义动画的变化率,可以是存在的动画效果accelerated(加速),decelerate(减速),repeated(重复),bounced(弹跳)等。 AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速 AccelerateInterpolator 在动画开始的原创 2016-12-03 20:03:20 · 167 阅读 · 0 评论 -
android之translate
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="240" android:fromYDelta="100%p" android:interpolator="@android:anim/decelerate_interpolator" andr原创 2016-12-03 20:22:42 · 675 阅读 · 0 评论 -
dto层与model层的区别
Model层是面向业务的,我们是通过业务来定义Model的。而DTO是面向界面UI的,是通过UI的需求来定义的。 通过DTO我们实现了表现层与Model之间的解耦,表现层不引用Model。如果开发过程中我们的模型改变了,而界面没变,我们就只需要改Model而不需要去改表现层中的东西。 需要了解的是,数据传输对象DTO本身并不是业务对象。数据传输对象是根据UI的需求进行设计的,而不 是根据原创 2017-01-08 07:57:45 · 9389 阅读 · 0 评论