多式样ProgressBar

2023-05-16

多式样ProgressBar

普通圆形ProgressBar





该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。

一般只要在XML布局中定义就可以了。

  1. <progressBar android:id="@+id/widget43"
  2.       android:layout_width="wrap_content"
  3.       android:layout_height="wrap_content"   
  4.       android:layout_gravity="center_vertical">
  5. </ProgressBar>
复制代码
此时,没有设置它的风格,那么它就是圆形的,一直会旋转的进度条。

各大小样式圆形ProgressBar


超大号圆形ProgressBar


此时,给设置一个style风格属性后,该ProgressBar就有了一个风格,这里大号ProgressBar的风格是:
  1. style="?android:attr/progressBarStyleLarge"
复制代码
完整XML定义是:
  1. <progressBar android:id="@+id/widget196"
  2.       android:layout_width="wrap_content"
  3.       android:layout_height="wrap_content"
  4.       style="?android:attr/progressBarStyleLarge">
  5. </ProgressBar>
复制代码


小号圆形ProgressBar




小号ProgressBar对应的风格是:
  1. style="?android:attr/progressBarStyleSmall"
复制代码
完整XML定义是:
  1. <progressBar android:id="@+id/widget108"
  2.       android:layout_width="wrap_content"
  3.       android:layout_height="wrap_content"
  4.       style="?android:attr/progressBarStyleSmall">
  5. </ProgressBar>
复制代码


标题型圆形ProgressBar






标题型ProgressBar对应的风格是:
  1. style="?android:attr/progressBarStyleSmallTitle"
复制代码
完整XML定义是:
  1. <progressBar android:id="@+id/widget110"
  2.     android:layout_width="wrap_content"
  3.     android:layout_height="wrap_content"
  4.     style="?android:attr/progressBarStyleSmallTitle">
  5. </ProgressBar>
复制代码
代码中实现:
  1. @Override
  2.     protected void onCreate(Bundle savedInstanceState) {
  3.         // TODO Auto-generated method stub
  4.         super.onCreate(savedInstanceState);
  5.         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
  6.         //请求窗口特色风格,这里设置成不明确的进度风格
  7.         setContentView(R.layout.second);
  8.         setProgressBarIndeterminateVisibility(true);
  9.         //设置标题栏中的不明确的进度条是否可以显示
  10.     }
复制代码


长形进度条


布局中的长形进度条


①首先在XML进行布局
  1. <progressBar android:id="@+id/progressbar_updown"
  2.         android:layout_width="200dp"
  3.         android:layout_height="wrap_content"
  4.         style="?android:attr/progressBarStyleHorizontal"
  5.         android:layout_gravity="center_vertical"
  6.         android:max="100"
  7.         android:progress="50"
  8.         android:secondaryProgress="70"    >
复制代码
讲解:
style="?android:attr/progressBarStyleHorizontal"   
设置风格为长形
android:max="100"   
最大进度值为100
android:progress="50"  
初始化的进度值
android:secondaryProgress="70"
初始化的底层第二个进度值
android:layout_gravity="center_vertical"   
垂直居中


②代码中运用
  1. private ProgressBar myProgressBar;
  2. //定义ProgressBar
  3. myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);
  4. //ProgressBar通过ID来从XML中获取
  5. myProgressBar.incrementProgressBy(5);
  6. //ProgressBar进度值增加5
  7. myProgressBar.incrementProgressBy(-5);
  8. //ProgressBar进度值减少5
  9. myProgressBar.incrementSecondaryProgressBy(5);
  10. //ProgressBar背后的第二个进度条 进度值增加5
  11. myProgressBar.incrementSecondaryProgressBy(-5);
  12. //ProgressBar背后的第二个进度条 进度值减少5
复制代码



页面标题中的长形进度条



代码实现:
①先设置一下窗口风格特性
  1. requestWindowFeature(Window.FEATURE_PROGRESS);
  2. //请求一个窗口进度条特性风格
  3. setContentView(R.layout.main);
  4. setProgressBarVisibility(true);
  5. //设置进度条可视
复制代码
②然后设置进度值
  1. setProgress(myProgressBar.getProgress() * 100);
  2. //设置标题栏中前景的一个进度条进度值
  3. setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);
  4. //设置标题栏中后面的一个进度条进度值
  5. //ProgressBar.getSecondaryProgress() 是用来获取其他进度条的进度值
复制代码


ProgressDialog

ProgressDialog中的圆形进度条
     
ProgressDialog一般用来表示一个系统任务或是开启任务时候的进度,有一种稍等的意思。
代码实现:

  1.   ProgressDialog mypDialog=new ProgressDialog(this);
  2.             //实例化
  3.             mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  4.             //设置进度条风格,风格为圆形,旋转的
  5.             mypDialog.setTitle("Google");
  6.             //设置ProgressDialog 标题
  7.             mypDialog.setMessage(getResources().getString(R.string.second));
  8.             //设置ProgressDialog 提示信息
  9.             mypDialog.setIcon(R.drawable.android);
  10.             //设置ProgressDialog 标题图标
  11.             mypDialog.setButton("Google",this);
  12.             //设置ProgressDialog 的一个Button
  13.             mypDialog.setIndeterminate(false);
  14.             //设置ProgressDialog 的进度条是否不明确
  15.             mypDialog.setCancelable(true);
  16.             //设置ProgressDialog 是否可以按退回按键取消
  17.             mypDialog.show();
  18.             //让ProgressDialog显示
复制代码



ProgressDialog中的长形进度条
      

代码实现:
  1. ProgressDialog mypDialog=new ProgressDialog(this);
  2. //实例化
  3.             mypDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
  4.             //设置进度条风格,风格为长形,有刻度的
  5.             mypDialog.setTitle("地狱怒兽");
  6.             //设置ProgressDialog 标题
  7.             mypDialog.setMessage(getResources().getString(R.string.second));
  8.             //设置ProgressDialog 提示信息
  9.             mypDialog.setIcon(R.drawable.android);
  10.             //设置ProgressDialog 标题图标
  11.             mypDialog.setProgress(59);
  12.             //设置ProgressDialog 进度条进度
  13.             mypDialog.setButton("地狱曙光",this);
  14.             //设置ProgressDialog 的一个Button
  15.             mypDialog.setIndeterminate(false);
  16.             //设置ProgressDialog 的进度条是否不明确
  17.             mypDialog.setCancelable(true);
  18.             //设置ProgressDialog 是否可以按退回按键取消
  19.             mypDialog.show();
  20.             //让ProgressDialog显示   
复制代码



AlertDialog.Builder

AlertDialog中的圆形ProgressBar

①先来设计一个Layout,待会儿作为一个View,加入AlertDialog.Builder
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_gravity="center_horizontal"
  4.     android:layout_width="wrap_content"
  5.     android:layout_height="wrap_content">
  6.     <LinearLayout android:id="@+id/LinearLayout01"
  7.     android:layout_width="wrap_content"
  8.     android:layout_height="wrap_content">
  9. </LinearLayout>
  10.     <ProgressBar android:layout_gravity="center_vertical|center_horizontal"
  11.         android:layout_height="wrap_content"
  12.         android:progress="57"
  13.         android:id="@+id/myView_ProgressBar2"
  14.         android:layout_width="wrap_content">
  15. </ProgressBar>
  16. </LinearLayout>
复制代码
②代码罗
  1. private AlertDialog.Builder AlterD,AlterD2;
  2. //定义提示对话框
  3. private LayoutInflater layoutInflater;
  4. //定义布局过滤器
  5. private LinearLayout myLayout;
  6. //定义布局
  7. layoutInflater2=(LayoutInflater) getSystemService(this.LAYOUT_INFLATER_SERVICE);
  8. //获得系统的布局过滤服务
  9. myLayout2=(LinearLayout) layoutInflater2.inflate(R.layout.roundprogress, null);
  10. //得到事先设计好的布局
  11. AlterD2.setTitle(getResources().getString(R.string.RoundO));
  12. //设置对话框标题
  13. AlterD2.setIcon(R.drawable.ma);
  14. //设置对话框图标
  15. AlterD2.setMessage(getResources().getString(R.string.ADDView));
  16. //设置对话框提示信息
  17. AlterD2.setView(myLayout2);
  18. //设置对话框中的View
  19. AlterD2.show();
  20. //让对话框显示
复制代码


AlertDialog中的长形ProgressBar(可控制)


①先来设计一个Layout,待会儿作为一个View,加入AlertDialog.Builder
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_gravity="center_horizontal"
  4. android:layout_width="wrap_content"
  5.     android:layout_height="wrap_content">
  6.     <Button
  7. android:layout_height="wrap_content"
  8. android:text="-"
  9.         android:layout_width="50dp"
  10. android:id="@+id/myView_BT_Down">
  11. </Button>
  12.     <ProgressBar
  13. android:layout_gravity="center_vertical"
  14.         android:layout_height="wrap_content"
  15. style="?android:attr/progressBarStyleHorizontal"
  16.         android:id="@+id/myView_ProgressBar"
  17. android:progress="57"
  18.         android:layout_width="178dp">
  19. </ProgressBar>
  20.     <Button android:layout_height="wrap_content"
  21. android:text="+"
  22.         android:layout_width="50dp"
  23. android:id="@+id/myView_BT_Up">
  24. </Button>
  25. </LinearLayout>
复制代码
②代码罗
  1. private AlertDialog.Builder AlterD,AlterD2;
  2. //定义提示对话框
  3. private LayoutInflater layoutInflater;
  4. //定义布局过滤器
  5. private LinearLayout myLayout;
  6. //定义布局
  7. layoutInflater=(LayoutInflater) getSystemService(this.LAYOUT_INFLATER_SERVICE);
  8. //获得系统的布局过滤服务
  9. myLayout=(LinearLayout) layoutInflater.inflate(R.layout.myview, null);
  10. //得到事先设计好的布局

  11. myup=(Button) myLayout.findViewById(R.id.myView_BT_Up);
  12. mydown=(Button) myLayout.findViewById(R.id.myView_BT_Down);
  13. mypro=(ProgressBar)myLayout.findViewById(R.id.myView_ProgressBar);
  14. //通过myLayout.findViewById来获取自定义View中的Widget控件元素

  15. myup.setOnClickListener(this);
  16. //设置对话框View中的按钮监听器
  17. mydown.setOnClickListener(this);
  18. //设置对话框View中的按钮监听器
  19. mypro.setProgress(Tag);
  20. //设置一个Tag作为进度值
  21. AlterD.setTitle(getResources().getString(R.string.RectO));
  22. //设置对话框标题
  23. AlterD.setIcon(R.drawable.mb);
  24. //设置对话框图标
  25. AlterD.setMessage(getResources().getString(R.string.ADDView));
  26. //设置对话框提示信息
  27. AlterD.setView(myLayout);
  28. //设置对话框添加的View
  29. AlterD.setPositiveButton("OK", new DialogInterface.OnClickListener(){
  30.     @Override
  31.     public void onClick(DialogInterface dialog, int which) {
  32.         // TODO Auto-generated method stub
  33.         MyProgressBar.Tag=mypro.getProgress();
  34.     }});
  35. //设置对话框按钮,以及按钮的事件监听器
  36. AlterD.show();
  37. //让对话框显示
复制代码
③进度条进度值的按钮事件
  1. myup.setOnClickListener(this);
  2. //设置对话框View中的按钮监听器
  3. mydown.setOnClickListener(this);
  4. //设置对话框View中的按钮监听器
  5. 对应的代码:
  6.     @Override
  7.     public void onClick(View button) {
  8.         // TODO Auto-generated method stub
  9.         SwitchUPorDown(button);
  10.     }

  11.     private void SwitchUPorDown(View button) {
  12.         switch (button.getId()) {
  13.                 case R.id.myView_BT_Up: {
  14.             mypro.incrementProgressBy(1);   
  15.         }
  16.             break;
  17.         case R.id.myView_BT_Down: {
  18.             mypro.incrementProgressBy(-1);
  19.         }
  20.             break;
  21.         default:
  22.             break;
  23.         }
  24.     }
复制代码


App Widget中的进度条



Widget中的圆形ProgressBar

这个很简单,在Widget中没有多大意思,不再敷述。

Widget中的长形ProgressBar(可控制)

Widget的实现就不再重复,假设您已经把Widget布局,相应设置已经设置好了。也可以在桌面加入类似上面图中的样式。
现在我们来实现一下按钮事件,与进度条的交互。
下面还是简单讲解一下Widget的设计与部署。


①设计Widget布局
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3.     xmlns:android="http://schemas.android.com/apk/res/android"
  4.     android:background="@drawable/widget"
  5.     android:layout_height="74dp"
  6.     android:layout_width="296dp">
  7.     <Button
  8.         android:layout_height="wrap_content"
  9.         android:text="-"
  10.         android:layout_gravity="center_vertical"
  11.         android:layout_width="50dp"
  12.         android:id="@+id/widget_BT_Down"
  13.         android:layout_marginLeft="10dp">
  14.     </Button>
  15.     <ProgressBar
  16.         android:layout_gravity="center_vertical"
  17.         android:layout_height="wrap_content"
  18.         style="?android:attr/progressBarStyleHorizontal"
  19.         android:layout_width="178dp"
  20.         android:id="@+id/widget_ProgressBar">
  21.    </ProgressBar>
  22.     <Button
  23.         android:layout_height="wrap_content"
  24.         android:text="+"
  25.         android:layout_gravity="center_vertical"
  26.         android:layout_width="50dp"
  27.         android:id="@+id/widget_BT_Up">
  28.    </Button>
  29. </LinearLayout>
复制代码
②新增一个.res/xml目录,加入appwidget-provider
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <appwidget-provider
  3.     xmlns:android="http://schemas.android.com/apk/res/android"
  4.     android:initialLayout="@layout/widgetlayout"
  5.     android:updatePeriodMillis="8660000"
  6.     android:minWidth="296dp"
  7.     android:minHeight="74dp">
  8. </appwidget-provider>
复制代码
③实现一个AppWidgetProvider子类
  1. package zyf.test.ProgressBar;
  2. import android.appwidget.AppWidgetManager;
  3. import android.appwidget.AppWidgetProvider;
  4. import android.content.Context;
  5. import android.content.Intent;

  6. public class App extends AppWidgetProvider {

  7.     @Override
  8.     public void onEnabled(Context context) {
  9.         // TODO Auto-generated method stub
  10.         super.onEnabled(context);
  11.     }

  12.     @Override
  13.     public void onReceive(Context context, Intent intent) {
  14.         // TODO Auto-generated method stub
  15.         super.onReceive(context, intent);
  16.     }

  17.     @Override
  18.     public void onUpdate(Context context, AppWidgetManager appWidgetManager,
  19.             int[] appWidgetIds) {
  20.         // TODO Auto-generated method stub
  21.         super.onUpdate(context, appWidgetManager, appWidgetIds);
  22.     }

  23. }
复制代码
④配置Manifest,进行注册
  1. <receiver android:name="AppWidget">
  2.     <intent-filter>
  3.     <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
  4.     </intent-filter>
  5.     <meta-data  
  6.         android:resource="@xml/appwidget"
  7.         android:name="android.appwidget.provider">
  8.     </meta-data>
  9. </receiver>
复制代码
这里实现按钮与进度条的交互。(Widget自己广播发送与接收)

①按钮的消息发送
  1. @Override
  2.     public void onUpdate(Context context, AppWidgetManager appWidgetManager,
  3.             int[] appWidgetIds) {
  4.         // TODO Auto-generated method stub
  5.         final int N = appWidgetIds.length;

  6.         // Perform this loop procedure for each App Widget that belongs to this provider
  7.         for (int i=0; i<N; i++) {
  8.             int appWidgetId = appWidgetIds;
  9.             RemoteViews views=
  10. new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
  11.             
  12.             Intent UPintent=new Intent("zyf.test.widget.UP");
  13.             Intent DOWNintent=new Intent("zyf.test.widget.DOWN");
  14.             //实例化 两个带有Action的Intent
  15.             PendingIntent pendingIntentUp
  16. =PendingIntent.getBroadcast(context, 0, UPintent, 0);
  17.             PendingIntent pendingIntentDown
  18. =PendingIntent.getBroadcast(context, 0, DOWNintent, 0);
  19.             //实例化两个以Intent来构造的PendingIntent
  20.             views.setOnClickPendingIntent(R.id.widget_BT_Up, pendingIntentUp);
  21.             views.setOnClickPendingIntent(R.id.widget_BT_Down, pendingIntentDown);
  22.             //给View上的两个按钮绑定事件,这里是广播消息的发送
  23.             appWidgetManager.updateAppWidget(appWidgetId, views);
  24.         }
  25.     }
复制代码
②Widget自身消息接收,使用intent.getAction()来获取Action
  1. @Override
  2.     public void onReceive(Context context, Intent intent) {
  3.         // TODO Auto-generated method stub
  4.         super.onReceive(context, intent);
  5.         if(intent.getAction().equals("zyf.test.widget.UP")){
  6.             Tag+=5;
  7.             if(Tag>100){
  8.                 Tag=100;
  9.             }
  10.             views.setProgressBar(R.id.widget_ProgressBar, 100, Tag, false);
  11.             appManager.updateAppWidget(thisWidget, views);
  12.         }
  13.         if(intent.getAction().equals("zyf.test.widget.DOWN")){
  14.             Tag-=5;
  15.             if(Tag<0){
  16.                 Tag=0;
  17.             }
  18.             views.setProgressBar(R.id.widget_ProgressBar, 100, Tag, false);
  19.             appManager.updateAppWidget(thisWidget, views);
  20.         }
  21.     }
复制代码
③进度条的进度值设置
  1. views.setProgressBar(R.id.widget_ProgressBar, 100, Tag, false);
  2. //设置Widget上的进度条的进度值
  3. //第一个参数,Widget上进度条ID
  4. //第二个参数,进度条最大值
  5. //第三个参数Tag,一个int值,就是设置的进度值
  6. //第四个参数,是否是要进度条不确定
复制代码
注意了,Widget自身的onReceive()方法如果要接收其他的Action广播。那就必须在Manifest中,在Intent-filter中添加Action:
  1. <receiver android:name="AppWidget">
  2.     <intent-filter>
  3.         <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
  4.                 <action android:name="zyf.test.widget.UP"></action>
  5.                 <action android:name="zyf.test.widget.DOWN"></action>
  6.     </intent-filter>
  7.     <meta-data
  8.         android:resource="@xml/appwidget"
  9.         android:name="android.appwidget.provider">
  10.     </meta-data>
  11. </receiver>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多式样ProgressBar 的相关文章

  • 【实战】物联网安防监控项目【4】———从网页上控制A9的LED灯

    前言 学习了一个新知识 xff0c 当然要记录一下啦 这两天学习了boa服务器 cgic标准库和html标签语言 xff0c 又双叕解锁一个嵌入式的新玩法 cgic库是沟通C语言和html网页编程语言的一座桥梁 xff0c 通过在linux
  • 【实战】物联网安防监控项目【5】———把模拟数据传输到web网页、web显示mjpeg-streamer视频图像

    1 模拟数据传输到web 为了把硬件传感器上的数据上传到web网页 xff0c 我们需要在跑linux服务器的开发板上写一个应用程序 xff0c 并创建出几个线程来收集传感器检测到的数据 xff0c 通过进程 线程间通信 boa与cgic库
  • HttpGet Digest授权认证

    工具类 xff1a compile com burgstaller okhttp digest 1 13 import android span class hljs preprocessor content span span class
  • ubuntu下git push失败error: 无法推送一些引用到 ‘xxx ‘解决方法

    如果你在Ubuntu下使用git push上传你的代码到gitee xff0c 突然出现一行报错 xff1a To git 64 gitee com imysy twenty two thread pool test git rejecte
  • 【Linux驱动开发】并发控制机制:原子操作、自旋锁、信号量、互斥锁详解

    并发控制机制 首先我们来了解一下 操作系统的并发性 这个概念 xff1a 操作系统的并发性 concurrence xff1a 指的是两个或者两个以上事件在同一时间间隔内发生 xff0c 即这个设备一会执行这个事件一会执行那个事件 xff0
  • STM32F051K8U6按键中断实例

    引言 最近要开始做毕设了 xff0c 准备用STM32做一个平衡小车 xff0c 好久没做过STM32的裸机项目了 xff0c 做几个项目练练手 xff0c 复习一下 本例程使用STM32CubeMX配套hal库来实现按键中断和串口中断 芯
  • STM32库函数笔记分享

    之前刚开始自学的部分STM32笔记放出 xff0c 希望对新入门STM32和想要复习库函数的小伙伴们起到帮助 建立工程 1 寄存器操作方式 需要不断地查手册来了解每一位是干什么用的 优点 xff1a 代码简介 xff1b 缺点 xff1a
  • rc.exe not found.(完美解决,亲测有效)

    完美解决rc exe not found 报错出错原因解决方法完美解决 报错 这两天安装了vs2015和IVF2016 xff0c 安装完之后在运行程序的时候一直会出现rc exe not found xff0c 重新生成解决方案后还是一样
  • 单片机与上位机通过串口通信--笔记

    定义 先说什么是串口 xff1f xff08 1 xff09 他是一种通信接口 xff0c 单片机 IO 口上的复用功能 xff0c 上位机 xff08 电脑 xff09 和下位机 xff08 开发板 xff09 之间的数据传输 xff08
  • Qt 的Cmake方式如何创建资源文件

    传统的qmake创建的工程有pro qrc xff0c 但是如果使用cmake方式创建的工程就没有这两个东西 xff0c 我们公司就是在linux下使用cmake创建的Qt工程 xff0c 没有pro也看不到qrc xff0c 想在ui界面
  • 理解ROS Topic 通信频率背后的机制

    Topic是ROS的三种通信方式中最为基本 也是常用的一种 本文对于ROS的Topic通信背后的数据吞吐机制做一个较为详细 深入的介绍 Publisher ROS中发布一个topic的函数是这样的 ros span class token
  • Linux应用层例程4 串口应用编程

    本小节我们来学习 Linux 下串口应用编程 xff0c 串口 xff08 UART xff09 是一种非常常见的外设 xff0c 串口在嵌入式开发领域当中一般作为一种调试手段 xff0c 通过串口输出调试打印信息 xff0c 或者通过串口
  • Linux应用层例程7 CAN 应用编程基础

    CAN 是一种多主方式的串行通讯总线 xff0c 基本设计规范要求有高的位速率 xff0c 高抗电磁干扰性 xff0c 而且能够检测出产生的任何错误 经过几十年的发展 xff0c 现在 xff0c CAN 的高性能 高可靠性以及高实时性已被
  • 使用Socket方式调用HttpWebApi获取数据

    背景 xff1a 最近有一个需求 xff0c 单片机需要调用服务端Api获取数据 xff0c 因为一些原因单片机只能使用TCP方式 xff1b 作为服务端开发人员提供Demo 代码如下 xff08 这里用C 语言演示 xff09 using
  • git branch 和 tag的区别

    1 git branch 和 tag的区别 xff1f 1 git branch 上的修改可以保留 xff0c 例如在某个branch上commit一个新的节点 checkout到其它branch后commit的节点不会丢 2 git ta
  • 测线仪正确使用方法图解1

    测线仪正确使用方法图解1 测线仪正确使用方法图解2 测线仪正确使用方法图解3 测线仪正确使用方法图解 xff0c 我们来使用莱视威测试仪YN891 xff0c 先说说第一个功能 xff0c 测线 xff0c 首先 xff0c 我们打开旁边的
  • Git仓库分支(Branch)和标签(Tag)

    仓库的分支 Branch 规范 xff0c 影响到每个团队的工作流的一致性 xff1b 标签 Tag 便于开发团队 测 试团队和其他团队识别每个项目的版本 xff0c 特别是在协同处理线上问题的时候 xff0c 大家可以非常清楚 地知道线上
  • printf如何按二进制格式打印

    printf函数 xff1a int printf const char format format 这是字符串 xff0c 包含了要被写入到标准输出 stdout 的文本 它可以包含嵌入的 format 标签 xff0c format 标
  • QAV250四轴穿越机安装全程详解(多图)

    QAV250四轴穿越机安装全程详解 最近团队准备使用轻型穿越机QAV250做实验 xff0c 本文记录了QAV250的安装过程 xff0c 整理了开箱后较合理的安装顺序 xff0c 以及各个步骤的注意事项 xff0c 希望对有需要的朋友有所
  • 【C语言】进度条实现

    模拟电脑程序安装的进度条 提供两种方式 代码如下 xff1a include lt stdio h gt include lt string h gt include lt windows h gt void proc int i 61 0

随机推荐

  • ROS 使用记录(3) 自定义消息格式

    文章目录 0 前言1 创建 96 msg 96 文件2 构建 pkg 解析 96 msg 96 文件3 在其他 pkg 中使用自定义消息 0 前言 ROS 中可通过 publisher subscriber 和 topic 实现设计模式中的
  • TCPIP调试助手及源代码

    TCP IP xff08 Transmission Control Protocol Internet Protocol xff0c 传输控制协议 网际协议 xff09 是指能够在多个不同网络间实现信息传输的协议簇 TCP IP协议不仅仅指
  • springsecurity密码验证原理概括

    springsecurity密码验证原理概括 前言1 UsernamePasswordAuthenticationFilter2 ProviderManager3 AbstractUserDetailsAuthenticationProvi
  • 任务栈

    3 1 什么是任务栈 任务栈是一种以栈的形式放置Activity实例的容器 xff0c 遵循先进后出原则 xff0c 包含压栈和出栈两个基本操作 3 2 任务栈出现的原因 最直接的体现就是提升用户体验 xff0c 如果没有任务栈 xff0c
  • 在windows端使用VSCode和cmake快速构建C++项目

    步骤 在vscode中打开一个空文件夹 xff0c 按Ctrl 43 Shift 43 P调出命令输入界面 xff0c 输入cq或cmake q xff0c 选择CMake Quick Start xff0c 或直接按下回车键 xff1a
  • C++早就过时了?大部分写工程不用C++,学习这个语言就为了竞赛?

    其实腾讯对外发布的 腾讯研发大数据报告 已经披露了2020年C 43 43 仍然是腾讯最受欢迎的语言 在游戏和工具中仍然是主流 xff1a 大部分游戏引擎 如Unreal Source 及中间件 如Havok FMOD xff0c 虽然有些
  • 输出所有request参数

    private void printAllParam HttpServletRequest request Enumeration paramNames 61 request getParameterNames while paramNam
  • java反转字节读取小端(Little Endian)数据

    用c 的BinaryWriter的Write方法向文件里写int时 字节序是小端 即Little Endian 用java的DataInputStream的readInt方法 往往不能读取正确值 可以用Integer的reverseByte
  • C/C++ 类库 开发库 资料

    原文 xff1a C C 43 43 函数库 类库 作者 xff1a Breaker lt breaker zy AT gmail gt C C 43 43 开发库 C C 43 43 Development Library 这里收集一些著
  • java 预申请磁盘空间处理大文件

    熟悉电驴和bt的你可能经常看到这些软件可以在下载文件之初就先在硬盘上建立了一个将要下载的那个文件 xff0c 但其实里面的内容是空的 xff0c 只是预先申请了磁盘空间 xff0c 这样做的好处是可以尽可能的减少磁盘碎片 xff0c 同时可
  • 看我把firefox改造成chrome的样子

    一直很喜欢chrome的主题 xff0c 美观 xff0c 而且足够简介实用 xff0c 标题栏和菜单栏 xff0c 状态栏都干掉了 xff0c 节省了很大的空间 xff0c 尤其是对我这种小屏幕的电脑来说太棒了 昨天把firefox折腾成
  • 关于CMD(win7里)的字体

    先别骂偶 xff0c 但偶不得不首先声明特别挑剔字体是偶最大的洁癖 对windows里的命令提示符也不例外 今天不小心调了一下vim的窗口大小 xff0c 不知怎么搞的越弄越糟糕 xff0c 把cmd里原来的字体都高没有了 xff0c 只剩
  • 我用django的一个感受

    我是个python业余者 xff0c 没有做过python的项目 xff0c 最近自学python xff0c 不过遇到些困惑 xff0c 希望大大们指点 早有听说python是个很好的语言 xff0c 又早有听说python做web最好的
  • new 、 delete 、 malloc 、 free 关系

    1 new delete malloc free 关系 delete 会调用对象的析构函数 和 new 对应 free 只会释放内存 xff0c new 调用构造函数 malloc 与 free 是 C 43 43 C 语言的标准库函数 x
  • 测试Java反射效率

    测试分为3个方面 xff1a 1 实例化效率 xff1b 2 方法调用效率 xff1b 3 成员变量GET调用效率 xff1b 4 成员变量SET调用 测试环境 xff1a Windows 7 Sun Java 1 6 先写好备测试用的类
  • google reader给我带了了什么

    题记 xff1a 这篇文章是自己的有感而发 xff0c 更是写给一个特别的朋友 xff0c 希望google reader xff08 以下简称GR xff09 带给我的东西也同样可以传递给你 xff0c 传递给每个人 引文 xff1a 已
  • 终于尘埃落定,准备踏上新的旅程

    经过一个月的纠结 xff0c 等待 xff0c 谈判 xff0c 奔波 xff0c 终于今天一切都定下来了 xff0c 即将离开 xff0c 有太多太多已经告别了的和即将告别的 xff0c 有些来不及 xff0c 有些舍不得 xff0c 但
  • shortcuts in Firefox on MacOSX

    以下是firefox菜单里看不到的 xff0c 看得到就自己看看吧 xff0c 不在这里总结了 home page gt opt 43 fn 43 left 因为fn 43 left gt home left tab gt 1 ctr 43
  • 火狐扩展开发:在第三方页面插入JS脚本

    第一步 xff0c 首先在xul文件内引入执行插入脚本的JS文件 xff0c 例如 xff1a 第二步 xff0c 向第三方插入脚本的代码 xff1a var ffCreate 61 init function var appcontent
  • 多式样ProgressBar

    多式样ProgressBar 普通圆形ProgressBar 该类型进度条也就是一个表示运转的过程 xff0c 例如发送短信 xff0c 连接网络等等 xff0c 表示一个过程正在执行中 一般只要在XML布局中定义就可以了 lt progr