- Android开发笔记: 5种对话框案例
程序猿的杂货店
Android开发笔记android开发笔记PopupWindowAlertDialogProgressDialog
5种android对话框1弹出普通对话框---系统更新2自定义对话框--用户登录3时间选择对话框--时间对话框4进度条对话框--信息加载..5popuWindow对话框下载地址:http://download.csdn.net/download/taoerit/99651421弹出普通对话框---系统更新//弹出普通对话框publicvoidshowNormalDialog(Viewv){Aler
- Android开发笔记-License for package Android SDK Platform 28 not accepted
ljt2724960661
Android基础
开发项目时,碰到持续集成工具CircleCI上报了一个AndroidSDK异常,如下:>Configureproject:appuseNewCruncherhasbeendeprecated.Itwillberemovedinafutureversionofthegradleplugin.Newcruncherisnowalwaysenabled.useNewCruncherhasbeendepr
- Android开发笔记(四)
so.far_away
安卓开发进阶android笔记人工智能
中级控件图形定制图形Drawable形状图形Shape状态列表图形选择按钮复选框CheckBox开关按钮Switch单选按钮RadioButton文本输入编辑框EditText焦点变更监听器图形定制图形DrawableAndroid把所有能够显示的图形都抽象为Drawable类(可绘制的),这里的图形不止是图片,还包括色块、画板、背景等。包含图片在内的图形文件放在res目录下的各个drawable
- android开发笔记————简易随机器的制作
小时的枫
Android开发androidandroid开发asAndroidstudio
这几天无聊,于是做了个随机器,想着以后可能会用的到。以下是程序的运行截图图1可以通过右上角的菜单转到图2的Activity。这个程序提供了两个功能,一个是输入姓名后随机出姓名。另一个是产生随机数。—————————————————————————————————————————————————————————————————————————————好的,下面来看下怎么做吧:制作工具选的是Andro
- Android 开发笔记 -- Service
__lifanxin
androidandroidservicehandler
Android开发笔记--Service基本概念创建服务创建启动服务创建绑定服务服务的生命周期后台任务(非主线程任务)异步消息处理机制HandlerAsyncTask基本概念android四大组件之一:Service;Service是可在后台长时间运行但不提供界面的应用组件;Service依赖于创建Service的应用程序进程;可以在后台运行,但其自身并不会开启新线程;三种不同的服务类型:前台,执
- Android开发笔记:Retrofit + OkHttp3 + coroutines + LiveData打造一款网络请求框架
Android-until
Android程序员架构AndroidAndroid开发jetpackjava移动开发
一个好的网络框架需要有那些特点呢?请求当然这个请求不单单是发送请求这么简单,它包括请求相关的一系列配置是否简易、发送模式是否灵活切换、请求头信息是否易处理、请求参数是否易操作等等响应一个好的网络请求框架肯定需要提高我们的生产力,保证我们程序的健壮性,那么响应体和这些又有什么关系呢?容易转换成不同需求的实体是否能返回不同类型的结构。xml、json、text等等总的来说就是易使用、易扩展、可读性高一
- Android开发笔记(三)—Activity篇
so.far_away
安卓开发进阶安卓笔记android
活动组件Activity启动和结束生命周期启动模式信息传递Intent显式Intent隐式Intent向下一个Activity发送数据向上一个Activity返回数据附加信息利用资源文件配置字符串利用元数据传递配置信息给应用页面注册快捷方式启动和结束(1)从当前页面跳到新页面:startActivity(newIntent(源页面.this,目标页面.class))(2)从当前页面回到上一个页面,
- Android开发笔记
不偏不倚就是你
1.查询包名下的跳转activityPackageManagerpackageManager=context.getPackageManager();Intentintent=packageManager.getLaunchIntentForPackage("com.instagram.android");if(intent==null){GLog.iTag(SocialConstant.LOG_
- GIS地图学习笔记二之Android开发
沐左
androidGIS地图开发androidgissdkv100-1-0
新项目中需要用到GIS地图,触及自己的知识盲区。所以有必要去学习一下,这里把学习过程与思考记录一下。我这里使用的是ArcGISRuntimeSDK100.2.0,ArcGISRuntime还有一个版本10.2.*,这个版本的ArcGISRuntimeSDK的使用可以参考《ArcGISRuntimeSDKforAndroid开发笔记》系列blog。1、找资料1、适用于Android的ArcGISRu
- Android开发笔记 :理解Fragment
Tai_Monster
Android开发笔记android笔记
Android开发笔记:理解Fragment导言本篇文章产生的原因很简单,就是我在了解AndroidJetpack中的Lifecycle框架时发现Lifecycle具体时间和状态的更新都是由一个名为ReportFragment的Fragment来跟踪的,为了更好的了解Fragment是如何追踪Activity生命周期状态的变化我们有必要对Fragment组件进行更深入的探讨。Fragment管理器
- Service Intent must be explicit的解决方案
hero的技术小黑屋
title:ServiceIntentmustbeexplicit的解决方案date:2017-09-1415:11:43tags:Androidcategories:Android开发笔记今天在学习AIDL的时候,通过以下步骤:在AndroidMenifest中声明service在客户端中绑定serviceIntentintentService=newIntent();intentService
- android开发笔记,Android开发笔记
彼得威
android开发笔记
背景针对平时开发过程中遇到的问题、bug、难点或知识点做一个归纳总结。不定时更新。学习地址1.网站2.博客埋坑1.Android5.0以下View.getContext()强转Activity崩溃直接继承Activity的Activity构造出来的View.getContext()返回的是当前Activity。但是:当View的Activity是继承自AppCompatActivity,并且在5.
- android开发笔记之进程通信Messenger
hfreeman2008
android开发笔记android开发笔记messengerandroid
写在前面的话前面我写了一篇文章—android学习之remoteservice的aidl详解,讲到跨进程多线程通信,我们使用aidl技术来实现。但是平时我们大部分的应用可能只要要求跨进程通信,而不需要使用多线程,那么这时候,Messenger就是我们的一个非常好的选择。比起aidl来,Messenger实现更简单,并且不需要考虑线程安全的问题。我参考了文章:Android基于Message的进程间
- android开发笔记-知识点
哈丨吅
android开发
1:AndroidPermissiondenied(不允许连接Socket)错误原因是:需要访问到网络,所以,在AndroidManifest.xml中,需要进行如下配置:2:ListView滚动变黑解决方法ListView增加一个属性android:cacheColorHint="#00000000"3:Item用自己的背景盖住了Selector光标ListView增加一个属性:android:
- Android开发笔记: Android动态添加、删除控件
程序猿的杂货店
Android开发笔记android开发控件
此文章主要是将如何动态添加,删除控件1创建布局文件2代码实现动态添加,删除
- Android开发笔记之基础篇 ------ UI布局
大熊Sir
在Android开发的绝大部分场景里,我们都需要构建至少一个以上的UI界面用于与user的交互。UI界面本身其实只是静态的图片或者框架,但是通过对其的控制,可以实现几乎所有的用户使用效果,例如点击后高亮,点击后消失,左划删除单个条目等等。那么今天就来看看Android中关于UI布局的一些概念和知识。一、LinearLayoutVSRelativeLayoutVSFrameLayoutVSConst
- Android开发笔记之Log日志输出
飞机火车巴雷特
笔记
一、引言日志记录是将应用程序的操作和状态记录到辅助接口(例如文件,或者数据库,都可以)的过程。然而,软件开发人员并不十分重视日志记录。其实有用的日志可以为开发人员(特别是当有人必须调试/维护别人的代码时)在试图理解代码的作用时提供巨大帮助。一些开发人员说堆栈跟踪是人们应该需要的,但这与事实相去甚远。堆栈跟踪很棒,可以告诉您哪里出了什么问题,但它们无法告诉您最初是如何到达那里的。当然,您可以通过断点
- Android开发笔记
大小雪
android笔记
一、知识点1、Notification通知的创建流程1)创建一个NotificationManager,获取系统服务,getSystemService()方法;2)使用Builder构造器来创建Notification对象,设置通知的各种属性;3)NotificationChannel通知渠道,Android8.0引入了通知渠道,允许为要显示的每种通知类型创建用户可自定义的渠道;4)发送通知,no
- Android开发笔记——MVVM模式&Jetpack实现MVVM模式
Yang杰
Android开发学习笔记Androidandroid
Android开发笔记——MVVM模式&Jetpack实现的MVVM模式MVVM模式MVC、MVP和MVVMMVC概述特点MVP概述MVC和MVP的区别特点MVVM概述特点Jetpack实现MVVMModelViewViewModel在之前的学习中,我将Jetpack中使用最为频繁的几个架构组件都做了相关的学习和了解,但是,之前只是对每个组件分别进行学习,而如何在实际开发中学会熟练使用Jetpac
- Android开发笔记:适配器(Adapter)以及ListView和RecycleView的简单使用
Tai_Monster
Android开发笔记androidjavamvc
Android开发笔记:适配器(Adapter)以及ListView和RecycleView的简单使用在使用ListView和RecycleView之前,我们得先了解适配器的概念。适配器:具体来说,适配器Adapter是一个接口。官方文档中是这样描述的:AnAdapterobjectactsasabridgebetweenanAdapterViewandtheunderlyingdataforth
- Android开发笔记:用Jsoup简单获取网页的数据
Tai_Monster
Android开发笔记androidxmljava
Android开发笔记:用Jsoup简单获取网页的数据有时候我们在开发过程中,比如仿写一些app时,可能缺少相关的可用的接口给我们提供数据,这个时候据需要我们去网页去爬取一些数据。这个时候我们就可以使用一些开源库来帮助我们轻松地爬取数据。Jsop开源库:jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于
- Android开发笔记之Fragment的使用教程
目录何为碎片特点如何引入碎片静态引入动态加载碎片的通信活动和碎片间的通信碎片和活动间的通信碎片和碎片间的通信何为碎片官方文档中提到:Afragmentrepresentsamodularportionoftheuserinterfacewithinanactivity.Afragmenthasitsownlifecycle,receivesitsowninputevents,andyoucanad
- Android开发笔记XML数据解析方法及优缺点
目录何为XML数据如何解析XML数据1.Pull解析2.简单的Pull解析3.SAX解析何为XML数据XML指可扩展标记语言(eXtensibleMarkupLanguage)。可扩展标记语言(英语:ExtensibleMarkupLanguage,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。其最主要的功能就是为了方便数据的传输与交换。在Android开发中,我
- Android SeekBar在刷新使用中需要注意的问题
目录问题分析问题解决方法Android开发笔记:关于SeekBar在刷新使用中的一些问题问题今天在用Navigation在两个Fragment之间导航时发现了从第二个Fragment返回到第一个Fragment时SeekBar出现数据丢失和进度条不刷新的情况。具体Demo是在第一个Fragemnt中通过滑动条改变ViewModel中的数据,并在点击按钮后导航进入第二个Fragment,在第二个Fr
- [Android开发笔记]多渠道打包(动态替换包名、常量、资源文件等)
goweii
因项目需求,需生成多个具有不同的应用图标、应用名、启动图APP,并且可以被同时安装。之前使用过多渠道打包去给友盟生成不同的渠道包,觉得应该也可以实现上面的需求,所以在此记录一下。具体的配置在app:build.gradle中添加如下配置,注释比较全,就不过多介绍了android{...defaultConfig{applicationId"per.goweii.one"minSdkVersion1
- iOS开发者入门Android开发笔记(三)-调试工具Log
赵梦楠
前言笔者是一名iOS开发者,最近在学习Android开发。作为移动平台的两大阵营,iOS和Android开发既有想通之处,也有各自不同的特性。本系列文章,主要是从iOS开发者的角度,类比地去学习Android开发,记录下自己的一些心得体会。如果你也对Android开发感兴趣,并想入门学习。建议可以去看郭霖的《第一行代码》。笔者也是通过这本书来入门学习Android开发的,因此,本文的大部分知识,你
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据下载
duyi324
【原文链接:http://www.cnblogs.com/gis-luq/p/5858048.html】1、前言1.1、环境准备:ArcGISforDesktop10.4.1(10.2.1以上版本即可)ArcGISforServer10.4.1(10.2.1以上版本即可)PostgreSQL、MicrosoftSQLServer、或Oracle设置企业级地理数据库。1.2、发布具有同步能力的Fea
- 【Android开发笔记】证件相机,身份证及营业执照拍摄裁剪
Smartown
简介针对项目中的一个需求而开发的一个库,实现了身份证正反面、营业执照横版、竖版的拍摄和裁剪功能,现已开源在GitHub上,需要的同学直接clone到本地添加依赖即可使用。Githubhttps://github.com/xiaoowuu/CertificateCamera预览Demo演示身份证正面身份证反面营业执照-横版营业执照-竖版
- Android开发笔记
ZhaoWeihao
我最近在学校期末作业使用Kotlin语言做一个校园社区AndroidAPP,仍然在制作中。。。Github项目地址:https://github.com/zhaoweihaoChina/hnuplus这是我用记录一些我在做的时候需要记录的东西,用来以后翻看。也给需要的同学做个参考。Activity调用Fragment的公共方法首先创建一个接口publicinterfaceMyInterface{v
- [Android开发笔记]私有Maven仓库使用指南
goweii
简介我们在使用AndroidStudio开发安卓项目时,会引用到官方sdk或者他人的库,方法都是在module的build.gradle文件中添加如下代码:implementation'com.android.support:appcompat-v7:28.0.0'一行代码就可以把我们想使用的库引入到了项目中。然而一般情况下我们要想引入自己开发的库,则是将整个module导入项目,并在需要引用该m
- 多线程编程之join()方法
周凡杨
javaJOIN多线程编程线程
现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?
Java实现过程如下:
public class T1 implements Runnabl
- java中switch的使用
bingyingao
javaenumbreakcontinue
java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
br
- hive having count 不能去重
daizj
hive去重having count计数
hive在使用having count()是,不支持去重计数
hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;
FAILED: SemanticExcep
- WebSphere对JSP的缓存
周凡杨
WAS JSP 缓存
对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。
现服务
- 设计模式总结
朱辉辉33
java设计模式
1.工厂模式
1.1 工厂方法模式 (由一个工厂类管理构造方法)
1.1.1普通工厂模式(一个工厂类中只有一个方法)
1.1.2多工厂模式(一个工厂类中有多个方法)
1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
&n
- 实例:供应商管理报表需求调研报告
老A不折腾
finereport报表系统报表软件信息化选型
引言
随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标
1、通过报表为采购决策提供数据分析与支撑
2、对供应商进行综合评估以及管理,合理管理和
- mysql
林鹤霄
转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html
mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@centos var]# service mysql
- Linux下多线程堆栈查看工具(pstree、ps、pstack)
aigo
linux
原文:http://blog.csdn.net/yfkiss/article/details/6729364
1. pstree
pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) &n
- html input与textarea 值改变事件
alxw4616
JavaScript
// 文本输入框(input) 文本域(textarea)值改变事件
// onpropertychange(IE) oninput(w3c)
$('input,textarea').on('propertychange input', function(event) {
console.log($(this).val())
});
- String类的基本用法
百合不是茶
String
字符串的用法;
// 根据字节数组创建字符串
byte[] by = { 'a', 'b', 'c', 'd' };
String newByteString = new String(by);
1,length() 获取字符串的长度
&nbs
- JDK1.5 Semaphore实例
bijian1013
javathreadjava多线程Semaphore
Semaphore类
一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。
S
- 使用GZip来压缩传输量
bijian1013
javaGZip
启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。
PJL Compressi
- 【Java范型三】Java范型详解之范型类型通配符
bit1129
java
定义如下一个简单的范型类,
package com.tom.lang.generics;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value = value;
}
}
- 【Hadoop十二】HDFS常用命令
bit1129
hadoop
1. 修改日志文件查看器
hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml
cat edits.xml
修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志
2. fsimage查看HDFS中的块信息等
&nb
- 怎样区别nginx中rewrite时break和last
ronin47
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。
location /
{
proxy_pass http://test;
- java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class CombinationToSum {
/*
第21 题
2010 年中兴面试题
编程求解:
输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,
使其和等
- eclipse svn 帐号密码修改问题
开窍的石头
eclipseSVNsvn帐号密码修改
问题描述:
Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。
解决思路:
删除subclipse记录的帐号、密码信息,重新输入
- [电子商务]传统商务活动与互联网的结合
comsci
电子商务
某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。
如何避免销售量和利润率增加的
- java 解析 properties-使用 Properties-可以指定配置文件路径
cuityang
javaproperties
#mq
xdr.mq.url=tcp://192.168.100.15:61618;
import java.io.IOException;
import java.util.Properties;
public class Test {
String conf = "log4j.properties";
private static final
- Java核心问题集锦
darrenzhu
java基础核心难点
注意,这里的参考文章基本来自Effective Java和jdk源码
1)ConcurrentModificationException
当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是:
1)用listIterator, 它支持在遍历的过程中修改元素,
2)不用listIterator, new一个
- 1分钟学会Markdown语法
dcj3sjt126com
markdown
markdown 简明语法 基本符号
*,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号
空白行表示另起一个段落
`是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签
换行
单一段落( <p>) 用一个空白行
连续两个空格 会变成一个 <br>
连续3个符号,然后是空行
- Gson使用二(GsonBuilder)
eksliang
jsongsonGsonBuilder
转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述
GsonBuilder用来定制java跟json之间的转换格式
二.基本使用
实体测试类:
温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField
- 报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList
gundumw100
android
有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f
- JavaWeb之JSP指令
ihuning
javaweb
要点
JSP指令简介
page指令
include指令
JSP指令简介
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP指令的基本语法格式:
<%@ 指令 属性名="
- mac上编译FFmpeg跑ios
啸笑天
ffmpeg
1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
2、安装yasm-1.2.0
curl http://www.tortall.net/projects/yasm
- sql mysql oracle中字符串连接
macroli
oraclesqlmysqlSQL Server
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的语法如下:
Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CON
- Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate
qiaolevip
学习永无止境每天进步一点点git纵观千象
// 报错如下:
$ git pull origin master
fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce
rtificate
// 原因:
由于git最新版默认使用ssl安全验证,但是我们是使用的git未设
- windows命令行设置wifi
surfingll
windowswifi笔记本wifi
还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么
教你命令行设置 笔记本电脑wifi:
1、开启wifi命令
netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456
netsh wlan start hostednetwork
pause
其中pause是等待输入,可以去掉
2、
- Linux(Ubuntu)下安装sysv-rc-conf
wmlJava
linuxubuntusysv-rc-conf
安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
背景知识
sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf
- svn切换环境,重发布应用多了javaee标签前缀
zengshaotao
javaee
更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。
然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。
检出