自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android组件之Service的再学习(I)

其实以前已经写过相关的博文,但是当时只是简单的总结,也没有仔细去实践相关的用法,所以利用周末又再次学习了一遍service组件,也重新整理了他的相关用法,希望能以博客的形式加深印象,也是和大家分享。Service基础知识定义 Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件这是官方对于service的定义,service作为组件,他的存在就是可以去执行一些并不需要用

2017-04-17 01:13:16 313

原创 build报错Failed to Crunch File

今天在导入一个project的时候一直报错。Error:com.Android.builder.internal.aapt.AaptException: Failed to crunch file D:/chromium/AndroidChromium-master-56785344734823f0/app/build/…..一直报错不知道什么原因后来查了下才知道原因是因为路径字符过长导致的….很

2017-04-14 15:25:59 356

原创 Android网络请求框架比较学习

学习Android的Http通信以来,接触了很多网络请求框架,尝试了他们各自的用法,但是没有做过系统的总结,以及对Http通信的理解,所以决定全面的整理一下Android实现Http通信过程,和各个网络请求框架的比较,加深学习印象。Http请求简介HyperText Transfer Protocol,超文本传输协议,是网络层的传输协议,Android和服务器通信通常采用HTTP通信和TCP通信,A

2017-04-11 18:57:13 740

原创 Picasso源码学习

在学习了相关用法以后,为了理解Picasso的工作流程,学习Picasso链式调用的实现原理,决定继续学习Picasso源码,加深自己的印象,也顺便学习设计模式首先是函数Picasso.with(context),打开源码public static Picasso with(Context context) { if (singleton == null) { synchroni

2017-04-10 22:34:35 230

原创 Picasso使用学习(二)

接之前高级用法部分继续学习Picasso自定义Picasoo创建Picasso内部类BuilderPicasso.Builder builder =new Picasso.Builder(MainActivity.this);通过builder去更改picasso中默认的一些配置Downloader如果你想更换默认的Downloader,你可以通过Picasso.Builder调用.downlo

2017-04-10 22:28:36 357

原创 Picasso使用学习(一)

在以前的学习中用过的图片加载框架有Universal-Image-Loader,Fresco,现在学习的项目中使用到了Picasso,所以决定学习Picasso的使用,简单了解其内部工作原理。综述Picasso是Square公司推出的一个开源的Android图形缓存库,他实现了图片的异步加载,并解决了Android加载图片时候经常会出现的一些问题,Picasso不仅仅能加载网络资源,也能从本地文件,

2017-04-10 22:27:46 620

转载 Retrofit初了解

Retrofit2.0 学习以前的网络编程中只用过volley,AsycTask等,没有用过Retrofit,这次项目中的网络请求都是由Retrofit去完成的,所以决定学习一下Retrofit综述retrofit是由square公司开发的。square在github上发布了很多优秀的Android开源项目。例如:otto(事件总线),leakcanary(排查内存泄露),android-times

2017-04-08 11:37:00 297

原创 inflate函数使用总结

inflate()两个参数和三个参数的区别以前使用没有关注过,因为觉得没报bug就行了,两个三个参数无所谓,经过导师提醒,决定好好看看源码和相关知识,总觉一下区别,以免真正发现错误了找不到原因。public View inflate(int resource, ViewGroup root, boolean attachToRoot) 第三个参数 attachToRoot 表示当前的view是否直

2017-04-07 19:09:56 4011

原创 selector选择图片机制

Selector设置背景踩坑1.颜色设置不成功,没有效果代码如下<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/colorAccent" /> <item android:drawable="@color/colorPrimary"

2017-04-07 18:23:55 626

转载 AS新功能之InstantRun

AS中的Instant Run功能“instant run”是在AndroidStudio2.0以后推出的新功能,类似于ios上的playground,使用instant run,在第一次运行以后,就可以快速的在真机上看到修改的结果,不仅仅是UI可以直接显示,还包括逻辑代码,不用再花费大量的时间在build上。InstantRun使用1.首先将AS升级到2.2以上2.升级gradle,需要在proj

2017-04-07 18:22:06 722

原创 Android模拟器和PC之间数据传送

push对于只读文件夹要先挂载才可以进行push,否则会报错adb remountadb push d:\user\file system/fontspulladb pull system/fonts/file d:/user

2017-04-01 14:59:53 1040

原创 系统字体切换

在项目过程中遇到一个问题,用户要求改变launcher的HomeWidget字体,采用他们提供的自定义字体,但是由于widget的视图是由RemoteViews加载进来的,而RemoteViews不提供方法可以获取到组件的实例,也没有方法可以设置对应组件的字体属性,因此需要另外想办法。fontfamily属性android系统内置了一些字体,可以在程序中使用,也可以在xml配置时进行修改,支持字段为

2017-04-01 14:59:00 599

原创 自定义View实现

Android自定义View自定义View的属性新建attr.xml 在其中声明我们自定义的View的属性和整个样式,标签为,其中每一个item 有name 和format两个属性常用的format属性有 string,color,demension,integer,enum,reference,boolean,fraction,flag在布局中声明我们的自定义view及其属性引用记得要引入我们

2017-03-24 09:36:57 250

原创 ViewStub使用学习

ViewStub使用ViewStub是不可见且不占视图大小在运行的时候可以懒加载的View组件,他只有当可见或者调用了inflate()方法的时候才会加载布局资源,加载的布局资源就会取代在父控件中的ViewStub,同时viewStub也就不复存在了,viewStub的布局属性都会传给它指向的要加载的布局。因此在设置某些布局属性的时候就尽量加在布局对应的ViewStub上而不是实际的布局上,当在in

2017-03-24 09:34:37 494

原创 RecyclerView实现ListView功能

RecyclerView作为ListView的学习RecylcerView是MD新增的控件,他可以有效替换ListView,GridView,因为他提供了高度的解耦,灵活,插拔式的使用体验,本文主要总结他作为ListView使用的知识1.基本使用首先配置gradle,引入RecyclerView compile 'com.android.support:appcompat-v7:24.0.0'

2017-03-24 09:31:09 385

原创 Fragment切换动画

Fragment切换动画学习知识准备首先要注意的是Fragment的切换是有系统提供的动画的 public abstract FragmentTransaction setTransition(@Transit int transit); 系统提供的Fragment转换动画有 TRANSIT_NONE,TRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSE,分别

2017-03-24 09:22:24 1419

原创 Groovy基础学习

Groovy知识学习Groovy定义Groovy是一种动态语言,它扩展了Java,是运行在java平台的具有像Python,Ruby和Smalltalk语言特性的灵活动态语言。Groovy在执行脚本的时候,会先将其编译成Java类字节码,然后通过JVM来执行这个java类,JVM本身不会知道自己运行的是Groovy代码。Groovy基础语法Groovy注释也是// 或者 /**/语句可以不用分

2017-02-23 11:29:13 287

原创 Android之AppWidget桌面小部件开发

做需求中遇到AppWidget相关知识,所以学习了官方文档和网上中文材料,并简单学习做了一个相关的Demo。Widget了解Widget主要组件创建自定义WidgetWidget了解 App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Wid

2017-02-19 15:58:06 2840

原创 向Android模拟器导入本地文件

利用adb工具 执行adb push 命令向模拟机中导入文件 adb push d:data/test.txt /adcard/data如果是genymotion虚拟机 可以在virtubox中设置共享内存,自动挂载在模拟器中,然后利用adb工具进入shell 利用shell指令从共享内存复制到目标文件夹。 cp < source file path> < aim file path

2017-02-16 17:42:28 4795

原创 Android中ADB工具常见使用

欢迎使用Markdown编辑器写博客Android调试离不开adb,adb就是Android Debug Bridge,Android调试桥接器,主要是用来管理模拟器或者真机状态的万能工具。adb了解adb配置adb常用命令LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I

2017-02-16 15:04:43 466

原创 Android Sqlite相关应用实践

Android开发sqlite踩坑记录开发应用需要用到SQlite数据库存储,基础的使用没有出现问题,但是由于习惯了真机测试,在ADB下想使用sqlite3查看创建的数据库及相关表的时候出现了问题,我的踩坑之旅也从这里开始:进入adb shell后想查看/data/data下项目的数据库权限不够 原因是因为真机没有获取到root权限,下载kingroot获取到root权限,然后执行啊 adb s

2016-08-27 20:12:23 513 1

原创 速学Git基础知识

速学Git基础知识今天花了半个下午学了有关Git的使用知识,之前也有接触Git,但是用得少,每回都是学了忘,忘了又学,归根到底是没有认真的去理解Git,而且以前学习有误区,Git和Github掺和着学,以为两个是一种东西(这种思想一定要纠正),将下午所学知识简单总结如下:Git和Github的区别本地仓库相关操作远程仓库相关操作Git中分支的概念及作用blame的作用标签的概念及作用其

2016-07-25 17:51:45 316

空空如也

空空如也

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

TA关注的人

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