自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 Tools在android开发中的应用

<ListView android:id="@+id/one" tools:listfooter="@layout/content_layout" tools:listitem="@layout/content_list_item" android:layout_width="match_parent" ...

2018-02-08 10:07:12 228

转载 GreenDao3.2的使用

1、在app的Gradle中配置:apply plugin: 'org.greenrobot.greendao' dependencies {        compile 'org.greenrobot:greendao:3.2.0'}2、在project的Gradle中配置:buildscript {    repositories {        jcenter()

2017-01-25 13:47:43 2445

转载 RxJava学习笔记

1.概念:扩展的观察者模式 RxJava的异步实现,是通过一种扩展的观察者模式来实现的。 观察者模式: A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 B 变化的一瞬间做出反应。观察者不需要时刻盯着被观察者(例如 A 不需要每过 2ms 就检查一次 B 的状态),而是采用注册(Register)或者称为订阅(Subscribe)的方式,告诉被观察者:我需要

2017-01-24 02:49:04 545

转载 GreenDao3.2.0使用教程

1、在app的Gradle中配置:apply plugin: 'org.greenrobot.greendao' dependencies {        compile 'org.greenrobot:greendao:3.2.0'}2、在project的Gradle中配置:buildscript {    repositories {        jcenter()

2017-01-23 20:46:42 10203 2

原创 Android 6.0新特性之Doze模式

Doze模式可以极大幅度延长电池的使用寿命。我将从编程时的一些注意事项入手讲解。 1.什么是Doze模式 如果该设备未插接电源,处于静止状态(Android7.0中删除这一条件),且屏幕关闭了一段时间之后就会进入到Doze模式。在Doze模式下,系统会对CPU,网络,Alarm等活动进行限制,从而延长电池使用寿命。 系统不会一直处于Doze模式,而是会间歇性的退出D

2017-01-22 19:46:20 541

转载 NavigationView的用法

> 导航菜单的制作方式多种多样,网上也有各种炫酷效果的具体实现方式,那么今天我主要是想来说说Google在Android5.0之后推出的NavigationView的具体使用方式。NavigationView在很多App上都已经可以看到其效果图,国内的比如知乎(侧拉菜单滑出来的那一部分属于NavigationView),如下图:还有Google自己的那些app,也基本全都采用了Navigation

2017-01-21 17:24:05 524 1

原创 Android_AppTheme_resources

方便以后查阅

2017-01-21 15:23:23 305

原创 GitHub使用教程

1.找到GitBash并打开 git config –global user.name “用户名” git config –global user.email “邮箱” 去掉用户名和邮箱可以检查配置是否成功 2.创建仓库 cd 指定文件目录 C:/Users/lenovo/Desktop/MyApplication/lbstest git init 3.提交代码 只需要使用add和

2017-01-20 03:11:39 315

原创 自定义通知(推送)效果

一般只有当程序进入到后台的时候我们才需要使用通知。 步骤: ①创建一个NotificationManager来对通知进行管理(getSystemService()获取实例) ②使用Builder构造器来创建一个Notification对象(使用V4包),最后都要调用build()方法 ③调用NotificationManager的notify()方法 ④点击效果的实现pendingInte

2017-01-11 17:32:06 652

翻译 Fragments

1.定义 Fragment表现Activity中用户界面的一个行为或者是一部分。可以再Activity运行时添加或者删除。 2.生命周期 onCreate():在创建fragment时系统会调用此方法。可以在初始化想要在fragment中保持的那些必要的组件。 onCreateView():第一次为fragment绘制用户界面时调用此方法。返回函数所绘出的fragme

2017-01-09 21:26:54 502

转载 Android权限

Android 的权限设置大全 - 开源中国社区 var _hmt = _hmt || []; (function() { var

2017-01-08 23:08:23 267

原创 数据持久化存储技术

保存在内存中的数据是处于瞬时状态的,而保存在存储设备中的数据是处于持久化状态的文件存储: 特点:不对存储的内容进行任何的格式化处理,所有数据都是原封不动的保存到文件中的。 存储类型:简单的文本数据或二进制数据SharedPreferences存储: 特点:使用键值对的方式,SP存储默认使用XML格式对齐进行管理。 得到SharedPreferences对象的三种方式 ①:Context类的

2017-01-05 22:50:17 514

翻译 Android增量更新

应用市场省流量更新软件,一个几百M的软件可能只需要下载一个20M的增量包就能完成更新。那么它是如何做的呢?增量更新的流程是:用户手机上安装着某个应用,下载了增量包,手机上的apk和增量包合并形成新的包,然后再次安装整个流程细化为几个关键点: 1.用户手机上提取当前安装应用的apk 2.如何利用old.apk和new.apk生成增量文件 3.增加文件与1.中的old.apk合并,然后安装

2017-01-05 20:00:00 296

翻译 Android热修复

1.什么是热修复 如果一个项目已经上线,出现了严重BUG,那么你第一反应是推送新版本,而热修复就是推送一个补丁文件到客户端,用户打开应用时自动安装。AndFix,全称是Android hot-fix。是阿里开源的一个Android热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。AndFix注意的地方 1.不支持添加字段,方法,资源布局修改,类 2.虽然不支持添加字段,但是你可以

2017-01-05 19:11:22 248

原创 GreenDao理解

1.实体类的注解: 在Java代码中使用实体类代表我们需要持久化的数据。3.0以后由我们编写实体类,并添加注解。 1)@Entity 该实例是类的注解,告诉greenDAO这个类是需要持久化的实体类 2)@ID,field注解,表示选择一个long或Long类型的属性作为该实体所对应数据库中数据表的主键,参数可以设置(autoincreament=true) 3)@Property,fie

2017-01-03 23:04:40 608

原创 Activity进阶

ActivityManager负责创建Activity的实例并调用其onCreate()方法package com.atguigu.geoquiz;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.

2017-01-03 16:37:47 308

原创 广播的分类,注册,本地广播

简单简绍一下同步和异步的区别 同步:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步:发送方发出数据后,不等接收方响应,接着发送一下个数据包的通讯方式。标准广播: 异步执行,效率高,无法被拦截。 有序广播: 同步执行,可以截断,优先级高的广播接收器就可以先收到广播消息。

2016-12-30 16:42:16 521

原创 碎片和活动之间进行通信

为了方便碎片和活动之间进行通信,FragmentManager提供了一个类似于findViewById()的方法,专门用于从布局文件中获取碎片实例、RightFragment rightFragment = (RightFragment)getFragmentManager()findFragmentById(R.id.right);碎片调用活动中的方法 MainActivity activity

2016-12-28 18:29:05 977

原创 采用AIDL调用远程服务

AIDL的作用: AIDL (Android Interface Definition Language)它是一种IDL 语言,用于生成可以在Android设备上两个进程之间通信的代码。如果一个进程中要调用另一个进程对象的操作,就可以使用AIDL实现。AIDL使用场合: 只有你允许客户端从不同的应用程序为了进程间的通信而去访问你的service,以及想在你的service处理多线程。调用远程服务

2016-12-19 21:52:52 428

原创 android应用第二次登录实现自动登录

1.第一次登陆getUserInfo里带一个长效token,该长效token用来判断用户是否登录和换取短token 2.通过sp存储将长效token保存起来。 3.接口请求用长效的token换取短token,短token服务端可以根据你的接口最后一次请求作为指示,超时时间为一天。 4.如果短小token失效在用长效token去替换 5.长效Token失效,提示用户再次登录

2016-12-18 22:33:38 5173

原创 Android自定义控件

View是什么 1.View类是所有用来构建用户界面组件的基类。 2.一个View对象占用屏幕上的一个矩形区域,它负责界面的绘制和事件处理 3.手机屏幕上看得见摸得着的都是ViewViewGroup 这里简单简绍一下ViewManager 1.addView():添加子View 2.removeView():删除子View 3.updateViewLayout():更新子View手机屏

2016-12-17 21:39:59 490

原创 SlidingMenu与DrawerLayout的区别

SlidingMenu是一个开源框架实现效果更好,但是DrawerLayout直接写布局文件就好了。但是实现效果并没有SlidingMenu那么好。SlidingMenu与ViewPager搭配使用的时候避免左右滑动的时候SlidingMenu响应,可以自定义一个HorizontalScrollViewPager,实现水平滑动ViewPager通过反拦截返回true实现.

2016-12-17 20:11:35 869

原创 RadioGroup + Fragment实现项目框架搭建

RadioGroup + Fragment采用add()和hide()方法里实现切换,replace()每次都会调用onCreate()方法会出现卡顿的现象。横竖屏切换的时候导致重新创建Fragment问题:采用show(),hide()方法 解决横竖屏切换导致Fragment内容重叠问题:在功能清单文件中设置configChanges

2016-12-17 18:11:37 320

原创 Android常用控件和布局

文本类控件 TextView:负责文本展示,非编辑 可以做成跑马灯的效果 android:ellipsize=”marquee” android:marqueeRepeatLimit=”marquee_forever” android:singleLine=”true” EditText:可编辑文本控件(cursorVisible:光标的显示和影藏)按钮类控件 Button: Imag

2016-12-17 17:50:57 517

原创 View Animator(Tween Animator)、Drawable Animator(Frame Animator)、Property Animator

1.View Animator(Tween Animator) 可以通过一个容器内执行一系列简单变化(位置,大小,透明度,旋转)等。 View动画只能够为View添加动画,它改变的是View的绘制效果,view的属性没有发生改变,其位置和大小都不会变。2.Drawable Animator(Frame Animator) 把一系列图片,按照幻灯片的效果播放出来。3.Property Anima

2016-12-17 15:35:54 426

原创 Okhttp,Volley,xUtils,HttpURLConnection联网框架

volley是一个简单的异步http库,仅此而已。比较适合小而繁琐的Http请求。缺点是不支持同步,这点会限制开发,不是上传大文件。okHttp是高性能的http库,支持同步,异步,而且实现了spdy、http2、websocket协议。可以结合retrofit和rxJava配合使用。xUtils太大了,而且太杂。HttpURLConnection:是官方的,在Android4.0之后被okhttp

2016-12-16 11:06:29 389

原创 Android中的动画

android的动画分为3大类:补间动画,帧动画,属性动画补间动画方式可以使视图组件移动,放大,缩小以及透明度的变化;可以通过布局文件,可以通过代码。 注意:补间动画并不改变属性的值,它只是改变了View对象绘制的位置,而没有改变View对象本身。Frame动画 传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。属性动画 通过动画的方式改变对象的属性。 比如: Duration:

2016-12-16 10:22:09 244

原创 四大组件之Activity

1.整体理解 Activity是一个负责与用户进行交互的组件。一个用户交互画面对应一个activity,可以通过setContentView(View v)方法来显示需要的控件。Activity是Context的子类,同时实现了window.callback接口(通过里面的dispatchTouchEvent方法可以分发事件)和keyevent.callback等,可以处理与窗体用户交互的

2016-12-14 22:20:56 487

原创 数据存储有几种方式?分别是什么?

Android提供了五种方式存储数据: 1)使用SharedPreferences存储数据;它是Android提供用来存储一些简单配置信息的一种机制,采用XML格式将数据存储到设备中。只能在同一个包中使用 2)文件存储数据;文件存储方式是一种较为常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOu

2016-12-14 16:54:01 10155

原创 Service和IntentService的区别

Service主要用于后台服务当应用被挂到后台的时候,为了保证应用某些组件任然可以工作而引入了Service这个概念,这里面的Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,在更多的时候不建议在Service中编写耗时的逻辑和操作,否则会引起ANR。IntentService是继承Service的,那么它包含了Service的全部特性,当然也包含service的生命周期

2016-12-14 16:36:15 512

原创 Activity和Fragment如何进行通信

Activity向Fragment传递数据 一:通过bundle设置参数Bundle bundle = new Bundle(); bundle.putString(“name”,”加多宝”) setArguments(bundle); 二:通过调用接口,设置接口,让被接收数据方,实现该方法让发送方调用该接口Fragment向Activity 传递数据一:通过getActivity强转成需要接

2016-12-14 16:10:31 513

原创 你后台的Activity被系统回收怎么办?

重写onSaveInstanceState()方法,再次方法中保存需要保存的数据,该方法会在activity被GC回收之前调用。 在onRestoreInstanceState()方法中可以提取保存好的数据

2016-12-14 15:59:12 1374

原创 Android的四大组件是那些,它们的作用?

Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,他需要保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑。Service:后台服务于Activity,封装一个完整的功能逻辑实现,接受上层指令,完成相关的事物ContentProvider:是Android提供的第三方应用数据的访问文案,可以派生ContentProvider类,对外提供数

2016-12-14 15:35:58 5237

原创 ListView详解

1.如何提高ListView的效率 ①:复用converterView,使用已经建好的对象。 ②:使用ViewHolde,减少findViewById()的次数 ③:对数据列表进行分页加载显示 1)通过Scroll监听ListView.setOnScrollListener,当到达底部时加载下一页列表数据并显示。 2)使用第三方,比如Android-PullToRefresh等 ④:图片

2016-12-10 23:49:53 302

原创 Activity解析(五)-活动的启动模式

在功能清单文件通过android:launchMode来设置启动模式 1.standard:每次不在乎栈中是否已经存在这个活动了,每次启动都会新建一个该活动的新的实例。 2.singleTop:栈顶如果是该元素,可以直接使用,不会再创建新的活动实例。当元素不再栈顶的时候还是会创建的。 3.singleTask:每次启动活动前都会检查该活动是否存在,存在则将它上面的活动功能移出栈;不存在就创建一

2016-12-10 22:56:28 263

原创 Service是否在mainThread中执行,service里面是否能执行耗时操作

感谢飞龙哥,大海老师, 红康老师,福仔技术支持

2016-12-10 10:23:27 1597

原创 自定义了一个标题栏类TitleLayout

直接上代码,大家在以后的开发中根据实际需求可以做一些修改。

2016-12-09 21:24:55 738

原创 Activity解析(四)-创建一个公共的activity

直接上代码,在开发中可以直接使用这个。 首先我创建了一个Activity的管理类

2016-12-09 16:30:35 361

原创 Activity解析(三)-活动的生命周期

在讲解活动的生命周期之前,简单的给大家简绍一下Activity是如何管理的。在Android中我们通过使用任务栈(Task)来管理活动,一个任务栈中存放了多个Activity。栈的特点是先进后出。1.活动的状态(我主要是根据活动是否在栈顶和可见性来区分的)

2016-12-09 00:45:50 382

原创 Activity解析(二)

本文主要讲解Intend在活动之间使用的情况。大致分为以下几种方式: 1.使用显示Intent 2.使用隐式Intent 3.调用系统action的Intent 4.携带参数的Intent 5.带回调的Intent在说明上面这些知识点之前,先简单为大家简绍一下的作用:

2016-12-09 00:08:13 300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除