- 博客(157)
- 资源 (27)
- 问答 (1)
- 收藏
- 关注
原创 【干货】快速接入小程序订阅消息(附源代码)
这是一份小程序消息订阅快速开发指引,其中演示了如何快速上手消息订阅的订阅、推送、支付订阅功能。 根据官方指南,小程序订阅消息功能接入一共分为三个步骤。第一步:获取模板 ID 在微信公众平台手动配置获取模板 ID: 登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。第二步:获取下发权限const tem...
2020-09-11 18:27:17 1477
原创 【重磅】关于微信小程序订阅消息,吐血踩坑实录!
小程序订阅消息功能接入示例参考上一篇:快速接入小程序订阅消息(附源代码) 小程序订阅消息功能于2019年10月9日发布的小程序基础库2.9.0版本中发布,原来使用的模板消息功能将于2020年1月10日下线!2020年1月10日下线!2020年1月10日下线! 意味着2020年1月10日起商家要给小程序用户推送消息,必须使用订阅消息功能来替代,原来的模板消息将无法使用了!!!一、为何微信官...
2020-09-11 18:25:13 1574
原创 安卓模拟文件加载进度条
一、场景  App模拟下载实现自动更新进度条,减少用户等待的焦虑感。二、实现  安卓实现一个假的文件下载进度条,文件大小随机生成。假的文件下载进度条可以做成一个自定义控件,在进度加载对话框中显示,App开始进行网络请求弹出进度加载对话框,网络请求完成自动关闭对话框。```package com.xp.pro.androiddownlod;import android.app.Activity;import and
2021-09-03 15:31:55 495
原创 Windows上使用git作为代码版本控制工具简要教程
当前公司选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。那么本文简要说明如何使用Git Bash本地git客户端,生成ssh key,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。1、下载Git Bash git bash是Windows下的命令行工具,经常用于使用git命令进行分布式版本控制。 下载安装参考本篇文章1-3章:Git Bash详
2020-10-22 15:39:36 459
原创 Android组件化开发实践笔记
一、什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。 插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个l...
2020-09-11 18:28:20 326
原创 Android Maven私有仓库搭建笔记
前言 什么是maven、gradle? Maven是一个项目管理和自动构建工具。 Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。 Android支持的Maven仓库: mavenCentral ...
2020-09-11 18:28:12 1047
原创 Android图片压缩总结
首先该文章是通过看网上的资料和自己的一些实践总结出来的, 不是原创。一、图片的存在形式 1.文件形式(即以二进制形式存在于硬盘上) 2.流的形式(即以二进制形式存在于内存中) 3.Bitmap形式 (位图图像(bitmap), 亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。) 这三种形式的区别: 文件形式和流的形式...
2020-09-11 18:28:04 659
原创 通过用户评论建立产品画像系统
本文使用到的数据是从京东五谷磨房旗舰店爬取的核桃芝麻黑豆粉用户评论数据,共804条(非完整数据),其中好评:389条(非完整),中评:276条(完整),差评179条(完整)。 在对用户评论进行了收集、分词、去停用词、按词性筛选等一系列文本处理后,我们拿出“好评”、“差评”和“中评”中出现频数最高的前100个词绘制了词云图。这些高频词看起来杂乱无章,但从中可以发现很多亮点。 从好评词云图...
2020-09-11 18:27:58 535
原创 用户画像系统构建
一、什么是用户画像? 用户画像可以简单理解成是海量数据的标签,根据用户的属性、行为和观点的差异,将他们区分为不同的类型,然后从每种类型中抽取出典型特征,赋予名字、照片、一些人口统计学要素、场景等描述,形成了一个人物原型 (personas)。二、为什么要做用户画像? 其意义大体上表现在一下几个方面: 1 精准营销,分析产品潜在用户,针对特定群体利用短信邮件等方式进行营销 2 用户...
2020-09-11 18:27:50 2793
原创 航空公司客户价值分析(附完整代码)
一、什么是客户价值分析: 客户价值分析是以客户为中心,从客户需求出发,搞清楚客户需要什么,他们有怎样的一个特征,需要什么样的产品,然后设计相应的产品,通过对客户分群从而满足客户的需求。进行客户价值分析,可以避免商家闭门造车以及主观臆断客户的需求。二、项目背景: 项目背景为某航空公司需要以客户为中心,按照客户的需求,在对客户的特点了解上使用不同的营销手段,目的是争取更多新客户,降低客户流失...
2020-09-11 18:27:41 11127 10
原创 使用Scrapy+MySQL+Flask采集存储并展示豆瓣电影TOP250数据
代码地址: https://github.com/XieXiePro/DouBanScrapy开发环境: 电脑系统:Win 10 IDE:PyCharm Python第三方库:scrapy、pymysql、Flask Python版本:Anaconda 3 ,集成Python版本 3.7 数据库: MySQL 8.0.12第一步 创建scrapy项目 参考:PyCh...
2020-09-11 18:27:31 1326
原创 腾讯bugly的热修复功能集成笔记
首先我们从整体比较目前市面上常用的几种Android App 热修复方案:bugly热更新功能集成了Tinker热修复框架,引用腾讯bugly官网的一段话:无需关注Tinker是如何合成补丁的无需自己搭建补丁管理后台无需考虑后台下发补丁策略的任何事情无需考虑补丁下载合成的时机,处理后台下发的策略我们提供了更加方便集成Tinker的方式我们提供应用升级一站式解
2020-09-11 18:26:12 1590
转载 如何将win7系统的电脑屏幕改成护眼的豆沙绿
长期盯着电脑看是否会有眼睛酸痛的感觉呢,那么来设计一款豆沙绿放松一下眼睛吧。首先新建一个word文档将新建的文档最小化,右击桌面选择个性化设置,出现该页面之后选择下面的窗口颜然后点击窗口颜色对话框最下面的高级外观设置 。打开高级外观设置的窗口后将项目栏下边的桌面改成窗口。然后在右边颜色的下拉菜单中选择其他。色调 设为85、饱和度 设为123、亮度 设
2015-10-20 10:15:22 1157
转载 Android状态栏一体化(改变状态栏的背景颜色)开源工程
1、前言在android kitkat 有一个新的特性可以设置手机状态栏的背景,让手机整个界面的风格保持一致,看起来非常清爽,在今年的google i/o上的android l默认就是这种风格。来现在看我们怎么加上这个酷黑狂拽掉渣天的功能怎么给我们的程序加上。来先看一下demo效果图。2、关与kitkatandroid 4.4 提供了一套
2015-09-19 15:24:40 520
转载 Android WebView缓存
在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:请求的url记录是保存在webviewCache.db,而url的内容是保存在webviewCache文件夹下. 为了便于理解,接下来模拟一个案例,定义一个html文件,在里面显示一张图
2015-09-18 10:54:41 357
转载 Android中WebView载入本地HTML代码并实现交互
正在开发一个地图程序, 相对于用XML写安卓界面, 我更愿意用这个方法, 就是不用Android自带的MapView, 而是使用之前就已经比较熟悉的Google Maps JavaScript API, 在Android的WebView中载入HTML代码, 利用Android提供的强大的Java与Js的交互功能, 用网页作为界面来开发程序,同时也可以用Js回调机器的本地功能比如GPS等.
2015-09-18 10:46:09 526
转载 彻底解决Android 应用方法数不能超过65K的问题
尊重原创 :http://blog.csdn.net/yuanzeyao/article/details/41809423作为一名Android开发者,相信你对Android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常:Conversion to Dalvik format failed:Unable toex
2015-09-16 20:03:31 424
转载 View中的draw和onDraw,dispatchDraw的区别
Android的view组件显示主要经过mesure, layout和draw这三个过程。在mesure阶段里调用mesure(int widthSpec, int heightSpec)方法,这个方法是final不能被重写,在这个过程里会调用onMesure(int widthSpec, int heightSpec)方法。当组件设置好大小后,调用final layout(int l, in
2015-09-16 20:02:04 1956
原创 Android沉浸模式,沉浸式顶栏,变色龙状态栏
状态栏变色≠沉浸式状态栏,所谓现在说的沉浸式状态栏是Android 4.4后加入的新api接口,需要软件商在制作软件的时候使用该接口,方可实现状态栏变色。而现在的应用比较杂乱,厂商做法也不规范,导致很好的一个接口不能被完美的使用。对此我们特制作了fantastic bar(奇幻状态栏),奇幻状态栏是强行根据程序改变状态栏颜色,会根据颜色色值差异自动改变图标及文字颜色,同时在支持沉浸式状态栏的应用中
2015-09-15 17:34:39 1055
转载 Android中的5种数据存储方式
Android中的5种数据存储方式数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据; 2 文件存储数据;3 SQLite数据库存储数据;4 使用ContentProvider存储数据;5 网络存储数据;简介:这是Android中数据存储的5中
2015-09-12 14:26:29 779
原创 Android中This、super、getApplicationContext()、getApplication()之间的区别
"this",作为一个特殊的关键字,它的规则如下: 1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。 2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别
2015-09-11 11:20:29 1363
转载 Android之Bundle传递数据详解与实例及Bundle与SharedPreferences的区别
效果如下: 初始界面输入信息“确定”以后 一、API文档说明 1.介绍 用于不同Activity之间的数据传递 1.重要方法 clear():清除此Bundle映射中的所有保存的数据。 clone():克隆当前Bundle containsKey(St
2015-09-09 20:07:39 412
转载 px、dip、sp区别和计算
一、 概述我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种。px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们
2015-09-08 18:32:44 436
转载 深入Java字符串
转自:http://lavasoft.blog.51cto.com/62575/80034/ 文中有少许地方需要修正,先转来留存。Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生。 一、从根本上认识java.lang.String类和String池 首先,我建议先看看Strin
2015-09-08 16:18:52 306
转载 Java String的经典问题(new String() ,String )
先来看一个例子,代码如下:[java] view plaincopy1.public class Test { 2. public static void main(String[] args) { 3. String str = "abc"; 4. String str1 = "
2015-09-08 15:36:59 555
转载 java中构造方法和方法全面解析
构造方法和方法的区别: 构造方法要与类名相同,无返回类型,在类初始化的时候调用。 方法最好与类名不同,对象调用,静态方法可用类名.方法(). 构造器和方法在下面三个方面区别:修饰符,返回值,命名。 1。和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被pa
2015-09-08 14:28:26 465
原创 几种常见的Runtime Exception
一,error和exception的区别,RuntimeException和非RuntimeException的区别1. 异常机制 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常
2015-09-07 22:22:22 11606
翻译 4种必须知道的Android屏幕自适应解决方案
以下是Demo首页的预览图demo下载:http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该属性
2015-09-07 17:38:05 636
原创 Android屏幕适配
首先介绍几个概念:1,屏幕密度(dpi)dot per inch:即没英寸像素数(1英寸=2.54cm).ldpi(120),mdpi(160),hdpi(240),xhdpi(320)计算方法:以480*854,4.0英寸手机为例,其对角线为4.0英寸,对角线像素为:(480^2 + 854^2)开根号 = 979.所以其 屏幕密度
2015-09-07 17:23:48 375
转载 Android Afinal使用与总结
Afinal简介Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。
2015-09-07 16:12:12 431
转载 Android 关于OOM的解决方案
在Android平台上面,应用程序OOM异常永远都是值得关注的问题。通常这一块也是程序这中的重点之一。这下我就如何解决OOM作一点简单的介绍。 首先,OOM就是内存溢出,即Out Of Memory。也就是说内存占有量超过了VM所分配的最大。 怎么解决OOM,通常OOM都发生在需要用到大量内存的情况下(创建或解析Bitmap,分配特大的数组等),在这样的一种情况下,就可
2015-09-07 12:01:23 314
转载 Android 最火的快速开发框架XUtils
最近搜了一些框架供初学者学习,比较了一下XUtils是目前git上比较活跃 功能比较完善的一个框架,是基于afinal开发的,比afinal稳定性提高了不少,下面是介绍:鉴于大家的热情,我又写了一篇Android 最火框架XUtils之注解机制详解xUtils简介xUtils 包含了很多实用的android工具。xUtils 最初源于Afinal框架,进行了大量重构,使
2015-09-07 11:30:48 367
转载 六款值得推荐的android(安卓)开源框架简介
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请
2015-09-07 11:16:23 348
转载 Java中的StringBuilder类功能详解
字符串连接可以通过两种方法实现,其中一种是在Java中提供的一个StringBuilder类(这个类只在J2SE5及以上版本提供,以前的版本使用StringBuffer类)。字符串是Java程序中最常用的一种数据结构之一。在Java中的String类已经重载的"+"。也就是说,字符串可以直接使用"+"进行连接,如下面代码所示:String s = "abc" + "ddd";
2015-09-06 18:19:42 445
转载 全面解释java中StringBuilder、StringBuffer、String类之间的关系
String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间,StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象,StringBuffer和StringBuilder类功能基本相似.1. String 类 String的值是不可变的,这就导致每次对String
2015-09-06 18:10:28 616
转载 JAVA中StringBuffer类常用方法详解
String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串方面的效率比String高了很多。 在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作。不
2015-09-06 18:05:33 466
转载 JAVA的StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在
2015-09-06 18:01:51 248
转载 Java中常用字符串方法总结
一、创建并初始化字符串: 1、使用字符串常量直接初始化 String s="hello!"; 2、使用构造方法创建并初始化 String();//初始化一个对象,表示空字符序列 String(value);//利用已存在的字符串常量创建一个新的对象 String (char[] value);//利用一个字符数组创建一个字符串 String(cha
2015-09-06 17:59:58 398
转载 Java中的容器讲解
jdk1.4容器类关系图虚线框表示接口。实线框表示实体类。粗线框表示最常用的实体类。点线的箭头表示实现了这个接口。实线箭头表示类可以制造箭头所指的那个类的对象。 容器类持有对象方式 1, Collection:只允许每个位置上放一个对象。它包括“以一定顺序持有一组对象”的List,以及“只能允许添加不重复对象”的Set。你
2015-09-06 17:41:24 432
转载 Java 接口 实现和继承关系与区别
一。抽象类有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化。例如:有一个父类“ 水果(Fruit)”,它有几个子类“苹果(Apple)”、“橘子(Orange)”、“香蕉(Banana)”等。水果在这里仅仅只是作为一个分类, 显然水果的实例没有什么意义(就好像一个人如果告诉你他买了一些水果但是却不告诉你是苹果还是橘
2015-09-06 17:35:28 970 1
航空公司客户价值分析(附完整代码)
2019-07-22
Android屏幕适配解决方案源码
2015-09-07
Android自定义控件
2015-08-28
Android一键换肤
2015-08-17
Android中设置TextView的颜色setTextColor两种方法
2015-08-10
同一个activity中通过一个按钮切换两个不同的布局
2015-08-06
Android控件ToggleButtonDemo
2015-07-29
Android日期时间选择器实现
2015-07-22
滚轮选择器(实现自定义布局和选择值读取)
2015-07-22
android AsyncTask例子
2015-07-15
Android中实现定时器的三种方法
2015-07-15
使用AlarmManager启动广播、服务、页面(Android定时器)
2015-07-15
Android菜单(Menu)小结
2015-07-14
Android圆角对话框
2015-07-04
其中基本dialog源码
2015-07-04
Activity从fragment传递数据
2015-07-02
Fragment之间数据的传递
2015-07-02
两个activity之间的数据传递
2015-07-02
对象的序列化和反序列化
2015-07-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人