自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 2017.11.19

1.Bundle传值与取值 http://blog.csdn.net/xiejunna/article/details/516131642.Android AutoLayout全新的适配方式 http://blog.csdn.net/lmj623565791/article/details/499909413.Butter Knife http://blog.csdn.net/qq_31387

2017-11-27 10:19:53 221

原创 Android动画深入分析

一、View动画(视图动画)

2017-11-19 19:42:43 176

原创 JNI和NDK编程入门

JNI本意(Java Native Interface)Java本地接口,它是为了方便Java调用C,C++等本地代码所封装的一层接口。我们知道,Java的优点就是跨平台,但是作为优点的同时,其在本地交互的时候就出现了短板。Java的跨平台特性导致其本地交互的能力不够强大,一些和操作系统相关的特性Java无法完成,于是Java提供JNI专门用于和本地代码交互,这样就增强了Java语言本地交互能力。通

2017-04-08 15:26:31 394

原创 获取Crash信息、分包

一、获取Crash信息public class CrashHandler implements UncaughtExceptionHandler { private static final String TAG = "CrashHandler"; private static final boolean DEBUG = true; private static final S

2017-04-08 09:36:33 362

原创 Android的线程和线程池

一、Android中线程形态1.AsyncTaskAsyncTask是一个轻量级的异步任务类,它在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。AsyncTask封装了Thread和Handler,通过它可以更加方便得执行后台任务以及在主线程中访问UI,但是它并不适合特别耗时的后台任务,特别耗时的任务建议使用线程池。/** * 参数类型,后台任务进度,结

2017-04-08 09:35:34 305

原创 Bitmap的加载和Cache

一、Bitmap的高效加载Bitmap(位图)在Android中指的是一张图片,可以是png格式也可以是jpg等其他常见的图片格式。那么如何加载一张图片呢?BitmapFactory类提供了四类方法,decedeFile,decodeResource,decodeStream,decodeByteArray,分别用于支持从文件系统,资源,输入流以及字节数组中加载出一个Bitmap对象,其中deced

2017-04-08 09:35:14 245

原创 Android的消息机制

Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。MessageQueue翻译为消息队列,顾名思义,它的内部存储了一组消息,以队列的形式对外提供插入和删除的工作。其内部真正是通过单链表的数据结构来存储消息列表的。MessageQueue是一个消息的存储单元,它不能去处理消息,处理消息由Looper来负责,Looper

2017-04-08 09:34:51 405

原创 Android的Drawable

一、Drawable简介Drawable有很多种,它们都表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造出各种各样的图片效果。在实际开发中,Drawable常被用来作为view的背景使用。Drawable一般都是通过XML来定义的,也可以用代码实现,但是比较复杂,在Android中,Drawable是一个抽象类,它是所有Drawable对象的基类,每个具体的Drawable都是它的子类。

2017-04-01 11:16:29 355

原创 理解RemoteViews

一、RemoteViews的应用RemoteViews在实际开发中,主要用在通知栏和桌面小部件的开发过程中。通知栏主要是通过NotificationManager的notify方法来实现的,图除了默认效果外,还可以另外定义布局。桌面小部件是通过AppWidgetProvider来实现的,AppWidgetProvider本质上是一个广播。通知栏和桌面小部件的开发过程中都会用到RemoteViews,

2017-04-01 11:16:14 338

原创 View的工作原理

一、初识ViewRoot和DecorViewViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。在 ActivityThread中,当Activity对象被创建完毕后,会将DecorView添加到Window中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和D

2017-04-01 11:16:00 372

原创 Android View的体系结构

一、View的基础知识1.什么是view View是Android中所有空间的基类。View是一种界面层的控件的一种抽象,它代表了一个控件。除了View,还有ViewGroup,从名字来看,它可以翻译为控件组,言外之意是ViewGroup包含了许多个控件,即一组View。在Android的设计中,ViewGroup也是继承了View,这就意味着View本身就可以是单个控件也可以是由多个控件组成的一

2017-03-29 17:57:23 803

原创 Android IPC机制(三)

5.使用ContentProviderContentProvider是Android中提供的专门运于不同应用间进行数据共享的方式,这一点来看,它天生适合进程间通信,其底层也是Binder机制实现的,其使用起来比AIDL要简单点,因为系统已经所了封装。 系统预置了许多ContentProvider,比如通讯录信息,日程表信息等。 我们知道ContentProvider中的六个方法都运行在Conte

2017-03-27 20:58:06 311

原创 Android IPC机制(二)

Android中的IPC方式1.使用Bundle我们知道,四大组件中 三大组件(activity,service,Receiver)都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcelable接口,所以它可以方便的在不同的进程间传输,基于这一点,当我们在一个进程中启动了另一个进程的Activity,asevice,receiver,我们可以用Bundle中附加我们需要传

2017-03-27 14:35:59 1044

原创 Android IPC机制(一)

Android IPC机制简介1.IPC是Inter-Process-Communication是缩写,含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。首先来说一下什么是进程,什么是线程。按照操作系统中描述的概念,线程是CPU调度的最小单元,同时线程是一种有限的系统资源。而进程一般指一个执行单元,在PC或者移动设备上指一个程序或者一个应用,一个进程可以包含多个线程,因此进程和线程

2017-03-26 15:09:28 481

原创 Activity的生命周期和启动模式

一.Activity的生命周期全面解析这里介绍的生命周期分为两个部分,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。所谓典型情况下的生命周期,是指在有用户参与的情况下,Activity所经过的生命周期的变化;而异常情况下的生命周期是指Activity被系统回收或者当前设备的Configuration(配置)发生改变从而导致Activity重建,异常情况下的生命周期的关注点和典型情况有

2017-03-24 21:01:45 344

原创 《Android群英传》学习记录(四)

第八章1.IntentFlag启动模式Intent.FLAG_ACTIVITY_NEW_TASK 启动每个activity都在一个新栈里Intent.FLAG_ACTIVITY_SINGLE_TOP 和singleTop类似Intent.FLAG_ACTIVITY_CLEAR_TOP 和singleTask类似Intent.FLAG_ACTIVITY_NO_HISTORY 当该activ

2017-03-23 19:28:01 527

原创 《Android群英传》学习记录(三)

第六章

2017-03-23 11:34:37 569

原创 《Android群英传》学习记录(二)

第四章1.使用ViewHolder模式提高效率 viewholder模式是提升listview效率的一个很重要的方法,viewholder充分利用了listview的视图缓存机制,避免每次在调用getview的时候都通过findviewbyid()实例化控件,下面是一个通用的viewHolder,利用了泛型,以后不用再adapter内部再定义内部类viewholder了public class V

2017-03-21 16:00:17 288

原创 《Android群英传》学习记录(一)

第一章1.Android系统架构Android由底层往上分为4个主要功能层,分别是linux内核层(Linux Kernel),系统运行时库层(Libraries和Android Runtime),应用程序架构层(Application Framework)和应用程序层(Applications)。 Linux内核层 Android以linux操作系统内核为基础,借助Linux内核服务实现

2017-03-20 23:51:19 1110

原创 okhttp-OkGo(okhttp-util升级版)网络请求框架(二)

OkGo使用案例一.基本功能 https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md//请求发挥的实体public class ResultEntity<T> { private int resultCode; private String resultMSG; priva

2017-03-20 12:33:07 2014

原创 okhttp-OkGo(okhttp-util升级版)网络请求框架(一)

OkGo - OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持RxJava该库是封装了okhttp的标准RESTful风格的网络框架,可以与RxJava完美结合,比Retrofit更简单易用。支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持超时自动重连,支持cookie与sessi

2017-03-18 17:10:59 6298

原创 Android studio之Gradle

什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。安装Gradle在Android Studio系列教程一–下载与安装中新建项目成功后会下载Gradle,貌似这个过程不翻墙也是可以下载,但是访问特别慢,建议翻墙下载。那么下载的Gradle到什么地方呢?Mac上

2017-03-17 17:05:38 378

原创 《第一行代码》学习记录(五)

第十三章1.全局获取context的技巧 在application中获取第十四章天气应用开发

2017-03-17 13:06:46 525

原创 FinestWebView自定义WebView 的使用

添加依赖 compile 'com.thefinestartist:finestwebview:1.0.6'在AndroidManifest.xml文件中注册activity和声明权限<uses-permission android:name="android.permission.INTERNET" /><activity android:name="com.thefinestartist

2017-03-16 19:03:56 649

转载 RecyclerView的使用和封装

整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。你想要控制其显示的方式,请通过布局管理器LayoutManager你想要控制Item间的间隔(可绘制),请通过ItemDecoration你想要控制Item增删的动画,请通过ItemA

2017-03-16 15:41:40 415

原创 TimePicker,DatePicker一起使用

DatePicker布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent

2017-03-16 14:58:02 694

原创 《第一行代码》学习记录(四)

第十章1.webViewwebView.getSettings().setJavaScriptEnabled(true);//支持JavaScript脚本 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLo

2017-03-16 14:09:52 227

转载 Android-PickerView的使用

介绍Android-PickerView是一款仿iOS的PickerView控件,有时间选择和选项选择,并支持一、二、三级联动。有时间和选项这两种选择器选项选择器支持一二三级联动时间选择器支持选择年份范围支持自定义文字、颜色、大小设置支持背景颜色更换,有夜间模式需求的问题可以解决了支持背景颜色更换,有夜间模式需求的问题可以解决了支持“年,月,日,时,分,秒”、“省,市,区”等选项的单位

2017-03-16 12:41:07 1699

转载 java线程池

Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 n

2017-03-15 16:15:33 304

原创 《第一行代码》学习记录(三)

第八章Notification通知 书本上介绍的创建方式已经过时了//第一步:获取状态通知栏管理NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//第二步:实例化通知栏构造器NotificationCompat.Builder:NotificationCom

2017-03-15 11:29:48 287

原创 Android Material design 中的新控件使用

TabLayoutSnackbarFloatingActionButtonAppBarLayoutCoordinatorLayoutTextInputLayout侧滑NavigationViewCardViewRecyclerViewCollapsingToolbarLayoutMaterialDialog

2017-03-15 10:15:46 828

原创 android-times-square日期控件使用

1.github地址https://github.com/square/android-times-square2.引用依赖compile 'com.squareup:android-times-square:1.6.5@aar'//时间选择器3.使用//明年final Calendar nextYear = Calendar.getInstance();nextYear.add(Calenda

2017-03-14 18:17:59 727

原创 Caldroid日历控件的使用

1.github地址https://github.com/roomorama/Caldroid2.添加依赖compile 'com.roomorama:caldroid:3.0.1'3.使用//在activity的oncreate方法中创建calendarFragment实例caldroidFragment = new CaldroidFragment();//另一种样式的日期,可以自定义cal

2017-03-14 17:22:13 372

原创 滑动切换Activity

博客地址http://blog.csdn.net/jiangxuqaz/article/details/47264473

2017-03-14 14:58:43 221

原创 《第一行代码》学习记录(二)

第四章fragment的生命周期//当activity和fragment直接建立联系是调用onAttach()//onCreate()//fragment创建视图是调用onCreateView()//确保与fragment相关联的activity一切创建完毕是调用onActivityCreated()//onStart()//onResume()//onP

2017-03-13 20:47:57 222

转载 AndroidAutoLayout 完美适配

git地址:https://github.com/hongyangAndroid/AndroidAutoLayout添加依赖: compile 'com.zhy:autolayout:1.4.5'使用:在你的项目的AndroidManifest中注明你的设计稿的尺寸。<meta-data android:name="design_width" android:value="768"></met

2017-03-13 18:21:25 685

原创 《第一行代码》学习记录(一)

第二章隐藏标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); 这句话要在setContentView()前调用创建菜单Menu,在res文件下创建一个menu的文件夹,然后在里面写xml文件<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.a

2017-03-13 15:00:49 342

原创 Android框架学习之GreenDao(二)数据库升级

主要思路,先备份数据,在还原数据博客地址:http://blog.csdn.net/sinat_15877283/article/details/54583422

2017-03-12 14:19:00 212

原创 Android框架学习之Retrofit(三)retrofit和okhttp的区别

张鸿祥博客http://blog.csdn.net/lmj623565791/article/details/51304204 okhttp工具类 https://github.com/hongyangAndroid/okhttp-utils

2017-03-10 17:47:21 907

转载 Android框架学习之GreenDao(一)

Giuthub:https://github.com/greenrobot/greenDAO greenDao官网:http://greenrobot.org/greendao/ greenDao2的引入地址(Github上面已经更新到greenDao3)一,添加依赖在as中导入相关的包compile'org.greenrobot:greendao:3.0.1'compile'org.gr

2017-03-10 17:43:57 839

用c制作连连看

是用来制作连连看游戏的方法,大知道过程介绍,可以用作参考

2014-06-20

空空如也

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

TA关注的人

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