文章目录

  • xUtils3入门使用及部分解析
    • xUtils简介
    • 实操部分:
      • 搭建初始化环境
        • 1.Gradle构建时添加以下依赖:
        • 2.加入所需要的权限:
        • 3.进行初始化(记得是在application中进行初始化,这点与旧版不一致)
        • 4.在配置文件中进行引用:
        • 5.在MainActivity也要进行声明
      • ViewUtils模块的使用
        • @ContentView()
        • @ViewInject()
        • @Event()
      • DbUtils模块的使用
        • 1.创建并配置DbManager
        • 2.创建实体类
        • 3.实现CRUD方法
      • HttpUtils模块的使用
        • Get请求
        • Post请求
        • **上传文件**
        • **下载文件**
      • BitmapUtils模块的使用
        • lmageOptions
        • bind
        • loadDrawable
        • loadFile
    • 不积跬步无以至千里

xUtils3入门使用及部分解析

xUtils简介

xUitls是一个第三方库,其就是一个工具类,是最初源于Afinal框架,进行了大量的重构,使得其能够支持大文件上传,以及更安全的Http请求协议支持。

它主要分为4个模块:DbUtils、HttpUtils、ViewUtils、BitmapUtils


DbUtils:

  • android中的orm框架,一行代码就可以进行增删改查;
  • 支持事务,默认关闭;
  • 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
  • 支持绑定外键,保存实体时外键关联实体自动保存或更新;
  • 自动加载外键关联实体,支持延时加载;
  • 支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。

ViewUtils:

  • android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
  • 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
  • 目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。

HttpUtils:

  • 支持同步,异步方式的请求;
  • 支持大文件上传,上传大文件不会oom;
  • 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
  • 下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
  • 返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。

BitmapUtils:

  • 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
  • 支持加载网络图片和本地图片;
  • 内存管理使用lru算法,更好的管理bitmap内存;
  • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等…

由于xUtils已经很久不更新了,目前我们就使用它的升级版,也就是xUtils3

这是它的官方网站

xUtils3相对于旧版有了一些变化:

  • HTTP实现替换HttpClient为UrlConnection, 自动解析回调泛型, 更安全的断点续传策略;

  • 支持标准的Cookie策略, 区分domain, path;

  • 事件注解去除不常用的功能, 提高性能;

  • 数据库api简化提高性能, 达到和greenDao一致的性能;

  • 图片绑定支持gif(受系统兼容性影响, 部分gif文件只能静态显示), webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转。




实操部分:

搭建初始化环境

1.Gradle构建时添加以下依赖:

implementation 'org.xutils:xutils:3.8.9'

2.加入所需要的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 可选 -->

3.进行初始化(记得是在application中进行初始化,这点与旧版不一致)

// 在application的onCreate中初始化
@Override
public void onCreate() {super.onCreate();x.Ext.init(this);x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能....
}

4.在配置文件中进行引用:

引用

5.在MainActivity也要进行声明

添加如下代码:

x.view().inject(this);

到此为止,xUitls3的初始化已经完成,接下来可以进行功能的使用了。




ViewUtils模块的使用

ViewUtils的使用无需findViewById和setClickListener等,它用注解进行了替代,大大简化了我们的开发。这里简单介绍几个常用注解

@ContentView()

这是个什么注解呢?

很明显,通过名字我们便可得知,它就是用来替代**setContentView()**的

它怎么使用呢?

我们点开它的源代码

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ContentView {int value();
}

可以看到,在这个注解中,只需要Value填入你的布局文件id即可。然后将其标注在你的Activity上即可

@ViewInject()

这是个什么注解呢?

通过直译这个注解可以很明显的知道,它就是用来注入view的,也就是说,它替代了我们的findViewById()

它怎么使用呢?

源代码:

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ViewInject {int value();/* parent view id */int parentId() default 0;
}

可以看到,它也只需要注入value即可,并标注在TextView上即可。

例:@ViewInject(R.id.queryname)TextView tv;

@Event()

这个注解主要用于事件的处理。

源代码:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Event {/*** 控件的id集合, id小于1时不执行ui事件绑定.*/int[] value();/*** 控件的parent控件的id集合, 组合为(value[i], parentId[i] or 0).*/int[] parentId() default 0;/*** 事件的listener, 默认为点击事件.*/Class<?> type() default View.OnClickListener.class;/*** 事件的setter方法名, 默认为set+type#simpleName.*/String setter() default "";/*** 如果type的接口类型提供多个方法, 需要使用此参数指定方法名.*/String method() default "";
}

这里有几点注意点:

  • 注解的方法必须用private进行修饰
  • 对于返回值类型没有要求
  • 参数名和type的接口要求的参数名要一致
  • 多个value值用{}括起来

举一个小例子:

 @Event(value = {R.id.btn1,R.id.btn2,R.id.btn3})private void onClick(View v) {switch (v.getId()){case R.id.btn1 :Toast.makeText(getApplicationContext(),"btn1被点击了",Toast.LENGTH_LONG).show();case R.id.btn2 :Toast.makeText(getApplicationContext(),"btn2被点击了",Toast.LENGTH_LONG).show();case R.id.btn3 :Toast.makeText(getApplicationContext(),"btn3被点击了",Toast.LENGTH_LONG).show();}}

btn




DbUtils模块的使用

首先,我们在MainActivity中new一个DbManager.DaoConfig

这个DaoConfig都有什么东西呢?这里我总结一下:

  public DaoConfig setDbDir(File dbDir)		#设置数据库存储目录public DaoConfig setDbName(String dbName)		#设置数据库名public DaoConfig setDbVersion(int dbVersion)	#设置数据库版本public DaoConfig setAllowTransaction(boolean allowTransaction)	#设置是否开启事务(默认为truepublic DaoConfig setDbOpenListener(DbOpenListener dbOpenListener)		#数据库打开监听public DaoConfig setDbUpgradeListener(DbUpgradeListener dbUpgradeListener)	#数据库更新监听public DaoConfig setTableCreateListener(TableCreateListener tableCreateListener)	#监听表创建

了解清楚后,我们可以开始配置了:

1.创建并配置DbManager

@ContentView(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {DbManager db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// setContentView(R.layout.activity_main);//创建并配置DaoConfigDbManager.DaoConfig daoConfig = new DbManager.DaoConfig().setDbName("test1.db").setDbDir(new File("/sdcard")).setDbVersion(2).setDbOpenListener(new DbManager.DbOpenListener() {@Overridepublic void onDbOpened(DbManager db) throws DbException {//开启WAL,提升写入速度db.getDatabase().enableWriteAheadLogging();}}).setDbUpgradeListener(new DbManager.DbUpgradeListener() {@Overridepublic void onUpgrade(DbManager db, int oldVersion, int newVersion) throws DbException {//可进行建表等相关操作}});try {db = x.getDb(daoConfig);} catch (DbException e) {e.printStackTrace();}}
}

2.创建实体类

接下来创建一个User表作为数据库的实体类:(具体注释的用途已标明)

//声明其为一个表,给xutils解析     表名为user,onCreated处填写sql语句,则表创建时将执行(默认为空)
@Table(name="user",onCreated = "")
public class User {//isId告诉xutils其为id,autoGen设置是否自增@Column(name = "id",isId = true,autoGen = true,property = "NOT NULL")private int id;@Column(name = "name")private String name;//注意一定要保留这个无参构造,否则建表将会失败public User(){}public User(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

3.实现CRUD方法

在MainActivity中使用DbManager的CRUD方法:

(这里使用到了**@Event**注解,这个注解只需传入按钮的id,即可在标注的方法中进行该按钮的监听事件,让我们省了不少功夫)

  @Event(R.id.save)private void save(View v) throws DbException {ArrayList<User> users = new ArrayList<>();users.add(new User("zhangsan"));users.add(new User("lisi"));//不仅仅可以进行单个用户的插入,还能实现List的插入db.save(users);Log.i("test","建表成功");}@Event(R.id.delete)private void del(View v) throws DbException {//whereBuilder即为一个条件类,在其中可以运行有条件的SQL语句//传入id = 1db.delete(User.class, WhereBuilder.b().and("id","=",1));Log.i("test","删除成功");}@Event(R.id.update)private void update(View v) throws DbException {//将id=1的数据的name值改为Nickdb.update(User.class,WhereBuilder.b().and("id","=",1),new KeyValue("name","Nick"));Log.i("test","修改成功");}@Event(R.id.query)private void select(View v) throws DbException {//查找出id=1的值User user = db.selector(User.class).where("id","=",1).findFirst();Log.i("test","用户名为:"+user.getName());Toast.makeText(getApplicationContext(),user.getName(),Toast.LENGTH_LONG).show();}

结果如下:

image-20200604170914480

image-20200604171054469




HttpUtils模块的使用

通常,我们的Get请求会有一长串的字符参数跟在请求地址后面,而通过HttpUtils,则可以让它像Post请求一样,组成一个字符串直接封装至请求方法中去,同时也可以设置自定义属性。


Get请求

首先我们进行Get请求的学习:

在一个按钮的监听事件里添加如下代码:x.http().get(),我们点击进该方法查看需要什么参数。

 /*** 异步GET请求*/<T> Callback.Cancelable get(RequestParams entity, Callback.CommonCallback<T> callback);

它需要一个RequestParams和一个Callback,怎么办?new它。下面就是get请求的具体实现了:

    @Event(R.id.get)public void Get(View v){RequestParams params = new RequestParams(url);//添加参数params.addQueryStringParameter("username","zahngsan");params.addQueryStringParameter("password","1234");x.http().get(params, new Callback.CacheCallback<String>() {//成功@Overridepublic void onSuccess(String result) {}//失败@Overridepublic void onError(Throwable ex, boolean isOnCallback) {}//主动取消回调@Overridepublic void onCancelled(CancelledException cex) {}//请求完成的回调@Overridepublic void onFinished() {}//缓存@Overridepublic boolean onCache(String result) {return false;}});}

Post请求

类似的,我们也可以写出post请求:

 @Event(R.id.post)public void Post(View v){RequestParams params = new RequestParams(url);//添加参数params.addBodyParameter("username","zahngsan");params.addParameter("password","1234");//请求头params.addHeader("head","test");x.http().get(params, new Callback.CacheCallback<String>() {//成功@Overridepublic void onSuccess(String result) {}//失败@Overridepublic void onError(Throwable ex, boolean isOnCallback) {}//主动取消回调@Overridepublic void onCancelled(CancelledException cex) {}//请求完成的回调@Overridepublic void onFinished() {}});}

同时,它也对上传文件和下载文件做了支持。

上传文件

@Event(R.id.up)
private void up(View v){String path="/mnt/sdcard/Download/nick.jpg";RequestParams params = new RequestParams(url);params.setMultipart(true);params.addBodyParameter("file",new File(path));x.http().post(params, new Callback.CommonCallback<String>() {@Overridepublic void onSuccess(String result) {}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {}@Overridepublic void onCancelled(CancelledException cex) {}@Overridepublic void onFinished() {}});}

下载文件

  @Event(R.id.down)private void down(View v){String url = "https://down.qq.com/qqweb/QQ_1/android_apk/Android_8.3.6.4590_537064458.apk";RequestParams params = new RequestParams(url);//定义存储的目录params.setSaveFilePath(Environment.getExternalStorageDirectory()+"/test");//设置文件自动命名params.setAutoRename(true);x.http().post(params, new Callback.ProgressCallback<File>() {@Overridepublic void onSuccess(File result) {//apk下载完成后,调用系统的安装方法Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(result), "application/vnd.android.package-archive");startActivity(intent);}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {}@Overridepublic void onCancelled(CancelledException cex) {}@Overridepublic void onFinished() {}//网络请求之前的回调@Overridepublic void onWaiting() {}//开始请求的回调@Overridepublic void onStarted() {}//边请求边调用的方法@Overridepublic void onLoading(long total, long current, boolean isDownloading) {Log.i("test","current="+",total="+total);}});}

image-20200604212455322




BitmapUtils模块的使用

xUtils3在xUtils的图片绑定基础上,增加了支持gif,以及圆角、方形等裁剪。这部分内容重点在于加载图片的4个bind方法,loadDrawable与loadFIle用法和ImageOptions用法。

首先,我可以打开**x.image().bind()**的接口感受一下它的源码,通过源码对它有所认识

public interface ImageManager {void bind(ImageView view, String url);void bind(ImageView view, String url, ImageOptions options);void bind(ImageView view, String url, Callback.CommonCallback<Drawable> callback);void bind(ImageView view, String url, ImageOptions options, Callback.CommonCallback<Drawable> callback);Callback.Cancelable loadDrawable(String url, ImageOptions options, Callback.CommonCallback<Drawable> callback);Callback.Cancelable loadFile(String url, ImageOptions options, Callback.CacheCallback<File> callback);void clearMemCache();void clearCacheFiles();
}

可见,里面有4个重载的bind方法

lmageOptions

我们再来看看它的ImageOptions都能做什么:

setFadeIn(true)		//设置淡入效果
setCircular(true) 	//设置图片显示为圆形
setSquare(true)		//设置图片显示为正方形
setCrop(true).setSize(100,100)	//设置图片大小
setAnimation(animation)	//设置动画
setFailureDrawable(Drawable failureDrawable)	//设置加载失败的动画
setFailureDrawableId(int failureDrawable) 	//以资源id设置加载失败的动画
setLoardingDrawable(Drawable loardingDrawable)	//设置加载中动画
setLoadingDrawableId(int loadingDrawable) //以资源id设置加载中的动画
setParamsBuilder(ParamsBuilder paramsBuilder)	//在网络请求中添加参数
setIgnoreGif(false) 	//忽略Gif图片
setRaduis(int raduis) 	//设置拐角弧度
setUseMemCache(true)	//设置使用MemCache

bind

这里我主要就简单介绍一下其中一个bind方法的使用:

@ContentView(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {String url = "https://i.picsum.photos/id/1/5616/3744.jpg";@ViewInject(R.id.img)ImageView iv;@ViewInject(R.id.tv)TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);x.view().inject(this);ImageOptions options = new ImageOptions.Builder().setFadeIn(true).setCrop(true).setSize(300,300).build();x.image().bind(iv, url,options, new Callback.CacheCallback<Drawable>() {@Override//缓存public boolean onCache(Drawable result) {return false;}@Overridepublic void onSuccess(Drawable result) {tv.setText("图片加载成功");}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {tv.setText("图片加载错误");}@Overridepublic void onCancelled(CancelledException cex) {}@Overridepublic void onFinished() {}});}
}

运行结果:

image-20200604223456035

loadDrawable

接着学习一下loadDrawable,使用它其实和bind效果一致,但是它会将加载的图片保存在本地

 x.image().loadDrawable(url,options, new Callback.CommonCallback<Drawable>() {@Overridepublic void onSuccess(Drawable result) {iv.setImageDrawable(result);tv.setText("图片加载成功");}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {tv.setText("图片加载错误");}@Overridepublic void onCancelled(CancelledException cex) {}@Overridepublic void onFinished() {}});

loadFile

最后,我们学习一下loadFile方法,在使用loadDrawable保存的图片,可以通过它来获取

 x.image().loadFile(url, options, new Callback.CacheCallback<File>() {@Overridepublic boolean onCache(File result) {//使用本地图片Log.i("test",result.getPath());return true;}@Overridepublic void onSuccess(File result) {}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {}@Overridepublic void onCancelled(CancelledException cex) {}@Overridepublic void onFinished() {}});

最后,我们学习一下loadFile方法,在使用loadDrawable保存的图片,可以通过它来获取

 x.image().loadFile(url, options, new Callback.CacheCallback<File>() {@Overridepublic boolean onCache(File result) {//使用本地图片Log.i("test",result.getPath());return true;}@Overridepublic void onSuccess(File result) {}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {}@Overridepublic void onCancelled(CancelledException cex) {}@Overridepublic void onFinished() {}});

不积跬步无以至千里

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. kafka(2)

    文件存储机制消息确认几种方式,说白了就是改变offset的值1.自动提交,多久提交一次2.手动提交-- 手动同步提交-- 手动异步提交指定消费某个分区的消息消息的消费原理老版本的consumer offset是维护在zk上的(0.8之前)新版本consumer是存在kafka的内部的topic里面kafka的分区分配策…...

    2024/4/16 5:32:44
  2. 虚幻4第一章配置环境

    第一章安装 一账户注册 https://www.unrealengine.com/zh-CN/?sessionInvalidated=true 注册账户 第二选择创作许可三启动器四安装引擎重要的知识点 开发需要大量的模型,首先上场有免费板块。而且每个月会上线新的免费模型_.第二配置项目 一项目创建 1选择虚幻引擎 2选择库下…...

    2024/4/16 5:33:35
  3. 前端启动nodejs项目地址

    等价 多映射了一个可以访问真实网关服务的地址端口 8082, 即可以用8080 或者 8082 都是相当访问到8080 的! 注意: 真实的网关服务地址 设计的是 8080哈!!!...

    2024/4/20 14:20:33
  4. ES6中的常用异步对象和函数

    1.promise对象// promise对象 const promise=new Promise((resolve,reject)=>{console.log(1);resolve();console.log(2); }) promise.then(()=>{console.log(3); }) console.log(4);//打印的结果:1,2,4,3const promise=Promise.resolve(1).then(2).then(Promise.resolv…...

    2024/4/25 12:04:11
  5. 【B - LIS & LCS】

    题意:东东有两个序列A和B。 他想要知道序列A的LIS和序列AB的LCS的长度。 注意,LIS为严格递增的,即a1<a2<…<ak(ai<=1,000,000,000)。思路:求LIS(最长上升子序列),使用两个for循环,一个用来遍历序列中的所有元素,一个用来遍历序列中这个元素之前的所有元素…...

    2024/4/16 5:32:34
  6. Java基础(一)

    Java语言的发展史 创始人:James Gosling 市面上用的最多的版本:Java8.0 (2014年) 长期支持版本:Java12 Java语言的跨平台性 JDK(Java Developer’s Kit)=JRE(java Runtime Environment)+开发工具 JRE=JVM(java Virtual Machine)+核心类库 java程序在不同平台(操作系统)上运行需…...

    2024/4/25 19:09:56
  7. 关于PyCharm的安装、激活、环境配置以及导入第三方包中遇到的一些问题

    安装PyCharm的过程 首先,在这安装过程中,推荐下载最新的2019版本使用,不建议用汉化版,用英文版对以后的学习会有更大益处。安装包用户可以自行在搜索引擎上下载,不过建议去官网下载使用。 下载之后根据提示安装即可。 激活PyCharm的过程 激活PyCharm的方式有三种,我这里使…...

    2024/4/18 6:43:07
  8. 删除某些路径下的某些文件夹(使用cmd中for语句)

    在一次写一个负责更新的软件中,遇到要将更新时临时使用的文件夹,删除掉的功能。于是有了下面的探究。 更新软件的实现思路:这是一个只有简单逻辑的软件,只是负责从云端检测是否有新的更新包,然后反馈给主程序,接着下载更新包并解压到windows系统的用户临时目录下,再然后…...

    2024/4/19 13:40:29
  9. windows安装elasticsearch 7.4和head控制台就、ik

    文章目录1. elasticsearch下载2. elasticsearch安装3. 安装中文分词器ik4. elasticsearch-head控制台安装5. head控制台的简单使用 1. elasticsearch下载推荐下载 7.4.0版本,目前最新7.7.0版本,因为最新版本的中文分词器ik在github上找不到现成可用的。建议直接从官网下载。也…...

    2024/4/24 10:50:00
  10. HDU 1002 A+B Problem II (大数相加,手算模拟)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目大意: 有T组数据,每一组数据有两个数字a和b,求a+b。数字特别大,不超过1000位。 输出的注意一下,是每组之间有一个空行,而不是每一组后面跟一个空格。 思路: 就是大数相加,所谓大数相加就是模拟人手算的过…...

    2024/4/24 10:50:04
  11. MyBatis源码-深入理解MyBatis Executor的设计理念

    文章目录Pre回顾JDBC的执行过程Pre 如果MyBatis的基础用法还不熟悉,31篇入门博客送给您 https://blog.csdn.net/yangshangwei/category_7205317.html回顾JDBC的执行过程...

    2024/4/24 10:49:55
  12. Element ui 使用小细节

    <el-form ref="form" :model="form" label-width="120px" label-position="top"><el-form-item label="活动时间" class="p_binglijia_date"><el-col :span="8"><el-date-picker…...

    2024/4/24 10:49:54
  13. Apache的管理及优化web(2) ---Apache的虚拟主机 、Apache的语言支持(PHP、cgi)、Apache的加密访问、Squid+Apache (squid 正向代理、反向代理)

    一、Apache的虚拟主机 1.虚拟主机虚拟主机(Virtual Host),又称虚拟服务器、主机空间或是网页空间,是一种网络技术,可以让多个主机名称,在一个单一的服务器上运作,而且可以分开支持每个单一的主机名称。虚拟主机可以运行多个网站或服务。虚拟并非指不存在,而是指空间是由…...

    2024/4/26 11:52:32
  14. Leecode108_sorttedArrayToBST

    Leecode 108 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 方法一: 递归法,每次选择中间作为root,类似于二分法。树类的算法大多可以用递归解决。 代码:TreeN…...

    2024/4/24 10:50:00
  15. leetcode 238. 除自身以外数组的乘积

    leetcode 238. 除自身以外数组的乘积 题目详情题目链接 给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例: 输入: [1,2,3,4] 输出: [24,12,8,6]提示:题目数据保证数组之中任意元素…...

    2024/4/24 10:49:51
  16. abd命令基本了解

    ADB简介: ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Androi…...

    2024/4/24 10:49:57
  17. 2020年6月4日学习随感

    Linux Linux这边是什么来着,正则表达式, grep相关 ‘字符串’:查找特定字符串 -i ‘字符串’:反向选择 [ab]:代表一个a或者b [^a]:非a [^a-z] :非小写字母 [[:lower:]] :小写字母 ^ $ :行首行尾 . :一定有一个任意字符 * :重复0个或多个前面的字符 {} :限定连续RE字…...

    2024/4/24 10:49:49
  18. 《龙教授私享会职场沟通心法》12:憋成锅炉,万事皆休

    作者:李睿龙 来自:龙教授私享会 声明:本文由李瑞龙先生授权发表,禁止抄袭或再次转载,否则,我们将通过正规法律手段维护相关合法权益。昨天最后有一个问题,就是情绪控制不能只是一味憋着,还是需要充分表达的。但是不是说就应该肆无忌惮的发泄,我们要能够从容、安全地表…...

    2024/4/24 10:49:56
  19. docker怎么访问宿主中redis服务6379端口

    1.宿主机中执行ifconfig, 获取当前的ip,2.配置redis2.1关闭redis的保护模式(即会阻挡外部网址访问), 首先打开redis的配置文件redis.conf, 然后找到protected-mode yes一行将yes改为no,当然如果你本身就是no就不用修改了2.2 确保redis监听的本地所有地址,而不只是127.0.0.1地址…...

    2024/4/24 10:49:47
  20. 名命管道非阻塞模式通信

    名命管道非阻塞模式通信 分析:代码://读端 #include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <errno.h> #include <fcntl.h> #def…...

    2024/4/24 10:49:46

最新文章

  1. 【强训笔记】day5

    NO.1 思路&#xff1a;找到数量最小的字符&#xff0c;就可以知道you的数量&#xff0c;用o的数量减去you的数量再减去1就是oo的数量。 代码实现&#xff1a; #include<iostream>using namespace std;int main() {int q;cin >> q;int a, b, c;while (q--){cin &g…...

    2024/4/28 4:00:30
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. composer常见错误解决

    在Java中&#xff0c;常见的问题和解决方法包括&#xff1a; 内存不足错误&#xff1a;Java应用程序在运行时可能会遇到内存不足的错误。可以通过增加JVM的堆内存大小来解决&#xff0c;可以通过设置-Xms和-Xmx参数来指定初始堆大小和最大堆大小。 java -Xms2G -Xmx4G YourAppl…...

    2024/4/23 6:26:03
  4. 最新在线工具箱网站系统源码

    内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API&#xff0c;同时还自带免费API接口&#xff0c; 是一个多功能性工具程序&#xff0c;支持后台管理、上…...

    2024/4/27 9:59:44
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57