- 博客(23)
- 收藏
- 关注
原创 产品经理 - 产品设计方法论业务落地部分_包括流程&产品文档方法论&需求设计方法论
产品经理 - 产品设计方法论业务落地部分_包括流程&产品文档方法论&需求设计方法论
2022-12-14 17:09:44 662 2
原创 产品经理-产品设计流程之我想
产品设计流程:步骤1.我们要提供什么产品(产品目标): 这是一个什么产品(一句话叙述清楚); 这个产品的服务人群以及服务目标是什么; 我们通过什么方式来完成这个目标; 怎么去搭建这个产品;2.用户在产品里面做什么(业务流程-输出整体流程图): 这个产品的玩家有哪几个角色(用户,开发者,管理员等); 这些角色在产品里面做什么事情的; 产品的用户在产品里完成哪些核心业务,业务流程是怎么样的(输出流程图);3.产品的业务框架是怎么样的(业务框架-输出功
2021-06-18 14:13:03 106
原创 解决GitHub下载速度太慢的问题
解决GitHub下载速度太慢的问题这里不是解决用git clone项目的事情,是下载ZIP部分的解决方案:就是这样,下载ZIP部分,但是下载的速度一样巨慢,这里有个网址:https://shrill-pond-3e81.hunsh.workers.dev/进去之后是这样:在上面说的下载ZIP部分,右键点击,在选中复制链接地址,粘贴到上面这个网址,就可以了,实测巨快。...
2021-02-20 11:31:35 573
原创 产品运营(一):参与项目的定调阶段
初次参与项目在没有产品相关工作经验的程序员初次进入到项目中时,要做到了解整个项目,随后才可以进行部分的思路整理,了解整个项目同样也是有流程的。了解项目背景了解项目起源首先,直到参与的项目的源头在哪里:1.这个项目的甲方是本公司还是其他,本公司或者其他公司的要求又有什么;2.这个项目的基础功能以及使用人群是哪些;3.项目规定的设计时间,分配人数,研发时间以及交付时间;4.公司的产品类别,每个产品的功能等都要了解。目前来说需要了解这么多,作为一个项目的基础准备。了解项目成员与分工一个项
2021-02-07 17:37:07 460 2
原创 Android事件总线设计(一)- EventBus初步学习
Android事件总线设计(一)我们通常在进行安卓设计的时候,不同的Activity,Fragment,Service等之间通讯一直是个不小的问题,用Intent以及Handler都觉得有一点麻烦,于是,为了简化以及更加高质量的完成通信,同时解决组件之间高耦合的前提下仍能高效的进行通信,事件总线设计出现了,提到事件总线,我们就会想到EventBus以及otto,这篇博客我们就先来讲解一下EventBus的用法;初识EventBusEventBus是一款针对Android优化的发布-订阅事件总线,它简
2021-01-07 16:19:42 1050
原创 Android多线程编程(二)- 同步通讯与异步通讯
Android多线程编程(二)不管是安卓还是其他的不放呢,同步与异步都是必不可少的知识,我们在学习工作的时候多多少少都会接触到这一部分,今天我就来详细的记录学习一下安卓学习的这一部分,首先我们来了解一下同步与异步的总体知识:同步与异步在我们编写的程序项目中,同步与异步都是并存的,不存在优劣之分,他们在不同的地方执行着自己独有的功能,我们根据不同的情况也会采取不同的通讯方式。比如说,我们这个程序,目前有很多任务,比如用户点击刷新,就会执行触碰判断请求,网络请求,界面刷新请求等很多种,那么我们采用同步和
2020-12-31 17:09:14 1714
原创 Android多线程编程(一)- 线程基础
Android多线程编程(一)到了学习下一部分了,多线程编程一直都是Android经常使用的部份,在进行网络请求或者访问数据库时,为了避免主线程被耗时操作阻塞了进度,通常都会开启子线程进行处理,多线程编程在Android属于相当重要的一部分,接下来的阶段我会开始学习多线程编程,并且把学习笔记记录在这里。我们通常会看到AS抛出的异常,告诉我们**操作不能在主线程中进行,或者说更新UI的操作必须在UI线程中进行,这个所谓的主线程和UI线程其实是同一个,Android应用在创建的时候就会自动的开启一个线程,这
2020-12-30 15:05:41 1809
原创 Timeout waiting to lock journal cache (C:\Users\ts\.gradle\caches\journal-1)
Timeout waiting to lock journal cache (C:\Users\ts\.gradle\caches\journal-1). It is currently in use by another Gradle instance. Owner PID: 2932 Our PID: 4852 Owner Operation: Our operation: Lock file: C:\Users\ts\.gradle\caches\
2020-12-29 14:17:28 4890 2
原创 自定义View从实现到原理(七)- 类似迅雷实现水波纹波浪加载效果
自定义View从实现到原理(七)已经到这一步了啊,这一篇写完基本上自定义View就不会写了,以后有可能的话,也许会写一下自定义ViewGroup或者是自定义View的仿真书籍翻页效果,不过那也是以后的事情了,今天就来实现以下水波纹加载效果,先看一下效果图:类似这种的效果,其实也就是一个自定义的View,接下来我们来一步步实现一下:定义属性首先还是一样,根据效果图,先定义这个View的属性,这个效果我觉得需要圆形的背景颜色,圆形的半径,显示的进度,显示文字的大小,显示文字的颜色,定义属性的代码:&
2020-12-28 20:50:33 5621 6
原创 自定义View从实现到原理(六)- 实现自定义组合控件
自定义View从实现到原理(六)终于回到了实现这一部分,经过了之前的解析,我们从实现到原理,这次再次回到实现,这一次的实现·就不会是像之前那次的简单实现了,经过梳理我们已经有能力写出一些复杂的自定义View,那么就进入到这个系列的最后一节,实现自定义组合控件。实现自定义组合控件所谓自定义组合控件,就是多个空间组合起来成为了一个新的控件,主要用于解决多次重复的使用同一类型的布局,就比如说我们常用的顶部标题栏以及弹出的样式dialog等,这些都很常用,所以将他们所需要的控件组合起来形成一个新的控件,就可以
2020-12-25 14:24:52 6196 4
原创 解析JSON数据-JSONObject以及GSON
解析JSON数据目录解析JSON数据使用JSONObject进行解析针对" { } "进行的JSONObject解析针对" [ ] "进行的JSONObject解析GSONGSONFormat安装使用GSON解析JSON数据JSON数据是我们平时很常见的返回数据了,我们来看一串JSON数据的样式:{ "code": "200", "updateTime": "2020-12-24T09:52+08:00", "fxLink": "http://hfx.link/2bc4", "now"
2020-12-24 15:07:32 5061
原创 Android网络编程(一) - 简要学习记录OkHttp
之前一直用的是HttpURLConnection,实在是麻烦,最近准备把项目换成OkHttp的,在这里简要记录一下大概使用流程,原理等会在后面博客介绍。首先导入包,添加依赖compile 'com.squareup.okhttp3:okhttp:3.9.0'随便导入的,应该不是最新版,接下来就可以在代码中应用了。首先需要创建OkHttpClient的实例:OkHttpClient client = new OkHttpClient();这没什么好说的,正常流程,接下来我们会发起Http请求,
2020-12-23 17:44:57 3690
原创 Project with path ‘***‘ could not be found in project ‘***‘.问题解决方案
在用SVN导入项目的时候,报错Project with path '***' could not be found in project '***'.很烦的一个错误,经过查找之后发现,这个错误是没有引进对应的包,但是项目的build.gradle明明是有导入包的语句的,就很烦,最后解决方案是在项目中的settings.gradle中添加include语句,类似于:include ':***'这里面填的是你找不到的那个包,正常来说这个包都是会在项目中写好的,按照报错语句寻找即可;...
2020-12-22 11:23:29 15243
原创 git官网下载速度太慢解决方法
git下载速度太慢解决方法真是吐了,下载速度稳定20k,我得下一年,也不想网上搜了,直接去淘宝花一块钱买了个下载地址,血赚,就放在这吧,以后没准也用得到:https://npm.taobao.org/mirrors/git-for-windows/真滴快!...
2020-12-22 10:23:05 11675 77
原创 自定义View从实现到原理(五)- View的工作流程(二)
自定义View从实现到原理(五)接着上一篇博客说的,我们这次来梳理View的Measure,Layout以及Draw这三个流程。View的Measure流程我们已经知道了,measure就是用来测量View的宽和高的,不过可以分为View以及ViewGroup这两种情况,但是ViewGroup除了完成自身的测量之外,还要遍历的调用子元素的measure()方法,我们来依次分析一下:View的measure流程首先就来看一下View‘中的onMeasure()方法:protected void o
2020-12-18 15:47:57 3280
原创 自定义View从实现到原理(四)- View的工作流程(一)
自定义View从实现到原理(四)在之前几篇博客我i们已经探讨了View的事件分发机制,接下来就是这一步了,那么我们就来看一下View的工作流程:View的工作流程,指的就是measure,layout和draw。其中measure作用是测量View的宽和高,layout用来确定View的位置,都让我的作用就是用来绘制View了。View的工作流程入口在Activity组成那一部分,最后讲到了DecorView的创建以及它加载的资源,不过这个时候我们的DecorView并没有加载到Window上,因此
2020-12-17 15:50:33 2348
原创 自定义View从实现到原理(三)- 源码解析View的事件分发机制
自定义View从实现到原理(三)上一篇博客我们讲到,在我们点击屏幕时,就会产生点击事件,这些点击事件被封装为了一个类:MotionEvent,而这个时候,我们的点击事件会先传递给当前的Activity,所以我们也有必要了解一下Activity的组成,详细的可以看我上一篇博客:自定义View从实现到原理(二)- 源码解析Activity的构成那么现在我们就正式进入View的事件分发机制。源码解析View的事件分发机制View的事件分发机制点击事件发生之后,首先传递给Activity,这回就会调用A
2020-12-16 18:27:49 2018
原创 自定义View从实现到原理(二)- 源码解析Activity的构成
自定义View从实现到原理(二)View的分发机制在自定义View中属于比较重要的一部分,在这之前,我们有必要了解一下Activity的组成,然后从源码的角度分析View的事件分发机制。源码解析Activity的构成我们都知道,点击事件使用MotionEvent来表示的,在一个点击事件发生之后,首先会传到Activity,那么我们首先要了解一下Activity的构成,在我们写Activity的时候,都会用到类似这个语句来加载对应的布局文件:setContentView(R.layout.activi
2020-12-15 15:57:26 4138 10
原创 自定义View从实现到原理(一)- 自定义View的简单实现
自定义View在我自学Android开发中一直感觉是高手才能掌握的知识,因为情况太多而且界面看起来有很复杂炫酷。但是自定义View同样遵循着某些规则,这篇博客我就从这个规则入手,先实现View,在涉及原理。
2020-12-11 18:03:58 2500 2
我自己的产品分析方法论
2023-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人