计算机
文章平均质量分 83
开发者-钟大田
文章要显而易见,简单明了;修行要持续艰心,不断探索
展开
-
Android的三个常用框架的简约梳理
Android的各大框架简易理解MVC(Model View Control)MVC是经典模式,这种分层模式主要是对模块的数据流向进行约束,减少熵变。Model层代表数据的结构;View层代表绘制视图层。Control层表示控制层,负责连接View和Model的关系。MVP (Model View Presenter)MVP是MVC的改进,对于View和Model的数据流向进行隔断。优势有View和Model完全隔离Presenter和View的具体实现无关。可以进行View的模拟测试原创 2020-06-04 22:51:45 · 327 阅读 · 0 评论 -
实现一个底部上滑出的ViewGroup
在supportV4中有一个侧滑的View叫做DrawerLayout,支持左右滑动。最近项目中刚好有一个下向上滑动的组件需求,所以参考了一个改实现,打造了一个上下滑动的组件,发现代码简易,值得分享出来供大家参考。需求功能分析需求简述:实现一个滑动底部滑块,展开的容器控件,滑块自身内容自行定制。上滑动展开,下滑动关闭,点击开关进行对应的展开关闭。关键点:控件支持内容定制上下滑动进行对应的...原创 2020-04-25 05:47:39 · 668 阅读 · 0 评论 -
把图表拆成Item进行绘制
使用RecycleView进行画图表。大概几年前,我在想,怎么搞一个一个折线图的图表,突发灵感使用RecycleView试试如何。后来就写了一个Demo。构造过程主要是:把图表拆成Item来表示编写Adapter进行组装把图标拆成Item来表示拆分情况有三种,对于Item为Index为0;Item的Index为size-1;其他。如下图表示:对于浅颜色的是Item外的Item,可以...原创 2020-04-22 23:08:04 · 226 阅读 · 0 评论 -
软件概要设计文档编写
软件概要设计文档怎么写呢?这个问题是很普遍的。网上的也有一些优秀的示例,收集到的优秀文章有以下:https://www.cnblogs.com/bmaker/p/6116177.html一个软件概要设计的文档基本结构有:1、引言部分1.1 编写目的1.2 背景2、总体设计2.1、概述2.2、运行环境3、系统功能设计3.1、功能点3.1.1、功能描述3.1.2、功能分析3....原创 2020-03-26 17:18:28 · 2656 阅读 · 0 评论 -
FactoryBox工厂利器
FactoryBox 一个Android 代码生成列子使用google的auto-service和AbstractProcessor进行代码生成。看了不少讲解AbstractProcessor的教程,后来我一直在需要找其应用的实例。后来在项目中的一个配置文件经常改动想到了自动生成代码,于是考虑实践一下例子1、需要实现的接口public interface Event { void...原创 2020-03-11 10:09:36 · 315 阅读 · 0 评论 -
Android的架构主体演变
Android的架构主体演变在过去Android一直在MVC、MVP中探索。在2019基本没有谁再去纠结这两个架构了,因为Android的Jetpack提供了MVVM架构,说到MVVM架构我第一时间想到刚刚毕业的时候,在WPF的window开发中使用到MVVM的数据绑定。如果你是一个初学者我的建议是直接忽略MVP架构,直接入门MVC,开发MVVM。最佳架构对于MVVM,google提供了Je...原创 2020-01-07 16:02:12 · 250 阅读 · 0 评论 -
JNI 比hallo world更深一步的hallo JNI
前言对于用AndroidStudio的同学来说,是不是看到那个 cpp 的文件夹开始浮想联翩。知道Android的NDK开发,但是一直举步维艰。下面我介绍一下一个比hallo world更深一点的JNI开发,同时提供一个C的json库编译so来爽爽。默认的AndroidStudio的JNI工程学习如果你对AndroidStudio感兴趣,你一定建立过一个AndroidStudio默认的JNI工程,可原创 2017-07-06 11:40:26 · 346 阅读 · 0 评论 -
树形控件之思维导图 Android
纯手工打造一个思维导图原创 2017-01-13 15:39:00 · 10391 阅读 · 13 评论 -
编程的圣经-设计原则
单一原则 里氏替换原则,依赖注入原则,接口分离原则,迪米特原则,开闭原则,优先组合原创 2017-10-14 09:00:46 · 340 阅读 · 0 评论 -
菜鸟MySql
一直以来。mysql的sql语句除了大学时写过,之后就没有怎么写了。下面简单介绍一个mysql入门级的。MySql learmingstart mysql server‘cd /usr/local/mysql/’ use the command: ‘sudo ./support-files/mysql.server start’login mysqlmysql -uroot -p input ro原创 2017-06-19 21:51:29 · 632 阅读 · 0 评论 -
api文档工具-将json对象转行表
最近在学习写API文档。发现要对json进行解析说明,所以写了一个JSON转化为表的工具。直接上代码,没有什么好介绍的。哈哈/** * Created by OlaWang on 2017/4/21. * 将json对象转化为表格 */public class JSONToForm { public final static String form_head = "|名称|类型|描述|原创 2017-04-25 13:51:22 · 841 阅读 · 0 评论 -
Android5.0后的ViewGroup添加子View问题
前些日子我一直被这个问题困扰,就是ViewGroup调用addView的ChildView的绘制层问题。我之前在CSDN上进行了提问,可惜没有人回答我。最近,我又想起了这个问题,我又进行精简探索。之前的问题的地址:http://ask.csdn.net/questions/376400现象我在Layout文件下编写以下代码:<FrameLayoutxmlns:android="http://sch原创 2017-04-12 23:44:25 · 1345 阅读 · 0 评论 -
Java命令打包的依赖libs的解决
之前我有写过java命令打包的文章。那时候打包的jar没有包括libs库的。最近我打包BindView.jar时,我发现我需要设置libs的库依赖才行。查阅了很多质料,发现没有多少人在网上发布这个问题。又都是写得奇诡的,运行不了。后来我只好通过Eclipse import出运行jar包看看,内部的内容。 导出如下图: 之后进行解压jar的文件:unzip Bind.jar.发现jar包里的文件如原创 2017-03-12 22:57:18 · 4034 阅读 · 0 评论 -
xml输入点击事件是如传递给java的
开发语言的进步,感触最新的就是,以前写windows的时候使用的是C#后来,学习了一下WPF,内心就是感慨万千居然用xml来写界面了,不用那些抽象的代码来写,关键是xml的界面具有实时性、可观性。xml就和html一样,标记语言。可以直接在浏览器看到。 之后学习Android后,感觉又回来,真的,语言在进步呀。 在Android中xml时...原创 2015-06-26 10:20:01 · 845 阅读 · 0 评论 -
Android笔记2016_04_01
Android笔记2016_04_01Android笔记2016_04_01使用Lifecycle Style的快捷键是commandaltK对于AndroidStudio的Gradle的使用对于Android L的一个主题色的提取对于AndroidStudio的perfect的设置对于Android的xml中的tools的命名空间Mac登录Linux服务器对于TextView的Lef原创 2017-02-23 23:16:39 · 509 阅读 · 0 评论 -
构建Android应用
前言对于Android的构建流程来说,更多的是关注我们的一些所谓“规定”。这些规定不一定是需要去追随,可以由我们员工们自行选择。其中的规定也会随着工程、项目而改变。这只是一些意见,我们希望可以达到一种效应:Android的代码有着自己公司员工的共同审美,接受我们这种命名、分类、流程,进而构建出一个个健壮的应用。开发工具一般工具有:AndroidStudio,JDK,Gradle,Git等。对于An原创 2017-05-11 09:49:44 · 615 阅读 · 0 评论 -
编程问题一:实现子线程和主线程的切换
最近,我在想我这短暂的程序员生涯有什么让自己眼前一亮的技术呢?有点类似,big question(Who am I?)。 在这里我写一写那些让我有提供和进步的的问题吧。这些问题,原先是先解决后总结出来的。所以大家不要认为我的问题提得“华而不实,原来如此简单”。问题一:写一个类实现提供子线程方法和主线程方法?问题背景:这个问题是我最近想到的。因为我见过一些框架,可以通过注释什么“@Main”就可以让原创 2017-07-20 10:38:05 · 1044 阅读 · 0 评论 -
React 的体验
React 的体验已经使用React js 有两年了。最近想了一下,这个React JS 有什么是自己发现了的特色之处呢?this的问题在使用ReactJS的时候发现this是一个非常有意思的东西,在class里面this是主键的本身。但是在函数的时候发现这个this就莫名其妙的undefined了。而且this的变量和函数有时候会冲突。如下代码import React, { Compon...原创 2019-05-17 15:02:15 · 144 阅读 · 0 评论 -
数据库设计准则
准则1关系模式的设计应尽可能只包括有直接联系的属性,不要包括有间接的联系和属性。也就是,每一个关系模式应只有对应的一个实体类型或一个联系类型。准则2关系模式的设计应尽可能使得相对应关系中不出现插入、删除和修改等操作异常现象。如果出现任何异常,则需要加以说明,并确保更新数据库的程序正确操作。准则3关系模式的设计应尽可能使得对应关系中避免放置经常为空的值的属性。如果一个企业中只有10%的职工...原创 2019-05-21 17:44:46 · 621 阅读 · 0 评论 -
Hello React Native
Hello React Native基本命令对于安装配置的可以查看React Native中文网。当安装配置后,通过以下命令进行创建工程#创建一个React-Native工程,也可以通过IDE进行创建react-native init project_name#启动React-Native的服务react-native start#启动测试#android版本的,这个需要...原创 2018-03-09 11:24:19 · 223 阅读 · 0 评论 -
ReactNative图片引用扫描
App的图片越来越多,发现很多,这时候需要对图片进行扫描,剔除无效的图片。实现思路很简单:1.扫描js文件;2.查找png文件,确认被引用的图片;3.删除不在集合的图片。代码如下:import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.原创 2018-01-08 16:46:11 · 477 阅读 · 0 评论 -
一个随机数组的算法问题
去面试时有一个小算法题。感觉呢?还好吧,记录一下。问题,给一个数组,实现打乱数组的循序。如array={1,2,3,4,5,6,7,8,9,10,11,12,13……45},一个随机函数Random(45);思考:就是随机生成45个不重复的随机数数组。代码如下//防止重复 TreeSet<Integer> treeSet = new TreeSet<>(); for原创 2017-10-16 11:36:55 · 1256 阅读 · 1 评论 -
编程问题二:写一个线程池
写一个线程池,对象池的使用原创 2017-08-16 10:18:57 · 335 阅读 · 0 评论 -
IOT-智能家居-笔记
常见设备表 设备编号 设备归类 设备名称 设备英文名称 001 大家电 空调 Air conditioner 002 大家电 热水器 Water heater 003 大家电 取暖器 Heater 004 大家电 油汀 Oil heater 005 大家电 洗衣机 Washing machine 006原创 2017-04-25 13:41:26 · 637 阅读 · 0 评论 -
Linux学习-2016_01_10
修改文件夹下的权限权限表 写write 读 read 运行x 4 2 1系统中的顺序是:wxr 修改file文件夹下的权限:chmod -R 777 file/shell的字符串的截取#的使用,进行左裁剪 str=“http://www.owant.com/index.html” echo ${str#*//}得到的结果是: www.owant.com/index原创 2017-02-23 23:12:37 · 308 阅读 · 0 评论 -
Android的MVC设计
前言大家都知道Android的设计架构是基于MVC的。对于MVC大家并没有”陌生”,而且一般来说,这个是一个广泛使用的规范。用游戏来讲述MVC是最好的,因为对于Control层的理解比较直观:control就是游戏的控制,上下左右,技能ABC,游戏的时间,事件;View是对绘制UI,场景的Face,人物Body(不知道Model是什么);Model是实体,具有动作。MVC模型Created with原创 2016-11-16 21:14:16 · 513 阅读 · 0 评论 -
android自定义View的和FramgentActivity的一个小坑
//加载样式 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TitleBarView, defStyleAttr, 0); setTitle(typedArray.getString(R.styleable.TitleBarView_main_title)); //不能写成这样原创 2015-10-15 13:21:22 · 1054 阅读 · 3 评论 -
网页脚本输入这么简单
如何在网页中进行脚本操作呢?研究了一下,很简单,用google浏览器的Console直接操作javaScript。思路:Created with Raphaël 2.1.0开始输入(如何输入)点击(如何点击)结束下面是,通过脚本刷直播屏的实现,直接在Console输入即可 var words=new Array(“加油!!!!!!”,”6666666666666666666666666”,”请原创 2015-11-29 13:32:30 · 10041 阅读 · 1 评论 -
Android开发的一些不错的学习资料
一个有趣的学习网站:http://hukai.me/android-training-course-in-chinese/index.html 国内很难翻墙嘛。这个是一些基础的教程,看看很好的,赏心悦目。 工具下载网站:http://www.androiddevtools.cn/ 这里的东西很不错,AndroidStudio,UIStyle的压缩工具,开发必备。原创 2015-12-18 14:56:20 · 548 阅读 · 0 评论 -
使用Jsoup抓取数据
问题最近公司的市场部分布了一个问题,到一个网站截取一下医院的数据。刚好我也被安排做。后来,我发现为何不用脚本去抓取呢? 抓取的数据如下:Jsoup的使用实战代码结构Created with Raphaël 2.1.0开始创建线程池jsoup读取网页解析Element写入sqlite结束java代码public class GetDoctorInfo { public GetDoctor原创 2016-02-18 16:51:39 · 1307 阅读 · 0 评论 -
Builder模式的实现
概念在创建复杂对象时,将创建该对象的工作交给一个建造者,这个建造者就是一个Builder。在日常的开发中,常常看到,如下这些代码:AlertDialog的实现 AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setMessage("你好建造者"); build原创 2016-03-02 14:17:14 · 675 阅读 · 0 评论 -
Android笔记2016-03-14
一般画图是要将dip转化为px,防止现实不一致如图的代码,DesityUtils.dip2px(getContext(),45);是将45dp的转为px,java代码中默认的单位是px。在Android的布局文件中,往往使用dp作为控件的宽度和高度尺寸,但是在Java代码中,调用getWidth()方法获得的尺寸单位 却是像素px,这两个单位有明显的区别:dp和屏幕的密度有关,而px与屏幕密度无关原创 2016-03-14 22:38:44 · 623 阅读 · 0 评论 -
AndroidStudio打包处理
AndroidStudio非常强大,公司最近有一个需求是要实现对一个APP进行多个版本的打包,而且可以同时安装在手机上。这个需求详细一点的描述是:公司有一个APP,有多个开发商要使用我们的APP,为了大家都有一个APP,而且图标不一样,app名字不一样,背景不一样等。我查询了一下资料发现,在AndroidStudio的gradle是可以配置的。在此特意写一篇文章记录分享。配置签名首先编写好签名文件,原创 2016-06-21 14:46:22 · 1476 阅读 · 0 评论 -
Java的简易编译命令
生成jar包编译生成.class 文件 编译.class文件的命令,其中的参数是输出,原文件路径javac -sourcepath class.class MyClass.java如果有包名的需要创建对应包的文件夹,建文件移动对应的包名下在开始包下创建meta-inf文件夹在meta-inf文件下创建manifest.mf文件生成可运行的jar包解压 生成了jar包后,进行解压命令原创 2016-08-04 23:06:01 · 618 阅读 · 0 评论 -
Android的一个BindView工具的实现
对于Android已经有很多Bind View的工具了,大多都是使用了反射和注解的方法。那么如何实现一个建议的代码生成工具呢?其实不难,只要会写代码都可以试试。这些天,我试了一下,并将它做成了工具。代码如下:package com.example;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFou原创 2016-08-06 21:18:50 · 6110 阅读 · 1 评论 -
android的strings整理脚本
统一对String整理的工具,结构如下代码package com.owant.toollib;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.ArrayList;import java.util.List;import java.util.TreeSe原创 2016-08-24 13:02:40 · 617 阅读 · 0 评论 -
使用XmlPullParser制作BindView工具
在之前我写过了一个BindView的工具,之前使用的最要是正则表达的文本分析做的。最近,工作我认识了Android的XML解析,我又想起了这个问题。发现这个问题,其实用XmlPullParser更好解决。所以我重新写了这个工具。返现简单多了,而且不用格式化代码。先分析一下如何写,简易思路如下Created with Raphaël 2.1.0输入文本路径读取xml标签是否存在ID生产一个findVi原创 2016-10-19 23:47:11 · 710 阅读 · 0 评论 -
新手上路——Ubuntu系统配置安装
linux的学习 201509171.安装vim编辑器,使用 sudo apt-get install vim-gtk2.vim编辑器中的复制粘贴是使用ctrl+shift+c 或者ctrl+shift+v3.修复window和linux的引导方法: sudo gedit /boot/grub/grub.cfg 在代码### B原创 2015-09-18 10:19:13 · 899 阅读 · 0 评论 -
Linux或者mac的文件夹下的转码
有window的时候,没有什么文本编码问题,可是用linux的时候,就会出现了。下面是将某文件夹下的所有文件进行转码:例子:将文件夹javatest下的所有.java文件转码,window上的eclipse常常使用了gbk,现在把它转为utf-8, 放到javatest_1文件夹下;当然这个脚本是不完善的。还需要修改,先这样了: #!/bin/bash#获取文件的父原创 2015-09-07 23:10:44 · 695 阅读 · 1 评论 -
C的简易栈(链式存储结构)实现
好久没有写C的程序了,最近空闲着,所以写了一下C的数据结构。下面简单记录一下c实现链表。 栈的结构操作简单,只能栈顶操作(所以只记录栈顶,之后通过栈顶去找管理的下一个数据),先进后出。直接上码:#include <stdio.h>#include <string.h>#include <stdlib.h>typedef char DataType;typedef struct stackno原创 2016-12-08 13:33:15 · 577 阅读 · 0 评论