日期: 2021 年 3 月 27 日

android中的横幅通知

android中的横幅通知

1.这个是点击按钮notice,然后按钮发送一个横幅通知 ,如果不想实现的话,可以剪切Onclick里面的内容

notice = findViewById(R.id.notice);
notice.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

String id = “my_channel_01”;
String name = “我是渠道名字”;
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = null;
// 设置要跳转的页面
Intent intent = new Intent(MainActivity.this, NotificationActivity.class);
// 要传递到下一个页面的数据
intent.putExtra(“result”, “Main函数要传递的参数”);

PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);//延迟跳转
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel mChannel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_LOW);
notificationManager.createNotificationChannel(mChannel);
notification = new Notification.Builder(MainActivity.this, “default”)
.setChannelId(id)
// 设置标题
.setContentTitle(“中*五百万!!消息的标题”)
.setContentText(“消息的内容”)
.setSmallIcon(R.mipmap.ic_launcher)
// 点击横幅自动跳转
.setContentIntent(pendingIntent)
// 点击横幅自动消失
.setAutoCancel(true)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.build();
} else {
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(MainActivity.this, “default”)
.setContentTitle(“中*五百万!!消息的标题”)
.setContentText(“消息的内容”)
.setSmallIcon(R.mipmap.ic_launcher)
.setOngoing(true)
.setAutoCancel(true)
.setContentIntent(pendingIntent)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.setChannelId(id);
notification = notificationBuilder.build();
}
notificationManager.notify(111123, notification);
}
});
2.接受的页面
activity_notification.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:app=”http://schemas.android.com/apk/res-auto”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
tools:context=”.NotificationActivity”>

<ImageView
android:id=”@+id/imageView2″
android:layout_width=”378dp”
android:layout_height=”379dp”
android:scaleType=”fitXY”
app:layout_constraintEnd_toEndOf=”parent”
app:layout_constraintStart_toStartOf=”parent”
app:layout_constraintTop_toTopOf=”parent”
app:srcCompat=”@mipmap/be” />

<TextView
android:id=”@+id/t1″
android:layout_width=”224dp”
android:layout_height=”69dp”
android:layout_marginStart=”28dp”
android:layout_marginLeft=”28dp”
android:layout_marginTop=”36dp”
android:gravity=”center”
android:text=”TextView”
android:textSize=”30dp”
android:textStyle=”bold”
app:layout_constraintStart_toStartOf=”parent”
app:layout_constraintTop_toBottomOf=”@+id/imageView2″ />
</androidx.constraintlayout.widget.ConstraintLayout>
NotificationActivity.java
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;

public class NotificationActivity extends AppCompatActivity {

private TextView t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
Intent intent = getIntent();
String str = intent.getStringExtra(“result”);
Log.d(“Notification”,str);
t1=findViewById(R.id.t1);
t1.setText(str);

}
}

效果图

%title插图%num

 

iOS 批量导出苹果后台设备UUID

工具:

1.Google Chrome 浏览器
2.需要导出设备的苹果账号
3.需要导入设备的苹果账号

步骤

1.进入需要导出设备的列表页

2.右键网页,点击检查

3.点击Sources,新建一个文件

4.写入代码

  1. var list = document.querySelectorAll(“.infinite-scroll-component .row”);
  2. var cout = 0;
  3. list.forEach(row=>{
  4. var children = row.children;
  5. var uuid = children[1].innerText;
  6. // var name = children[0].innerText; //名称
  7. // var type = children[2].innerText; //类型
  8. console.log(uuid + ‘ ‘ + ‘Name’+cout + ‘ ‘ + ‘ios’);
  9. cout++;
  10. }
  11. );

image.png

5.点击运行

 

6.在log中获取需要的数据

 

7.复制到文件中即可,然后按照苹果的要求导入即可。

 

iOS11 NSPhotoLibraryAddUsageDescription错误相关

在iOS11中,app保存图片到用户相册时必须添加权限使用描述即NSPhotoLibraryAddUsageDescription,否则会闪退。

只需在info.plist—Property List文件中添加以下键值对即可,描述文字可以随便填但是必须不为空。

Privacy - Photo Library Additions Usage Description

或者在info.plist —Source Code中添加:

<key>NSPhotoLibraryAddUsageDescription</key>
<string>App需要您的同意,才能保存图片到您的相册</string>

ios 注意权限设置 描述

NSCameraUsageDescription
App需要您的同意,才能访问相机

NSPhotoLibraryUsageDescription
App需要您的同意,才能访问相册

NSMicrophoneUsageDescription
App需要您的同意,才能访问麦克风

NSContactsUsageDescription
App需要您的同意,才能访问通信录

NSLocationUsageDescription
App需要您的同意,才能访问位置

NSLocationWhenInUseUsageDescription
App需要您的同意,才能在使用期间访问位置

NSLocationAlwaysUsageDescription
App需要您的同意,才能始终访问位置

NSCalendarsUsageDescription
App需要您的同意,才能访问日历

NSRemindersUsageDescription
App需要您的同意,才能访问提醒事项

NSMotionUsageDescription
App需要您的同意,才能访问运动与健身

NSHealthUpdateUsageDescription
App需要您的同意,才能访问健康更新

NSHealthShareUsageDescription
App需要您的同意,才能访问健康分享

NSBluetoothPeripheralUsageDescription
App需要您的同意,才能访问蓝牙

NSAppleMusicUsageDescription
App需要您的同意,才能访问媒体资料库

欢迎使用Markdown编辑器
你好! 这是你*次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

全新的界面设计 ,将会带来全新的写作体验;
在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
全新的 KaTeX数学公式 语法;
增加了支持甘特图的mermaid语法1 功能;
增加了 多屏幕编辑 Markdown文章功能;
增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

%title插图%num

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

%title插图%num

如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

1    // An highlighted block
2   var foo = ‘bar’;

生成一个适合你的列表
项目
项目
项目
项目1
项目2
项目3
计划任务
完成任务
创建一个表格
一个简单的表格是这么创建的:

%title插图%num

设定内容居中、居左、居右
使用:———:居中
使用:———-居左
使用———-:居右

%title插图%num

*列 第二列 第三列
*列文本居中 第二列文本居右 第三列文本居左
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

%title插图%num

创建一个自定义列表
Markdown
Text-to- HTML conversion tool
Authors
John
Luke
如何创建一个注脚
一个具有注脚的文本。2

注释也是必不可少的
Markdown将文本转换为 HTML。

KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分

%title插图%num

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

%title插图%num

关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

%title插图%num

 

  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

关于 Flowchart流程图 语法,参考 这儿.

%title插图%num
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。

mermaid语法说明 ↩︎

注脚的解释 ↩︎

iOS10 审核 NSCameraUsageDescription 等描述问题

iOS10后 提交审核经常会因为没有在info.plist文件里边加入访问隐私的提醒而被回退,这样子又浪费了时间,所以先对照一下APP中是否用到这些隐私的权限

通讯录
NSContactsUsageDescription (XXX想访问您的通讯录,允许吗?)

通讯录
Contacts Usage Description (XXX想访问您的通讯录,允许吗?)

麦克风
NSMicrophoneUsageDescription (XXX想使用您的麦克风,允许吗?)

相册
NSPhotoLibraryUsageDescription (XXX想访问您的相册,允许吗?)

相机
NSCameraUsageDescription (XXX想使用您的相机,允许吗?)

地理位置(一直开启)
NSLocationAlwaysUsageDescription (XXX想使用您的地理位置,允许吗?)

地理位置(使用时开启)
NSLocationWhenInUseUsageDescription (XXX想使用您的地理位置,允许吗?)

蓝牙权限
Bluetooth Peripheral Usage Description (XXX想使用您的蓝牙,允许吗?)

语音转文字权限
Speech Recognition Usage Description (XXX请求语音转文字权限,允许吗?)

日历权限
Calendars Usage Description (XXX想使用您的日历,允许吗?)

健康应用(更新)
Health Update Usage Description (XXX想访问您的HealthKit,允许吗?)

健康应用(读取)
Health Share Usage Description (XXX想访问您的HealthKit,允许吗?)

APP支持文件共享设置(iOS)

在开发过程中,有时候需要手动放一些文件到Documents文件夹下做测试,以前是可以直接用itools或者PP助手等工具直接拖拉文件到Documents文件夹的,但是*近开发时发现不可以这样子做了,必须先配置一下开发的APP

方法:

在应用程序的Info.plist文件中添加Application supports iTunes file sharing键,并将键值设置为YES。
这样子配置后,用itunes就能见到该APP出现在能进行文件共享的列表中,但是发现itunes不能将文件拖进代码创建好的文件夹中,用PP助手就可以了。

iOS App文件共享

通过UIDocumentInteractionController或者是QLPreviewController来预览PDF等格式文件的时候,我们可以通过自带的UIActivityViewController把该文件共享出去或进行打印等处理。如图所示:

*行的AirDrop是iOS7之后给用户提供的一种在苹果设备之间共享文件的快捷方式,类似于安卓上的蓝牙无线传输文件。

第二行是通过文档类型关联技术识别的App的列表。

第三行是通过文档关联技术识别的Action的列表,表示对文件可进行的一些操作,如复制,打印,保存等。

我们知道在iOS系统下有一种安全体系–沙盒机制,每个iOS应用程序都是一个独立的文件系统,并且只能在自己的文件系统进行操作,所以iOS系统下并不能像安卓一样轻松取到其他应用程序下的文件。

既然我们能在自己的应用程序下预览文件时把文件共享到其他App中,那么反过来怎么能让其他App共享文件到我们App呢?

info.plist注册文件类型
我们需要在info.plist文件中,添加一个新的属性CFBundleDocumentTypes(实际上输入的是Document type),这是一个数组类型的属性,意思就是我们可以同时注册多个类型。而针对数组中的每一个元素,都有许多属性可以指定,详细的属性列表我们可以从官方文档上找到: Core Foundation Keys —- CFBundleDocumentTypes。这里列举我们在做iOS开发时常用的属性:

CFBundleTypeName

字符串类型,指定某种类型的别名,也就是用来指代我们规定的类型的别称,一般为了保持唯一性,我们使用UTI来标识。

CFBundleTypeIconFiles
数组类型,包含指定的png图标的文件名,指定代表某种类型的图标,而图标有具体的尺寸标识:

Device Sizes
iPad 64 x 64 pixels, 320 x 320 pixels
iPhone and iPod touch 22 x 29 pixels, 44 x 58 pixels (high resolution)
* LSItemContentTypes

数组类型,包含UTI字符串,指定我们的应用程序所有可以识别的文件类型集合
* LSHandlerRank
字符串类型,包含Owner,Default,Alternate,None四个可选值,指定对于某种类型的优先权级别,而Launcher Service会根据这个优先级别来排列显示的App的顺序。优先级别从高到低依次是Owner,Alternate,Default。None表示不接受这种类型。

我们选择Source code方式打开info.plist文件添加以下代码:

1 <key>CFBundleDocumentTypes</key>
2     <array>
3         <dict>
4             <key>CFBundleTypeName</key>
5             <string>PDF</string>
6             <key>LSHandlerRank</key>
7             <string>Owner</string>
8             <key>LSItemContentTypes</key>
9             <array>
10                 <string>com.adobe.pdf</string>
11             </array>
12         </dict>
13         <dict>
14             <key>CFBundleTypeName</key>
15             <string>Microsoft Word</string>
16             <key>LSHandlerRank</key>
17             <string>Alternate</string>
18             <key>LSItemContentTypes</key>
19             <array>
20                 <string>com.microsoft.word.doc</string>
21                 <string>com.microsoft.word.wordml</string>
22                 <string>org.openxmlformats.wordprocessingml.document</string>
23             </array>
24         </dict>
25         <dict>
26             <key>CFBundleTypeName</key>
27             <string>Microsoft Excel</string>
28             <key>LSHandlerRank</key>
29             <string>Alternate</string>
30             <key>LSItemContentTypes</key>
31             <array>
32                 <string>com.microsoft.excel.xls</string>
33                 <string>org.openxmlformats.spreadsheetml.sheet</string>
34             </array>
35         </dict>
36         <dict>
37             <key>CFBundleTypeIconFiles</key>
38             <array/>
39             <key>CFBundleTypeName</key>
40             <string>Microsoft PowerPoint</string>
41             <key>LSHandlerRank</key>
42             <string>Alternate</string>
43             <key>LSItemContentTypes</key>
44             <array>
45                 <string>com.microsoft.powerpoint.​ppt</string>
46                 <string>org.openxmlformats.presentationml.presentation</string>
47                 <string>public.presentation</string>
48             </array>
49         </dict>
50         <dict>
51             <key>CFBundleTypeName</key>
52             <string>Text</string>
53             <key>LSHandlerRank</key>
54             <string>Alternate</string>
55             <key>LSItemContentTypes</key>
56             <array>
57                 <string>public.text</string>
58                 <string>public.plain-text</string>
59                 <string>public.utf8-plain-text</string>
60                 <string>public.utf16-external-plain-​text</string>
61                 <string>public.utf16-plain-text</string>
62                 <string>com.apple.traditional-mac-​plain-text</string>
63                 <string>public.source-code</string>
64                 <string>public.c-source</string>
65                 <string>public.objective-c-source</string>
66                 <string>public.c-plus-plus-source</string>
67                 <string>public.objective-c-plus-​plus-source</string>
68                 <string>public.c-header</string>
69                 <string>public.c-plus-plus-header</string>
70                 <string>com.sun.java-source</string>
71                 <string>public.script</string>
72                 <string>public.shell-script</string>
73             </array>
74         </dict>
75         <dict>
76             <key>CFBundleTypeName</key>
77             <string>Rich Text</string>
78             <key>LSHandlerRank</key>
79             <string>Alternate</string>
80             <key>LSItemContentTypes</key>
81             <array>
82                 <string>public.rtf</string>
83                 <string>com.apple.rtfd</string>
84                 <string>com.apple.flat-rtfd</string>
85             </array>
86         </dict>
87         <dict>
88             <key>CFBundleTypeName</key>
89             <string>HTML</string>
90             <key>LSHandlerRank</key>
91             <string>Alternate</string>
92             <key>LSItemContentTypes</key>
93             <array>
94                 <string>public.html</string>
95                 <string>public.xhtml</string>
96             </array>
97         </dict>
98         <dict>
99             <key>CFBundleTypeName</key>
100             <string>Web Archive</string>
101             <key>LSHandlerRank</key>
102             <string>Alternate</string>
103             <key>LSItemContentTypes</key>
104             <array>
105                 <string>com.apple.webarchive</string>
106             </array>
107         </dict>
108         <dict>
109             <key>CFBundleTypeName</key>
110             <string>Image</string>
111             <key>LSHandlerRank</key>
112             <string>Alternate</string>
113             <key>LSItemContentTypes</key>
114             <array>
115                 <string>public.image</string>
116             </array>
117         </dict>
118         <dict>
119             <key>CFBundleTypeName</key>
120             <string>iWork Pages</string>
121             <key>LSHandlerRank</key>
122             <string>Alternate</string>
123             <key>LSItemContentTypes</key>
124             <array>
125                 <string>com.apple.page.pages</string>
126                 <string>com.apple.iwork.pages.pages</string>
127                 <string>com.apple.iwork.pages.template</string>
128             </array>
129         </dict>
130         <dict>
131             <key>CFBundleTypeName</key>
132             <string>iWork Numbers</string>
133             <key>LSHandlerRank</key>
134             <string>Alternate</string>
135             <key>LSItemContentTypes</key>
136             <array>
137                 <string>com.apple.numbers.numbers</string>
138                 <string>com.apple.iwork.numbers.numbers</string>
139                 <string>com.apple.iwork.numbers.template</string>
140             </array>
141         </dict>
142         <dict>
143             <key>CFBundleTypeName</key>
144             <string>iWork Keynote</string>
145             <key>LSHandlerRank</key>
146             <string>Alternate</string>
147             <key>LSItemContentTypes</key>
148             <array>
149                 <string>com.apple.keynote.key</string>
150                 <string>com.apple.iwork.keynote.key</string>
151                 <string>com.apple.iwork.keynote.kth</string>
152             </array>
153         </dict>
154         <dict>
155             <key>CFBundleTypeName</key>
156             <string>Audio</string>
157             <key>LSHandlerRank</key>
158             <string>Alternate</string>
159             <key>LSItemContentTypes</key>
160             <array>
161                 <string>public.audio</string>
162             </array>
163         </dict>
164         <dict>
165             <key>CFBundleTypeName</key>
166             <string>Movie</string>
167             <key>LSHandlerRank</key>
168             <string>Alternate</string>
169             <key>LSItemContentTypes</key>
170             <array>
171                 <string>public.movie</string>
172             </array>
173         </dict>
174         <dict>
175             <key>CFBundleTypeName</key>
176             <string>Archive</string>
177             <key>LSHandlerRank</key>
178             <string>Alternate</string>
179             <key>LSItemContentTypes</key>
180             <array>
181                 <string>public.archive</string>
182             </array>
183         </dict>
184     </array>

添加这些代码,你的App就可以支持大部分文件类型了,可以根据自己项目的需求,添加相关类型的代码,像我自己的项目只需要支持PDF和word格式的文件。添加完这些代码,我们选择Property list打开info.plist文件:

或者在info页面打开Document types列表

这个时候就代表我们已经成功的注册好了App支持的文件类型,这个时候我们在编译运行,然后再到其他App(我这边用的QQ)打开下载好的文件,这个时候出来的页面是这样的:

我们可以看到自己的App图标已经出现在第二栏的列表中,这个时候我们点击图标按钮即可把文件共享到自己App中。

如何处理共享文件
当点击图标按钮的时候,会跳转到我们自己的应用程序中,这个时候在AppDelegate.m会走- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options该回调方法。

但是在iOS9之前回调的是- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation,所以我们需要针对不同的设备版本做出改变。

我们可以在回调方法里进行文件处理操作,如将文件上传、文件预览、文件保存一些工作。在做文件预览的时候我们必定得跳转到对应的控制器中,这个时候我们首先得获取到当前的视图控制器

1 //获取当前屏幕显示的viewcontroller
2 – (UIViewController *)getCurrentVC
3 {
4     UIViewController *rootViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
5
6     UIViewController *currentVC = [self getCurrentVCFrom:rootViewController];
7
8     return currentVC;
9 }
10
11 – (UIViewController *)getCurrentVCFrom:(UIViewController *)rootVC
12 {
13     UIViewController *currentVC;
14
15     if ([rootVC presentedViewController]) {
16         // 视图是被presented出来的
17
18         rootVC = [rootVC presentedViewController];
19     }
20
21     if ([rootVC isKindOfClass:[UITabBarController class]]) {
22         // 根视图为UITabBarController
23
24         currentVC = [self getCurrentVCFrom:[(UITabBarController *)rootVC selectedViewController]];
25
26     } else if ([rootVC isKindOfClass:[UINavigationController class]]){
27         // 根视图为UINavigationController
28
29         currentVC = [self getCurrentVCFrom:[(UINavigationController *)rootVC visibleViewController]];
30
31     } else {
32         // 根视图为非导航类
33
34         currentVC = rootVC;
35     }
36
37     return currentVC;
38 }

拿到控制器我们可以回到回调方法里进行跳转工作,我这边还是用UIDocumentInteractionController做文件预览

1 #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_9_0
2 – (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation{
3     // 判断传过来的url是否为文件类型
4     if ([url.scheme isEqualToString:@”file”]) {
5         _docVc = [UIDocumentInteractionController interactionControllerWithURL:url];
6         _docVc.delegate = self;
7         [_docVc presentPreviewAnimated:YES];
8
9     }
10
11 }
12
13 #else
14 – (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
15     // 判断传过来的url是否为文件类型
16     if ([url.scheme isEqualToString:@”file”]) {
17         _docVc = [UIDocumentInteractionController interactionControllerWithURL:url];
18         _docVc.delegate = self;
19         [_docVc presentPreviewAnimated:YES];
20     }
21     return YES;
22 }
23 #endif
24
25 #pragma mark — UIDocumentInteractionControllerDelegate
26 – (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
27 {
28     // 返回当前控制器
29     return [self getCurrentVC];
30 }

 

2021年1—2月份全国规模以上工业企业利润同比增长1.79倍 两年平均增长31.2%

   1—2月份,全国规模以上工业企业实现利润总额11140.1亿元,同比增长1.79倍(按可比口径计算,详见附注二),比2019年1—2月份增长72.1%,两年平均增长31.2%。   1—2月份,规模以上工业企业中,国有控股企业实现利润总额3752.2亿元,同比增长1.82倍;股份制企业实现利润总额7762.5亿元,增长1.69倍;外商及港澳台商投资企业实现利润总额3145.2亿元,增长2.19倍;私营企业实现利润总额3316.9亿元,增长1.37倍。   1—2月份,采矿业实现利润总额988.4亿元,同比增长83.0%;制造业实现利润总额9294.2亿元,增长2.20倍;电力、热力、燃气及水生产和供应业实现利润总额857.4亿元,增长57.5%。   1—2月份,在41个工业大类行业中,38个行业利润总额同比增加,2个行业减少,1个行业持平。主要行业利润情况如下:计算机、通信和其他电子设备制造业利润总额同比增长58.92倍,汽车制造业增长25.26倍,化学原料和化学制品制造业增长4.98倍,电气机械和器材制造业增长4.31倍,专用设备制造业增长3.99倍,通用设备制造业增长3.19倍,黑色金属冶炼和压延加工业增长2.71倍,有色金属冶炼和压延加工业增长2.58倍,煤炭开采和洗选业增长2.04倍,纺织业增长1.43倍,非金属矿物制品业增长87.0%,农副食品加工业增长45.8%,电力、热力生产和供应业增长44.7%;石油和天然气开采业下降28.7%。   1—2月份,规模以上工业企业实现营业收入16.87万亿元,同比增长45.5%;发生营业成本13.99万亿元,增长43.5%;营业收入利润率为6.60%,同比提高3.15个百分点。   2月末,规模以上工业企业资产总计126.90万亿元,同比增长9.6%;负债合计71.27万亿元,增长9.4%;所有者权益合计55.63万亿元,增长10.0%;资产负债率为56.2%,同比下降0.1个百分点。   2月末,规模以上工业企业应收账款16.28万亿元,同比增长16.4%;产成品存货4.60万亿元,增长8.6%。   1—2月份,规模以上工业企业每百元营业收入中的成本为82.92元,同比减少1.16元;每百元营业收入中的费用为8.79元,同比减少1.38元。   2月末,规模以上工业企业每百元资产实现的营业收入为79.8元,同比增加19.7元;人均营业收入为142.4万元,同比增加41.6万元;产成品存货周转天数为19.7天,同比减少6.4天;应收账款平均回收期为57.9天,同比减少14.5天。      表1  2021年1—2月份规模以上工业企业主要财务指标  分 组 营业收入 营业成本 利润总额 1-2月 同比增长 1-2月 同比增长 1-2月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 168726.6 45.5 139909.0 43.5 11140.1 178.9 其中:采矿业 6644.7 29.3 4559.6 24.3 988.4 83.0    制造业 147539.4 49.2 122434.0 47.1 9294.2 219.5    电力、热力、燃气及水生产和供应业 14542.5 22.4 12915.3 22.1 857.4 57.5 其中:国有控股企业 47894.5 33.1 37706.0 30.1 3752.2 182.0 其中:股份制企业 123043.7 45.0 101977.6 42.9 7762.5 169.2    外商及港澳台商投资企业 40450.2 50.4 33695.2 47.7 3145.2 219.1 其中:私营企业 62896.1 51.8 53940.9 50.5 3316.9 136.7 注: 1.经济类型分组之间存在交叉,故各经济类型企业数据之和大于总计。 2.本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。  表2  2021年1—2月份规模以上工业企业经济效益指标  分 组 营业收入利润率 每百元营业收入中的成本 每百元营业收入中的费用 每百元资产实现的营业收入 人均营业收入 资产负债率 产成品存货周转天数 应收账款平均回收期 1-2月 1-2月 1-2月 2月末 2月末 2月末 2月末 2月末 (%) (元) (元) (元) (万元/人) (%) (天) (天) 总计 6.60 82.92 8.79 79.8 142.4 56.2 19.7 57.9 其中:采矿业 14.88 68.62 11.94 39.2 95.7 60.1 14.7 43.0    制造业 6.30 82.98 8.93 93.1 139.3 55.1 21.9 59.9    电力、热力、燃气及水生产和供应业 5.90 88.81 5.89 40.4 257.1 59.1 0.8 44.5 其中:国有控股企业 7.83 78.73 7.37 59.5 229.3 56.9 14.2 42.0 其中:股份制企业 6.31 82.88 8.97 76.4 139.1 56.9 20.4 55.4    外商及港澳台商投资企业 7.78 83.30 8.66 91.7 151.9 53.3 19.1 69.0 其中:私营企业 5.27 85.76 8.89 107.4 112.9 57.9 21.6 56.3  表3  2021年1—2月份规模以上工业企业主要财务指标(分行业)  行 业 营业收入 营业成本 利润总额 1-2月 同比增长 1-2月 同比增长 1-2月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 168726.6 45.5 139909.0 43.5 11140.1 178.9  煤炭开采和洗选业 3579.1 41.1 2354.1 27.3 574.7 204.4  石油和天然气开采业 1241.9 -6.8 810.7 3.4 227.2 -28.7  黑色金属矿采选业 767.2 63.9 580.1 53.6 95.9 3895.8  有色金属矿采选业 384.4 36.1 261.1 25.3 64.8 146.4  非金属矿采选业 491.0 46.8 368.4 45.3 41.1 81.9  开采专业及辅助性活动 178.9 -2.6 183.4 -5.9 -15.3 (注1)  其他采矿业 2.1 425.0 1.9 533.3 0.0 (注2)  农副食品加工业 7641.3 33.9 6899.0 34.2 312.9 45.8  食品制造业 3127.3 31.6 2419.4 32.4 261.4 68.4  酒、饮料和精制茶制造业 2553.2 34.1 1557.5 30.2 494.7 66.0  烟草制品业 3432.6 19.7 869.3 15.0 533.8 27.1  纺织业 3075.5 38.9 2719.9 38.0 100.9 142.5  纺织服装、服饰业 1792.0 21.4 1515.1 21.5 78.3 42.9  皮革、毛皮、羽毛及其制品和制鞋业 1329.7 21.5 1143.5 21.5 67.6 26.8  木材加工和木、竹、藤、棕、草制品业 1240.2 52.1 1117.3 53.3 38.8 52.8  家具制造业 964.1 49.7 804.8 49.2 41.9 210.4  造纸和纸制品业 2117.3 53.6 1792.2 52.8 154.3 183.6  印刷和记录媒介复制业 939.2 47.0 789.1 46.5 43.6 169.1  文教、工美、体育和娱乐用品制造业 1866.2 42.1 1620.8 42.7 75.7 63.1  石油、煤炭及其他燃料加工业 7542.4 12.7 5982.1 1.9 555.1 (注3)  化学原料和化学制品制造业 10450.4 45.9 8532.2 38.4 922.2 498.4  医药制造业 4182.5 37.7 2242.1 31.8 804.5 95.4  化学纤维制造业 1276.6 48.5 1130.3 43.1 66.2 688.1  橡胶和塑料制品业 3837.2 58.0 3194.6 54.8 241.7 299.5  非金属矿物制品业 7959.3 49.5 6631.4 48.8 519.8 87.0  黑色金属冶炼和压延加工业 12401.0 52.5 11469.7 51.2 480.5 271.0  有色金属冶炼和压延加工业 8404.1 48.1 7756.7 45.4 302.0 258.2  金属制品业 5675.1 64.6 4968.8 64.4 230.9 182.6  通用设备制造业 5831.5 63.0 4771.5 60.6 345.5 319.3  专用设备制造业 4661.0 66.0 3617.6 61.3 393.7 399.0  汽车制造业 12940.8 77.1 10966.7 74.8 832.3 2525.6  铁路、船舶、航空航天和其他运输设备制造业 1476.3 51.7 1260.4 51.5 45.6 508.0  电气机械和器材制造业 9867.9 72.8 8412.6 72.2 457.0 430.8  计算机、通信和其他电子设备制造业 18569.8 55.8 16242.0 52.7 778.9 5891.5  仪器仪表制造业 1036.7 65.2 778.9 59.9 72.6 633.3  其他制造业 259.1 49.7 217.6 48.3 12.3 173.3  废弃资源综合利用业 919.9 97.4 862.8 100.5 28.9 103.5  金属制品、机械和设备修理业 169.1 9.3 148.2 8.6 0.5 -58.3  电力、热力生产和供应业 12022.5 21.4 10769.4 21.7 682.8 44.7  燃气生产和供应业 1982.4 26.6 1745.3 24.0 134.8 110.0  水的生产和供应业 537.6 29.4 400.6 25.1 39.9 369.4 注: 1.开采专业及辅助性活动上年同期亏损18.7亿元。 2.其他采矿业上年同期利润总额为0.0亿元。 3.石油、煤炭及其他燃料加工业上年同期亏损21.9亿元。 4.本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。    附注:   一、指标解释及相关说明   1、利润总额:指企业在生产经营过程中各种收入扣除各种耗费后的盈余,反映企业在报告期内实现的盈亏总额。   2、营业收入:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动形成的经济利益流入。包括主营业务收入和其他业务收入。   3、营业成本:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动发生的实际成本。包括主营业务成本和其他业务成本。营业成本应当与营业收入进行配比。   4、资产总计:指企业过去的交易或者事项形成的、由企业拥有或者控制的、预期会给企业带来经济利益的资源。   5、负债合计:指企业过去的交易或者事项形成的、预期会导致经济利益流出企业的现时义务。   6、所有者权益合计:指企业资产扣除负债后由所有者享有的剩余权益。   7、应收账款:指资产负债表日以摊余成本计量的,企业因销售商品、提供服务等经营活动应收取的款项。   8、产成品存货:指企业报告期末已经加工生产并完成全部生产过程、可以对外销售的制成产品。   9、营业收入利润率=利润总额÷营业收入×100%,单位:%。   10、每百元营业收入中的成本=营业成本÷营业收入×100,单位:元。   11、每百元营业收入中的费用=(销售费用+管理费用+研发费用+财务费用)÷营业收入×100,单位:元。   12、每百元资产实现的营业收入=营业收入÷平均资产÷累计月数×12×100,单位:元。   13、人均营业收入=营业收入÷平均用工人数÷累计月数×12,单位:万元/人。   14、资产负债率=负债合计÷资产总计×100%,单位:%。   15、产成品存货周转天数=360×平均产成品存货÷营业成本×累计月数÷12,单位:天。   16、应收账款平均回收期=360×平均应收账款÷营业收入×累计月数÷12,单位:天。   17、两年平均增速是指以2019年相应同期数为基数,采用几何平均的方法计算的增速。   18、在各表的利润总额同比增长栏中,标“注”的表示上年同期利润总额为负数,即亏损;数值为正数的表明利润同比增长;数值在0至-100%之间(不含0)的表明利润同比下降;下降幅度超过100%的表明由上年同期盈利转为本期亏损;数值为0的表明利润同比持平。   二、规模以上工业企业利润总额、营业收入等指标的增速均按可比口径计算。报告期数据与上年所公布的同指标数据之间有不可比因素,不能直接相比计算增速。其主要原因是:(一)根据统计制度,每年定期对规模以上工业企业调查范围进行调整。每年有部分企业达到规模标准纳入调查范围,也有部分企业因规模变小而退出调查范围,还有新建投产企业、破产、注(吊)销企业等变化。(二)加强统计执法,对统计执法检查中发现的不符合规模以上工业统计要求的企业进行了清理,对相关基数依规进行了修正。(三)加强数据质量管理,剔除跨地区、跨行业重复统计数据。   三、统计范围   规模以上工业企业,即年主营业务收入为2000万元及以上的工业法人单位。   四、调查方法   规模以上工业企业财务状况报表按月进行全面调查(1月份数据免报)。   五、行业分类标准   执行国民经济行业分类标准(GB/T4754-2017),具体请参见http://www.stats.gov.cn/tjsj/tjbz/hyflbz/。 

“远程”、“协作”风靡之际,你对TA知晓多少?

2.4亿人在线使用文档协作无延宕……

6万名武汉中小学生实力打造“远程课堂”活学高效……

疫情以来,“远程”、“协作”持续大热,此局毋庸置疑。

根据QuestMobile*新发布的《2020中国移动互联网“战役”专题报告》显示,2020年春节假期前后,由于远程办公、在线学习等需求的上升,效率办公日均活跃用户规模上升了4000万。其中值得提及的一点,有一款将“远程多人协作”与“大规模突发信息汇总分享”需求有机结合的软件可谓榜上有名,成绩如何?

有数据显示,其位列办公商务品类微信小程序用户日活数量*位不说,就在几天前刚刚公布的阿拉丁指数微信小程序2月份榜单中,此软件稳稳占据阿拉丁指数总榜单第三,并牢牢保持工具类榜单*的名号。众里寻TA,正是2018年7月独立上线,如今月活跃用户突破2.39亿的金山文档。

%title插图%num

据晶少了解,受金山文档领衔的“文档上”之风助力,有效解决受疫情影响的学校授课延期问题,只需老师在该软件上发起会议,实时共享任意格式的课件文档的同时邀请全班同学点击链接进入即可完成远程授课。此过程中,授课老师作为主讲人控制屏幕翻动资料,学生们可通过电脑或者手机完成实时观看并语音发问,操作便捷。

%title插图%num

此外,金山文档还提供了表单式的作业收集,学生完成作业后只需通过表单上传习题本上的图片,老师批改作业后再发回给学生进行相应修改即可,课上课后沟通实在无负担。据悉,借助金山文档的远程会议功能,疫情期间江汉区54所中小学、4200名教师和60000名学生已高效开启远程“在线授课”模式,直至此次疫情全面结束。

之后不仅武汉本地,包括广东、广西、陕西、黑龙江、吉林、云南、深圳等多地在内的众多大中小学均开始基于金山文档打造“*人性化”的在线课堂,据悉人数*多的一堂课,同时参与的学生数量超过2000人,全流畅无卡顿实在叹为观止。此外针对政府、医院和学校等机构,金山文档在疫情期间还赠送了约400万个企业版金山文档供使用。

除了基于课件共享的在线课堂外,金山文档还为疫情期间众多场景提供了便捷功能。例如需求爆棚的电商行业,员工可根据工作需要在同一表格里协作,既可进行视图区分也可同时数据修改以及回放找到改动源头,从而高效准确作业;另外借助政务微信小程序嵌入金山文档表单功能,产品还可以做到让街道人员实现“无接触式”的人员信息统计;重要的是,在全国多个一二线城市中甚至有的社区居民在防控期间会使用金山文档的表单功能收集买菜信息,以此代替传统的在微信群中接龙买菜模式,因此受到不少家庭的好评。

%title插图%num

如今,金山文档支持常见的办公组件Word、Excel、PPT、PDF的多人协作编辑,并且满足*多300+Excel函数公式,同时完全兼容MS Office的文件格式,保证了在线文档落地的标准性。

除常规在线文档支持外,金山文档表格还研发了强大的跨book引用、保护工作表等满足多人协作场景的刚需功能,真正做到权限可控、文档安全。“其实团队协作不只是一起写文档。除了表格、文字、演示、PDF的协作编辑,金山文档还开发了高阶协作的会议、待办、表单、日历等功能,尤其是类似会议、表单等功能在这次疫情中通过一些意想不到的方式帮到了大家。”金山办公首席运营官章庆元说。

%title插图%num

功能强大、需求众多,面对上述情况,晶少得知在疫情期间金山文档一直通过有序的服务器扩容来满足不断增长的使用需要。“疫情发生后,从除夕前后开始,先是统计人员信息的表单功能需求激增,随后是2月3日延迟复工后,会议和在线编辑需求快速增加。”金山办公高级研发总监汪大炜表示,“过去一个多月里,金山文档在线编辑日活增长约6.5倍,表单日活增长约27倍,而会议日活增长高达177倍。得益于持续对云办公的投入,在此过程中我们保持了产品系统稳定和体验流畅。”

具体来说,有数据表明在此期间,金山文档WPS表单服务器扩容了5倍,会议服务器扩容了3倍,在线office业务也扩容了1倍的机器。当原来备用的服务器全部用完时,也会开始使用一些金山云提供的云主机来满足支撑需要。

另外由于金山文档的内核是采用C++编程语言,具备效率表现很高但内存占用却很低的特性;相比之下,其他在线文档产品多数源于数据库支撑,占用的内存与系统资源较大,对比C++的原生线程,金山文档一台服务器实际支撑的用户量会比通常情况多很多,效率自然提升显著。

谈及疫情中庞大的用户需求与技术扩容细节,金山办公高级研发总监汪大炜总结道,经过长期的观察,教育行业、电商以及物流运输业都对远程协作等“文档上”的诸多需求呈现暴增态势。“过去,教育行业通常都是传统的上课与交作业模式,很难应用到远程课堂与线下协同;同时疫情中电商类的需求也是我们始料未及的,表现比较鲜明的则是不断的版本更新与迭代;此外在物流运输方面,我们也逐步发现了针对表单功能的庞大受众群体,未来或许在这些行业都会爆发新的增长点。”

如此看来,对比其他同类产品,金山文档则更多关注新时代、新用户在新场景下的协作问题,正是这种文档协作、会议协作所延伸出的时间层面的协作构成了特殊的产品定位,即坚持以开放的office文档作为核心服务,寄希望于将现有的办公模式做迭代升级,而不是颠覆,这也是与传统Office明显不同的地方,以至于产品更多立足于怎样帮助用户协作以及在协作的过程中完善流程,让使用体验更友好。“金山文档的定位不会倾向于做一个类似于WPS的重产品,而是坚持在线与云化的思维,真正做到深度功能的持续优化,完成不同产品之间的整合,降低用户在学习与使用层面的门槛与成本。”章庆元提出。

未来面对移动远程办公行业的两类主要玩家,分别是基于互联网巨头内部办公软件的一站式中小企业协同办公解决方案以及在线文档、视频会议等细分领域龙头企业,除了共同探索、教育用户、培养用户认知、打造良好市场环境之外,金山文档方面认为,更多还是为入局玩家们提供专业的文档在线协同服务,诸如与阿里云、腾讯云开展SaaS层面的合作,将文档处理转变为一种随处可找、随时可用的权益,无需花费时间另做开发,完成能力上的输出,始终坚持“文档服务提供商”的战略定位才是关键。

“未来很长一段时间内,在技术产品上,金山文档整体还是会聚焦和文档相关的协作上,夯实用户留存的环节,会不断强化产品的相关能力,例如加入更多音视频技术要素,选择与更多专业领域合作伙伴一同攻克音视频技术难题,而不是通过自身来解决问题;但会自主研发AI美化文档功能,强化文档的创作和处理能力等。”

早在2018年,金山办公启动以“云、多屏、内容、AI”为核心的升级战略,届时金山文档以此成为云战略落地的*重要载体之一,同时受国内云计算、云存储和移动计算技术的共同推动,包括金山文档在内的以“协作”为核心的在线文档产品,开启全面颠覆传统工作方式的征程;而此次因全民抗击疫情而爆发的远程办公需求,正恰到好处地印证了云协作办公的独特价值。

如今数亿用户开始熟悉并习惯协作办公,这对于文档行业具有重大意义,2020年或将成为真正的“在线办公”概念实践元年,当在线化与云化逐渐走向前台并明朗之际,我们相信金山文档或能带来更多惊喜。

原文链接:https://blog.csdn.net/sch881226/article/details/104746367

Python:从入门到实践-20章有关Heroku的各种坑(1)

Python:从入门到实践-20章有关Heroku的各种坑(1)

​1.建立Heroku账户

需要先去Heroku官网去申请一个账号(需要*,否则注册不会成功)%title插图%num

一进去官网就会遇到 “SIGN UP FOR FREE”这样子的按钮来免费注册。

然后开始填入以下信息,这里要注意邮箱不可以使用qq,163等邮箱。可以搞一个谷歌或者新浪的邮箱。

然后点击创建免费账户的时候如果会出现这样子的提示。%title插图%num

需要你自己想办法*,如果*成功就会在信息*下面出现这个,你直接打对勾就能成功注册了。%title插图%num

注册成功后就可以成功log in了。

2.安装Heroku CLI

先要确保git已经安装成功,才能安装Heroku CLI,去官网里面根据你的电脑选32位或64位的进行下载。

下载后点击安装,默认位置即可。
然后可以在终端输入 heroku –version ,如果输出你所安装的heroku版本号,说明安装完成。%title插图%num

3.安装必要的包

实现是安装psycopy2包,我在这一步上卡了好久,一直安装不成功。
原因是我的python版本和书上写的安装的psycopy2==2.7.*的版本不匹配。
然后我找了一个帖子,写直接去官网下载和自己python版本匹配的psycopy2,放在python\Lib\site-packages下然后安装即可,我按这样子安装了以后当时没有出问题,但是后来就出问题了,我苦苦想了好久问题才解决。(在这里告诉各位小伙伴千万不要这样子做,后面会出问题的!!!)
你只要确定自己的python版本号,然后去官网找和自己匹配的psycopy2的名称。
进入psycopy2官网后点击左面的“Download File”。%title插图%num

就可以看到各种psycopy2的版本。找到和自己python版本匹配的psycopy2版本。
eg:我的python版本是3.9,电脑是64位win系统,我需要的psycopy2版本就是 psycopg2-2.8.6-cp39-cp39-win_amd64.whl (1.2 MB)。%title插图%num

我们可以看到我的python版本对应的psycopg2的版本应该是2.8,但是书上的是2.7,所以我们安装不会成功。
因此我只要在终端输入 “psycopy2==2.8.*” 就可安装成功了。

接下来的两个包按照书上安装就好应该不会出现什么问题。

4.创建文件requirements.txt

我们按书上的命令创建requirments.txt文件后可以打开该文件进行查看,如果不是类似书上那样每个包都写出了各自的版本号,那说明之前的那个包安装配置是有问题的,再往下进行不会成功。%title插图%num

ps:我之前的psycopy2处写的是psycopy2==@python\Lib\site-packages…就是我安装psycopy2的路径,这就是错误的。

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速