- 博客(76)
- 收藏
- 关注
原创 签署您的应用——多渠道签名打包教程
Android 要求所有 APK 必须先使用证书进行数字签署,然后才能安装。 在Android开发中,有的公司需要进行多渠道打包,通过多次修改清单文件的配置来打包太麻烦,下面介绍一种比较简单的方法。使用AS提供的多渠道打包方法。具体步骤如下:1.在你的AndroidManifest.xml中设置动态渠道变量 <meta-data android:name="UMENG_CH
2017-05-27 15:02:36 728
原创 Android源码分析——Context君身份揭秘
大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友—–Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法 ; 说它陌生,完全是 因为我们真正的不懂Context的原理、类结构关系。一个简单的问题是,一个应用程序App中存在多少个Context实
2017-02-24 16:07:26 878
翻译 APP实用开发—内存对象序列化
本文将讲解Android中数据传输中需要了解的数据序列化方面的知识,我们知道Android开发过程中不同Activity之间传输数据可以通过Intent对象的put**方法传递,对于Java的八大基本数据类型(char int float double long short boolean byte)传递是没有问题的,但是如果传递比较复杂的对象类型(比如对象,比如集合等),那么就可能存在问题,而这时
2017-02-24 15:51:07 561
原创 版本迭代更新—增量更新你的应用
App的时候升级提醒有两种方式获得:一种是通过App Store获取另一种是打开应用之后提醒用户更新升级而更新操作一般是在用户点击了更新按钮之后开始执行的,这里的升级操作也分为两种形式:(一般升级,强制升级)1.App Store升级 在App Store中升级需要为App Store上传新版App,我们在新版本完成之后都会上传到App Store中,不同的应用市场审核的时间不同,一般除了第一次上
2017-02-24 15:46:58 3801 3
原创 Hybrid App(混合模式移动应用)
Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。简介“云”时代的来临正在改变App和运营团队之间的关系,一场不能避免的变革正在进行。鉴于移动终端的局限性,移动终端上的APP由本地化应用(Native App),到基于WEB的应用Web App,再到混合型应用
2017-02-24 11:39:30 8514 2
原创 ScrollView的使用详细
滚动视图(ScrollView)是指当拥有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图。包括水平滚动视图(HorizontalScrollView)和垂直滚动视图(ScrollView)隐藏滚动条 1、标签属性:android:scrollbars=”none” 2、代码设置: setHorizontalScrollBarEnabled(false);//隐藏横向ScorollVie
2017-02-18 12:04:25 3172
转载 定时器的三种使用
方法一:Handler+Thread/** * handler定时器 * * @author Smalt * */ public class HanderDemoActivity extends Activity { TextView tvShow; private int i = 0; @Override public vo
2017-02-18 11:37:39 724
原创 APP实用开发——TextSwitcher实现文本自动垂直滚动
字面理解是文字交换器,是ViewSwitcher的子类,从ViewSwitcher来看,是View交换器,TextSwitcher继承自ViewSwitcher,显然是交换TextView。应用分为三步: 1.得到 TextSwitcher 实例对象 TextSwitcher switcher = (TextSwitcher) findViewById(R.id
2017-02-18 11:22:32 624
原创 APP实用开发——定制自己的下拉刷新头
功能介绍 下拉刷新,几乎是每个 Android 应用都会需要的功能。 android-Ultra-Pull-To-Refresh (以下简称 UltraPTR )便是一个强大的 Andriod 下拉刷新框架。 主要特点: (1).继承于 ViewGroup, Content 可以包含任何 View。 (2).简洁完善的 Header 抽象,方便进行拓展,构建符合需求的头部。GitHub
2017-02-18 10:18:05 1235
原创 APP实用开发—ScrollView滑动标题栏颜色渐变
从图中我们应该就能了解到,其实这些好像就那么回事,拿到高度,然后设置透明度就行了,其实,是这个样子的首先,我们要知道设置View的透明度的代码自定义ScrollView + toolbar渐变 1、自定义一个类,继承自ScrollView,并重写它的 onScrollChanged 方法; 2、在 onScrollChanged 中获取 ScrollView 在Y轴的移动距离,并根据此距离改变
2017-02-17 20:23:14 2034
原创 APP实用开发——SplashScreen页面倒计时跳转
Handler对象的postDelayed方法闪屏,就是SplashScreen,也可以说是启动画面,就是启动的时候,闪(展示)一下,持续数秒后,自动关闭。 android的实现非常简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runn
2017-02-17 15:26:27 1507
转载 AndroidUI—三种动画实现
三种动画View Animation: 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。Drawable Animation: 这种动画(也叫Frame动画、帧动画)其实可以划分到视图动画的类别,专门用来一个一个的显示Drawable的resources,就像放幻灯片一样。Property Animation: 属性动画只对Android 3.0(API 11)以
2017-02-14 11:14:28 2173
原创 开发模式——MVVM框架开发
MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Mo
2017-02-14 10:47:18 1353
原创 Android新技术——探秘微信小程序
一、什么是微信小程序?小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。答:运行于6.5.3(当前最新)及以上版本(未来)的微信,一种无需下载、安装、注册、卸载的类APP应用。用户只需要微信扫一扫或者搜索一下即可打开应用;用完之后,退出即
2017-02-12 10:42:22 2181
原创 APP实用总结—Android图书馆
MaterialDesigh资源整理 light_sky@weibo 整理的MaterialDesigh资源,很多资料。Android Button Maker Android Button Maker是一个可以在线生成按钮代码的工具。Android API提供了XML文件定义的几何形状的Drawable资源,包括颜色、边界和梯度。这些按钮的生成是基于drawable形态的XML代码,这样可以比
2017-02-11 16:16:08 2889
翻译 APP实用开发——版本控制Git使用总结
1. 什么是Git?Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,这里我只举几个例子来帮助你们理解。熟悉编程的知道,我们在软件开发中源代码其实是最重要的,那么对源代码的管理变得异常重要:比如为了防止代码的丢失,肯定本地机器与远程服务器都要存放一份,而且还需要有一套机制让本地可以跟远程同步
2017-02-11 09:44:26 2176
翻译 APP实用开发—RxJava 和 Retrofit 结合使用
RxJava 和 Retrofit 结合使用的几个最常见使用方式举例。RxJava中有个叫做Subscription的接口,可以用来取消订阅.public interface Subscription { void unsubscribe(); boolean isUnsubscribed();}从上面可以看到,我们只需要调用unsubscribe就可以取消订阅 Observable
2017-02-10 22:34:57 706
原创 Android强大的图表开源——MPAndroidChart
介绍在APP开发中遇到图表的样式,一般我们要先查询GitHub上比较火的开源框架,这种图标应用广泛,统计、游戏统计、人际关系图等等,用到今天的这个框架MPAndroidChart 点击查看GitHub 一个可以拖动缩放的图表库,包含曲线图、直方图、饼状图,其中直方图支持3d效果。 核心功能:8种不同的图表类型 在两个轴上缩放(使用触摸手势,单独轴或捏缩放) 拖动/平移(使用触摸手势)
2017-02-09 23:54:07 32011 4
转载 Android开源—RXJava观察者设计模式
简介RxJava 是一个响应式编程框架,采用观察者设计模式。所以自然少不了 Observable 和 Subscriber 这两个东东了。 RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据。
2017-02-09 21:45:06 1409
原创 Android7.0新特性——牛轧糖
• 分屏多任务进入后台多任务管理页面,然后按住其中一个卡片,然后向上拖动至顶部即可开启分屏多任务,支持上下分栏和左右分栏,允许拖动中间的分割线调整两个APP所占的比例。目前,安卓7.0开发者预览版支持全部第三方应用尝试分屏操作,但个别应用适配可能存在问题,分屏后可能导致界面显示不全等问题。谷歌Chrome浏览器新增了一个很棒的功能,允许用户将不同的网页同时分屏显示。使用方法也很简单,先打开Chrom
2017-02-09 21:15:01 546
原创 Android二维码实用——ZXing斑马线
介绍相信Adnroid开发都知道,有四款扫描器,Zxing 、Zbar ,Barcode4J、OkapiBarcode 前二者应用较广泛在android上二维码、条形码扫描,google官方为我们提供了zXing,几乎android涉及到扫描的都是用这个开源项目实现的,也有在android上使用zBar的,和其他用过的交流得知zBar在扫描条形码时优于zXing,在条形码上zXing更胜一筹,ios
2017-02-09 20:02:41 2899
原创 Android编程——Touch 事件的分发和消费机制
介绍Android 中与 Touch 事件相关的方法包括: dispatchTouchEvent(MotionEvent ev) onInterceptTouchEvent(MotionEvent ev) onTouchEvent(MotionEvent ev) 能够响应这些方法的控件包括:ViewGroup 及其子类、Activity。方法与控件的对应关系如下表所示: 从这张表中我们可以看
2017-02-09 16:32:10 516
原创 APP实用开发—桌面添加快捷图标
原理: 从图上可以看出,Android大致分7步完成快捷方式的创建:**第1步:**Android系统的launcher程序会调用它的pickShortcut()方法去启动系统的pickActivity程序(应用);**第2步:**pickActivity程序(应用)启动后会调用它的CheckIntentFilter()方法,去在系统中寻找可以创建快捷方式的应用有哪些,并且列举出来。只要第三方
2017-02-09 15:52:49 1611
原创 APP实用开发—加载动画开源库
毫无疑问,每个人都不喜欢等待。尤其是在浏览自己喜欢的页面或电影时,对着千篇一律、毫无新意的加载页面,简直枯燥乏味无聊极了!实际上,有研究表明,普通用户能够忍受的最长的加载页面的时间一般为8秒钟。8秒是一个临界值,如果加载时间超过8秒,除非用户必须在这个页面获得一些信息,一般用户会关闭页面或者转到其他页面。那么在这短短内,如何用一个小小的加载进度条吸引住用户,让他们留在当前的页面呢?AVLoading
2017-02-09 14:52:11 1869
原创 Android实用开源—BGA系列
BGARefreshLayout下拉刷新 ——介绍 GitHub点击下载 开发者使用 BGARefreshLayout-Android 可以对各种控件实现多种下拉刷新效果、上拉加载更多以及配置自定义头部广告位 常见问题-加载更多视图无法显示 1.BGARefreshLayout 的直接子控件的高度请使用 android:layout_height=”0dp” 和 android:layout
2017-02-09 12:51:29 6124
原创 APP实用开发—自定义加载动画
彷百度外卖动画动画 我们先来看看Android中的动画吧: Android中的动画分为三种:Tween动画,这一类的动画提供了旋转、平移、缩放等效果。 Alpha – 淡入淡出 Scale – 缩放效果 Roate – 旋转效果 Translate – 平移效果 Frame动画(帧动画),这一类动画可以创建一个Drawable序列,按照指定时间间歇一个一个显示出来。 Property
2017-02-09 12:12:59 2509
翻译 Android下拉刷新组件—PullToRefresh
介绍 下拉刷新,几乎是每个 Android 应用都会需要的功能。 android-Ultra-Pull-To-Refresh (以下简称 UltraPTR )便是一个强大的 Andriod 下拉刷新框架。 主要特点: (1).继承于 ViewGroup , Content 可以包含任何 View 。 (2).简洁完善的 Header 抽象,方便进行拓展,构建符合需求的头部。 PullToR
2017-02-09 10:54:56 652
原创 带有滚动加载和下拉刷新的RecyclerView—AutoLoadRecyclerView
代码实现public class AutoLoadRecyclerView extends RecyclerView { private loadMoreListener loadMoreListener; private AutoLoadScroller autoLoadScroller; private boolean isLoading = fa
2017-02-09 10:35:40 968
原创 强大的BaseRecyclerViewAdapterHelper使用
介绍 相信大家RecyclerView应该不会陌生,大多数开发者应该都使用上它了,它也是google推荐替换ListView的控件,但是用过它的同学应该都知道它在某些方面并没有ListView使用起来方便,需要我们额外的编写代码,今天就给大家介绍一个开源库BaseRecyclerViewAdapterHelper,有了它让你使用RecyclerView的时候,和ListView一样的好用! 那么
2017-02-09 09:45:43 49532 3
原创 Android5.0新控件——RecyclerView的使用全解
介绍RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展示和处理:使用LayoutManager来确定每一个item的排列方式。 为增加和删除项目提供默认的动画效果。 你也可以定义你自己的LayoutManager和添加删除动画,RecyclerView项目结构如下: Adapter:使
2017-02-07 20:08:19 23666 9
原创 Android下拉刷新组件—SwipeRefreshLayout
介绍 一个功能强大的自定义下拉刷新组件。 SwipeRefreshLayout也是一种下拉刷新控件,不同的它的刷新状态效果和传统的PuulToRefresh完全不一样。 SwipeRefreshLayout 是谷歌公司推出的用于下拉刷新的控件,SwipeRefreshLayout已经被放到了sdk中,在Version 19.1之后SwipeRefreshLayout 被放到support v4
2017-02-07 19:25:10 1936
原创 APP实用开发——广告轮播图
ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。循环滑动效果的实现:PagerAdapter 我们知道ViewP
2017-02-07 17:19:23 2211
原创 APP实用开发——引导界面
在App开中首先跟用户进行交互的事Splash页面,也就是引导页面,一般是更新了什么内容,或者有什么样的活动,怎样操作等,现在越来越多的应用引导页面越来越炫彩,所以引导页面在你app用户好感度上也有重大的关系。 例如: 案例1进入页面之后,根据页面版本判断时候更新,弹出更新 对话框,True就进入下载安装页面功能,false就跳转到主页 布局<RelativeLayout xmlns:andro
2017-02-07 16:04:13 517
原创 Android底部和标签导航栏—TabLayout+Fragment
介绍Google官方在2014年Google I/O上推出了全新的设计语言——Material Design。一并推出了一系列实现Material Design效果的控件库——Android Design Support Library。其中,有TabLayout, NavigationView,Floating labels for editing text,Floating Action But
2017-02-07 15:00:23 7395
原创 Android底部导航栏—FragmentTabHost+Fragment
介绍 Android开发中使用底部菜单栏的频次非常高,主要的实现手段有以下: - TabWidget - 隐藏TabWidget,使用RadioGroup和RadioButton - FragmentTabHost - 5.0以后的TabLayout - 最近推出的 Bottom navigation案例1:简单使用简单使用 FragmentTabHost 1
2017-02-07 11:01:44 2620
原创 Android底部导航栏—RadioButton+Fragment
简单拓展RadioButton控件使用如果不看这些,就直接下托RadioButton和CheckBox的区别: 1、单个RadioButton在选中后,通过点击无法变为未选中单个CheckBox在选中后,通过点击可以变为未选中2、一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个3、RadioButton在大部分UI框架中默认都以圆形表示 CheckBox在大部
2017-02-07 09:16:18 1344
原创 Android侧滑菜单——DrawerLayout详解使用
介绍drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。原理原理:添加
2017-02-06 20:25:51 3966
原创 JDK8新特性—Lambda简洁代码以及其他
介绍Lambda,是不是听着很熟悉,没错,在高等数学中这货经常和我们打交道,哈哈,这是一个希腊字母了,排名第十一,大写是Λ,小写是λ。好了,是这样的。jdk1.8中新增的核心特性有lambda表达式,函数式接口,流API,默认方法,新的Date,以及Time API。下面给大家介绍的是Lambda表达式,该表达式允许我们把行为传到函数里。之前把行为传到函数里我们采用的是匿名内部类,该方法导致行为最重
2017-02-05 16:05:01 6128
原创 Android神匕首—Dagger2依赖注入框架详解
简介 Dagger-匕首,鼎鼎大名的Square公司旗下又一把利刃(没错!还有一把黄油刀,唤作ButterKnife) Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发。依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性。Dagger 这个库的取名不仅仅来自它的本意“匕首”,同时也暗示了它的原理。 Android开发
2017-02-05 11:10:37 873
原创 开发模式——MVP框架开发
前言MVP作为一种MVC的演化版本在Android开发中受到了越来越多的关注,但在项目开发中选择一种这样的软件设计模式需保持慎重心态,一旦确定 使用MVP作为你App的开发模式那么你就最好坚持做下去,如果在使用MVP模式开发过程中发现问题而且坑越来越大,这时你想用MVC等来重新设计的话基 本上就等于推倒重来了。要知道在Android上MVP在现在为止并没有统一的标准或者框架,不像SSH这三个成熟稳重
2017-02-05 09:32:30 608
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人