android
文章平均质量分 84
haibo_bear
这个作者很懒,什么都没留下…
展开
-
LayoutInflater详解
转载自:http://www.cnblogs.com/top5/archive/2012/05/04/2482328.html在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widge转载 2016-05-26 17:40:08 · 388 阅读 · 0 评论 -
一、关于自定义View的文章:标题栏复用
自定义View算是老生常谈的一个话题。此处仅仅是整理一些近来实现的效果。第一个:标题栏复用。目的:美化UI,简化代码,统一样式。因系统自带根本无法满足。每次都重写标题栏,浪费大量时间。且容易样式不一。直接上一张布局图:直接上代码:(功能详见各种注释):public class TitleView extends FrameLayout { private Re原创 2017-03-11 23:25:59 · 310 阅读 · 0 评论 -
AsyncTask源码分析及仿AsyncTask异步任务举例
第一部分:AsyncTask简单使用方式;第二部分、AsyncTask源码分析;第三部分、仿AsyncTask异步任务举例原创 2016-12-25 19:56:31 · 765 阅读 · 0 评论 -
【Service】android四大组件之Service
本文阅读要点提醒:1、一个简单的service的例子,了解service生命周期;2、activity与service的通信的两种方式:Intent,Binder;3、service与activtiy的通信(或者activity监听service内部变化);4、servcie的销毁几种情况及总结;阅读声明:水平有限,主要针对普通玩家,快速查看某一点请直接通过目录,高端玩家随意。原创 2016-11-27 15:40:34 · 629 阅读 · 0 评论 -
【经验】轻量化阅读源码初体验sublime+gradlew命令
本文的目的:快速编译、打包、修改、阅读他人代码,阅读sdk提供sample源码等。正文一、通过gradlew编译打包apk:正文二、通过sublime文本编辑器查看、编辑修改代码:原创 2016-11-20 11:55:41 · 1423 阅读 · 0 评论 -
[HyBrid]HyBrid混编初尝:原生和第三方JsBridge的使用
一、导入第三方类库:JsBridge类库地址。二、Android Studio导入第三方类库说简单简单,说难也难。查看类库结构:导入步骤:1)先复制上述第三方类库到app平级处:如下2)导入第三方类库:如下图:按顺序:此处上面的example就不要导入了。一个样例,导入多余,还可能冲突。选择finish。导入第三方完毕。高原创 2016-09-29 17:03:45 · 4077 阅读 · 0 评论 -
【Android热修复、零】android分包64K实践
前言: 之所以命名为《Android热修复、零:android分包64K实践》,因为本文只是为热修复起一个抛砖引玉的铺垫效果。 由于网上关于分包的方式方法较多,此处仅以官方的处理方式稍作实践。处理方案: 官方的永远是最简单的: 第一步、gradle引入android.support.multidex包。 第二步、将原来项目的application继承自MultiDexApplication。然后就完事了。本文主要是记录一下验证这一场实践的过程:原创 2016-12-11 13:00:26 · 662 阅读 · 0 评论 -
[动画]属性动画ObjectAnimator及ValueAnimator运用分析
一、先上一张图二、再上一个动画GIF,看看ObjectAnimator属性动画的一些效果(从左到右依次:透明度、旋转、平移、拉升)三、ObjectAnimator属性动画的运用:四、ValueAnimator简介五、ValueAnimator运用原创 2016-11-07 16:45:05 · 1029 阅读 · 0 评论 -
[搭建环境]React Native初尝Mark笔记(Mac版+Android)
一、先在中文官网官网地址找到教案。二、Homebrew装上(mac版本直接输入下面的命令)。不懂安装没关系可以参考这。参考博客/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"出现这个就是安装成功了:三、使用Homebrew来安装原创 2016-10-28 15:55:42 · 902 阅读 · 0 评论 -
二、关于自定义view的文章:柱状图
背景:许多时候,第三方满足不了实际UI需求,就需要自己手绘柱状图。安卓画图是延续了java的绘制方法。但,由于市面上机型的多样性,绘制的困难主要在于适配。一、柱状图效果图:二、状图图要点:分析需求根据以上效果图:1、可见4根彩色渐变色柱;可自行设置为多根动态绘制。本例未处理,仅按照4根柱实现。2、每根柱根据实际情况占比,背景有五根刻度线均分自定义view,显示高度占原创 2017-03-11 23:59:09 · 390 阅读 · 0 评论 -
三、关于自定义view的文章:饼状图和折线图
关于自定义view的文章:饼状图和折线图本来关于这两个图并没有太多东西可以讲,但是为了贯穿整个常见自定义view所以勉为其难写下来,勿怪。一、效果图:二、技术要点:并没有太多技术要点:1、饼状图:千万不要听网上有些人说的用三角函数,简直坑死人不偿命。饼状图直接根据角度绘制扇形就好了。第一步,绘制底色圆第二步,绘制扇形饼,重复注意:圆心、半径很重要。找原创 2017-03-12 00:41:51 · 400 阅读 · 0 评论 -
【Android开发艺术】Socket进程间通信
【Android开发艺术】Socket进程间通信前言: 接下来大概很久都不会再写关于Android的文章了,毕竟要转去后端做开发了。这篇文章用来作为一个前后端的交接还是蛮不错的。毕竟Socket网络编程,平时都只是说说而已,不曾用过。许多时候,我写文章主要是用来巩固学习成果,比如今天做了什么,或者今天学了什么,或者之前学的东西快忘了赶紧记录下来。正文:一、关于socket可以看看这原创 2018-02-05 12:00:41 · 328 阅读 · 0 评论 -
【Android开发艺术】ContentProvider进程间通信
【Android开发艺术】ContentProvider进程间通信前言: 已经开始考虑转Java后端,但是觉得Android毕竟是一门手艺,干脆把书读读然后消化掉。好像一个人多项技能,后端刚学,肯定没法以此作为高薪的突破口。 如果遇到机会,还可以用Android为主,后端为辅,打个漂亮的加分赛。毕竟既懂前端又懂后端还是听起来很厉害的。也能达到一些触类旁通的效果。正文:原创 2018-02-02 10:17:11 · 593 阅读 · 0 评论 -
【Android开发艺术】读懂AIDL系列文章(二)
【Android开发艺术】读懂AIDL系列文章(二)本想写一篇文章读懂AIDL的,没想到写了两篇。本文基于上一篇文章: 【Android开发艺术】读懂AIDL系列文章(一)。代码地址提取点一、回顾:上一篇文章实现:客户端app从服务端app获取数据、添加数据。二、目的:本文主要实现:服务端数据更新的时候(本例中即:有新书被添加的时候)告知客户端。类似通知功能。2.1、如原创 2018-01-31 18:31:10 · 294 阅读 · 0 评论 -
[android异步]回顾Handler知识及HandlerThread应用及源码分析
本文分两部分:Handler部分和HandlerThread部分。一、handler知识:情境一:主线程发消息,主线程接收。UI如下:代码如下:public class MainAct extends Activity { Handler handler = new Handler(){ @Override public vo原创 2018-01-11 18:26:20 · 250 阅读 · 0 评论 -
【源码分析】Volley用法及源码分析
学了这么久的android开发,总算到了这一天。网络框架。工欲善其事,必先利其器。写一个框架,之前先看volley究竟是怎么写的。看volley之前,先学会如何使用。ok,来看看如何使用。一、Volley使用:1)网络请求代码如下: RequestQueue mQueue = Volley.newRequestQueue(this); Strin原创 2017-05-17 10:05:13 · 563 阅读 · 0 评论 -
五、关于自定义view的文章:雷达图
效果其实就是那么个效果,绘制也是那么绘制。之所以提这个UI,因为比较特殊的因为回归了多年未用的初中数学知识(三角函数)。一、效果图二、代码实现思路:准备工作:中心,半径:width = getMeasuredWidth() / 2; height = getMeasuredHeight() / 2; //一个巧妙的适配算法原创 2017-03-12 10:09:02 · 673 阅读 · 0 评论 -
四、关于自定义view的文章:折线图进阶(触摸版)
上一章讲过折线图,但是如果只是普通的图片似乎太简单。设计师又不能忍了。于是有了下面的效果:一、效果图:二、代码实现:重写onTouchEvent事件:@Override public boolean onTouchEvent(MotionEvent event) { int x = (int) event.getX(); int原创 2017-03-12 09:39:32 · 346 阅读 · 0 评论 -
[React-native]第一行代码Helloworld及集成已有项目的方案
一、参考官方文档点击打开链接写了第一个文档hello world二、开启学习ES 6第一步:部署支持环境三、在已有项目中引入react native原创 2016-11-02 19:07:00 · 4427 阅读 · 3 评论 -
[文件存储]SQLite数据库初尝
一、准备工作:由于真机未root,用模拟器:(失败)Last login: Mon Sep 19 17:05:27 on ttys000ebj1831:~ user$ adb shelladb server version (32) doesn't match this client (36); killing...error: could not install *smartsoc原创 2016-09-20 16:57:03 · 868 阅读 · 1 评论 -
ListView自定义
ListView网上资料很多,我所知扩展性最好、最通用的代码做个备忘。总体上来讲:ListView+BaseAdapter+xml文件实现:话不多说,先贴个图,预期效果如下: 首先:这样一个ListView的item包含:图片、文字,而且布局也比较复杂。首选自定义这样一个模版的xml文件。第一步、主方法lin.xml,加一个listveiw布局原创 2016-04-24 14:54:29 · 2007 阅读 · 1 评论 -
将String日期时间格式转换及截断
记录一下:数据传输过来时日期时间类型如:2016-02-22 18:30:38需要转换成2016-02-22 18:30换不多说,直接上代码:public static String getTime(String user_time) { String re_time = null; SimpleDateFormat sdf = new SimpleDateFormat("yy原创 2016-05-17 14:26:42 · 1794 阅读 · 0 评论 -
漫谈代理模式
这是我见过最有趣的代理模式详解:没有之一。转载自:http://yangguangfu.iteye.com/blog/8157871,什么是代理模式?代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,策略模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起转载 2016-05-18 10:32:34 · 544 阅读 · 0 评论 -
微信分享官方第三方接入(图片及文字)
微信分享官方第三方接入:第一步、官方接入文档必须要读的。https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN第二步、导入jar包第三步、权限支持。在AndroidManifes原创 2016-05-29 14:41:30 · 1591 阅读 · 0 评论 -
android删除文件夹或文件(文件可不为空)
mark一下最近自己做的一个删除功能:用来清除缓存,删除手机内指定位置文件夹、文件及文件夹内包含文件的情况。注意:1)此删除为递归删除,消除了file.delete()因其中包含文件,导致返回值为false。删不掉的情况。2)考虑是否有SD卡的手机路径,及绝对路径。package com.example.mydemo;import java.io.File;import a原创 2016-05-05 16:39:35 · 9194 阅读 · 2 评论 -
QQ分享官方第三方接入(分享纯图片及截取view的bitmap图)
常见功能Mark:QQ分享官方第三方接入。一、创建并配置工程参考腾讯官方文档:点击打开链接简单抄过来一些:1、创建一个工程,并把open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到libs(或lib)目录下2. 配置AndroidManifest在应用的AndroidManifest.xml增加配置的节点下增加以原创 2016-05-05 11:09:53 · 11778 阅读 · 2 评论 -
android回调简介
回调分为几部分:接口interface、回调类class、实现类class。一、写一个接口OnMyBtClick:package com.example.mydemo;public interface OnMyBtClick { void onClick();}上为一个最简单的接口,接口里面只有一个方法。二、写一个回调类MyButton:package com.examp原创 2016-05-03 18:31:31 · 331 阅读 · 0 评论 -
mac jdk及gradle 配置Android studio
每次都去网上找。决定自己整理一下写下来。一、JDK安装下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html安装,配置JAVA_HOME环境变量。测试安装成功,终端输入java -version。出现下面类似的提示即可java version "1.8.0_20"Java(TM) SE原创 2016-06-15 14:58:16 · 2012 阅读 · 0 评论 -
Android源码分析——Looper,Messagequeue,Message,handler初始化及handler机制简介
Handler机制算是我入门源码的第一节。看得比较仔细。体会较多。mark一下。顺序:先科普一下Handler基本功,然后再细讲下源码一、Handler目的:目的:Handler机制来处理了子线程去更新UI线程控件问题。二、handler关系图:其实各种书籍上都有这么一张图。但是主要是学习源码,所以还是自己手画一张“流程图”。三、handler知识点总结:(若以下总结都原创 2016-07-23 18:56:44 · 2726 阅读 · 0 评论 -
[例证]浅谈getWidth()和getMeasureWidth()区别
例证getWidth()和getMeasuredWidth()定义和区别。原创 2016-08-17 19:43:11 · 3460 阅读 · 2 评论 -
[例证]从滑动冲突到事件分发(从源码角度分析)
最近在看安卓开发艺术。看到滑动冲突一章,突然有感。mark一下。先上一个demo效果图:上面白色区域是一个listView,外面被一个scrollView包裹着。下面红色区域是一个Linearlayout占位。用来能上下滑动。布局源码如下:<ScrollView xmlns:android="http://schemas.android.com/apk/res/android原创 2016-08-26 18:10:56 · 805 阅读 · 0 评论 -
[整理]Androidstudio项目常见问题集
1.dexDebug ExecException finished with non-zero exit value 2需要在gradle中配置下面的代码,原因是引用了多个libraries文件defaultConfig { multiDexEnabled true}2.Execution failed for task ':app:transform原创 2016-06-16 15:00:30 · 3120 阅读 · 1 评论 -
android源码分析——由SetContentView串起来的布局加载机制
首先借用郭神的一张图:参考自郭神的博文平时我们初始化一个activity的使用会用到下面的代码:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout);原创 2016-09-14 17:57:51 · 880 阅读 · 0 评论 -
[ViewPager、二]ViewPager 小圆点 动态添加
做个备注记录:一、动态添加小圆点:其中mData:为数据链表dots_id:为上级节点R.layout.dot_pull_new_item_s:为样式private void setDots(ArrayList mData,int arg0){ /** * 加viewPager底部点 * */ dots_id.removeAllViews(); f原创 2016-05-17 10:33:40 · 741 阅读 · 0 评论 -
[ViewPager、一]ViewPager和PagerAdapter做动态加载页(类似listView适配根据data新增的效果)
最近碰到一个比较有意思的需求。需求场景:一、需求说明:根据接口返回数据确定有多少页。样式统一,翻页仅仅改变数据。类似一个横向的listview。二、回忆一下常见需求:平时我们做viewpager都比较固定页,比如传统的三页或者四页。如下图(截取个微信图)。然而,这种效果基本上都是几页已经确定。比如微信、通讯录、发现、我,这四页是确定的。这是正常的也是原创 2016-05-14 15:49:15 · 3353 阅读 · 9 评论 -
[动画]android动画篇:View动画(补间动画)
特效一:activity切换渐入渐出动效原创 2016-09-07 15:43:27 · 623 阅读 · 0 评论 -
Java设计模式透析之 —— 单例(Singleton)
转自郭霖大神的博客:http://blog.csdn.net/guolin_blog/article/details/8860649写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你分析数据。但是Java原生带有的System.out.println()方法却很少在真正的项目开发中使用,甚至像findbugs等代码检查工具还会认为使用System.out转载 2016-07-27 12:39:45 · 366 阅读 · 0 评论 -
【Android开发艺术】读懂AIDL系列文章(一)
【Android开发艺术】读懂AIDL系列文章(一)一、先上Github源码地址:Aidl二、写一个简单的Aidl使用:1、Aidl的应用场景:进程间通信或者不同App间通信(此处写为服务端servelapp和客户端clientapp)举例:服务端用来提供数据,客户端从服务端查询数据和新增数据。1.1、服务端写一个activity用来启动service(其实这一步可以省原创 2018-01-30 16:11:33 · 308 阅读 · 0 评论