首页
苏兮影视
随笔记
壁纸
更多
直播
时光轴
友联
关于
统计
Search
1
v2ray节点搭建
849 阅读
2
软件添加id功能按钮
815 阅读
3
QQ扫码无法登录的解决方案
616 阅读
4
typecho非常有特色的模块
606 阅读
5
QQxml消息卡片生成源码
567 阅读
谈天说地
建站源码
经验教程
资源分享
动漫美图
登录
Search
标签搜索
java
rust
flutter
esp32c3
springboot
安卓
linux
vue
docker
joe
快捷键
git
fish shell
maven
redis
netty
dart
groovy
js
设计模式
尽意
累计撰写
109
篇文章
累计收到
39
条评论
首页
栏目
谈天说地
建站源码
经验教程
资源分享
动漫美图
页面
苏兮影视
随笔记
壁纸
直播
时光轴
友联
关于
统计
搜索到
109
篇与
的结果
【Unity】Unity快捷键
File 文件Ctrl + NNew Scene 新建场景Ctrl + OOpen Scene 打开场景Ctrl + SSave Scene 保存Ctrl Shift + SSave Scene as 保存场景为Ctrl Shift + BBuild Settings... 编译设置...Ctrl + BBuild and run 编译并运行Edit 编辑Ctrl + ZUndo 撤消Ctrl + YRedo 重做Ctrl + XCut 剪切Ctrl + CCopy 拷贝Ctrl + VPaste 粘贴Ctrl + DDuplicate 复制Ctrl + DelDelete 删除FFrame selected 选择的帧Ctrl + FFind 查找Ctrl + ASelect All 全选Ctrl + PPlay 播放Ctrl Shift + PPause 暂停Ctrl Alt+ PStep 停止Assets 资源Ctrl + RRefresh Game Object 刷新 游戏对象Ctrl Shift + NNew Empty 新建空游戏对象Ctrl Alt+ FMove to view 移动到视图Ctrl Shift + FAlign with view 视图对齐WindowCtrl + 1Scene 场景Ctrl + 2Game 游戏Ctrl + 3Inspector 检视面板Ctrl + 4Hierarchy 层次Ctrl + 5Project 项目Ctrl + 6Animation 动画Ctrl + 7Profiler 分析器Ctrl + 8Particle Effect 粒子效果Ctrl + 9Asset store 资源商店Ctrl + 0Asset server 资源服务器Ctrl Shift + CConsole 控制台Ctrl + TABNext Window 下一个窗口Ctrl Shift + TABPrevious Window 上一个窗口Ctrl Alt + F4Quit 退出Tools 工具QPan 平移WMove 移动ERotate 旋转RScale 缩放ZPivot Mode toggle 轴点模式切换XPivot Rotation Toggle 轴点旋转切换Ctrl + LMBSnap 捕捉 (Ctrl+鼠标左键)VVertex Snap 顶点捕捉SelectionCtrl Shift + 1Load Selection 1 载入选择集Ctrl Shift + 2Load Selection 2Ctrl Shift + 3Load Selection 3Ctrl Shift + 4Load Selection 4Ctrl Shift + 5Load Selection 5Ctrl Shift + 6Load Selection 6Ctrl Shift + 7Load Selection 7Ctrl Shift + 8Load Selection 8Ctrl Shift + 9Load Selection 9Ctrl Alt + 1Save Selection 1 保存选择集Ctrl Alt + 2Save Selection 2Ctrl Alt + 3Save Selection 3Ctrl Alt + 4Save Selection 4Ctrl Alt + 5Save Selection 5Ctrl Alt + 6Save Selection 6Ctrl Alt + 7Save Selection 7Ctrl Alt + 8Save Selection 8Ctrl Alt + 9Save Selection 9转载至互联网
2023年02月17日
206 阅读
0 评论
0 点赞
青龙面板绑定域名
添加网站添加反向代理
2023年02月05日
197 阅读
2 评论
1 点赞
青龙面板拉库教程
每日更新拉库前请打开青龙面板-配置文件 第18行 GithubProxyUrl="" 双引号中的内容清空 复制以下拉库命令即可。 Faker2 助力池版【安全本地sign防CK泄漏】上车机器人 @chriszhuli_bot ql repo https://git.metauniverse-cn.com/https://github.com/shufflewzc/faker2.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator|magic|depend|h5sts" "main" Faker3 内部互助版【安全本地sign防CK泄漏】 ql repo https://git.metauniverse-cn.com/https://github.com/shufflewzc/faker3.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator|magic|depend|h5sts" "main"详情参考https://thin-hill-428.notion.site/QL-pannel-Pull-GitHub-Repository-Code-da5099068a434e29920cdcb3e7af4410
2023年02月05日
172 阅读
0 评论
0 点赞
2023-02-05
Edge浏览器获取京东cookie
电脑浏览器打开手机京东网址 https://m.jd.com/按键盘F12键打开开发者工具,然后点下图中的顺序。 (因为数据太多,先清空) {mtitle title="获取cookie"/}点击“我的”出现三个链接,点第一个(log.gif)进去,找到cookie,复制出来完成
2023年02月05日
184 阅读
0 评论
0 点赞
2023-02-04
MqttAndroidClient的使用
MQTT协议特点MQTT是一个由IBM主导开发的物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。它的核心设计思想是开源、可靠、轻巧、简单,具有以下主要的几项特性:非常小的通信开销(最小的消息大小为 2 字节);支持各种流行编程语言(包括C,Java,Ruby,Python 等等)且易于使用的客户端;支持发布 / 预定模型,简化应用程序的开发;提供三种不同消息传递等级,让消息能按需到达目的地,适应在不稳定工作的网络传输需求应项目要求使用MQTT协议实现客户端与服务端通信。Android端使用MqttAndroidClient实现MQTT通信:MqttAndroidClientMqttAndroidClient配置{timeline}{timeline-item color="#19be6b"} 添加依赖{/timeline-item}{timeline-item color="#19be6b"} 声明权限{/timeline-item}{timeline-item color="#19be6b"} 配置服务{/timeline-item}{timeline-item color="#19be6b"} 功能实现{/timeline-item}{/timeline}{mtitle title="添加依赖"/}在项目根目录下的build.gradle中添加:repositories { maven { url "https://repo.eclipse.org/content/repositories/paho-snapshots/" } }在app目录下的build.gradle中添加: dependencies { implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0' implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' //eventbus 各个组件之间进行通信 implementation 'org.greenrobot:eventbus:3.1.1' }{mtitle title="权限声明"/}在AndroidManifest.xml中添加: <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />{mtitle title="配置服务"/}在AndroidManifest.xml中添加: <service android:name=".MQTTService" android:enabled="true" android:exported="true" /> <service android:name="org.eclipse.paho.android.service.MqttService" />{mtitle title="功能实现"/}MQTTService.javaimport android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.util.Log; import org.eclipse.paho.android.service.MqttAndroidClient; import org.eclipse.paho.client.mqttv3.IMqttActionListener; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.IMqttToken; import org.eclipse.paho.client.mqttv3.MqttCallbackExtended; import org.eclipse.paho.client.mqttv3.MqttConnectOptions; import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttMessage; import org.greenrobot.eventbus.EventBus; public class MQTTService extends Service { private static MqttAndroidClient mqttAndroidClient;//声明 final String serverUri = "tcp://43.139.79.48:1883";//mqtt地址 String clientId = "hello";//客户端的ID public static String subscriptionTopic = "test";//订阅的主题 public static String publishTopic = "test";//发布的主题 public MQTTService() { } //与mainactivit之间通信的 class MyBinder extends Binder{ //activity与service之间进行通信的桥梁 } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. Log.i("MQTTService","mqttService start"); mqttinit();//mqtt的初始化 return new MyBinder();//返回Binder的实例 } //mqtt的初始化 private void mqttinit() { mqttAndroidClient = new MqttAndroidClient(getApplicationContext(), serverUri, clientId); //设置回调函数 mqttAndroidClient.setCallback(new MqttCallbackExtended() { //连接完成时,自动调用 @Override public void connectComplete(boolean reconnect, String serverURI) { Log.i("TempMqtt", "connectComplete: 连接成功"); //订阅主题 subscribeToTopic(); } //连接失去的调用 @Override public void connectionLost(Throwable cause) { Log.i("TempMqtt", "connectComplete: 断开连接"); } //接收到消息的时候 @Override public void messageArrived(String topic, MqttMessage message) throws Exception { Log.e("TempMqtt", "connectComplete: 收到消息"+message.toString()); String str=message.toString(); //接受的消息,发布到eventbus,post EventBus.getDefault().post(new MessageEvent(str)); } //发送消息完成 @Override public void deliveryComplete(IMqttDeliveryToken token) { } }); //完成 mqtt连接 MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();//定义一个mqttConnectOptions mqttConnectOptions.setAutomaticReconnect(true);//自动重连 mqttConnectOptions.setCleanSession(false);//不清除会话 try { mqttAndroidClient.connect(mqttConnectOptions, null, new IMqttActionListener() { @Override public void onSuccess(IMqttToken asyncActionToken) { //Toast.makeText("MQTTService", "连接成功", Toast.LENGTH_SHORT).show(); Log.i("MQTTService", "onSuccess: 连接成功"); //进行主题的订阅 subscribeToTopic(); } @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { // Toast.makeText(MainActivity.this, "连接失败", Toast.LENGTH_SHORT).show(); Log.i("MQTTService", "onSuccess: 连接失败"); } }); } catch (MqttException ex){ ex.printStackTrace(); } } //订阅主题 public static void subscribeToTopic() { try { mqttAndroidClient.subscribe(subscriptionTopic, 0, null, new IMqttActionListener() { //订阅成功的时候,就会调用 @Override public void onSuccess(IMqttToken asyncActionToken) { //Toast.makeText(MainActivity.this, "订阅成功", Toast.LENGTH_SHORT).show(); Log.i("TempMqtt", "onSuccess: 订阅成功"); } //订阅失败的时候,就会调用 @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { //Toast.makeText(MainActivity.this, "订阅失败", Toast.LENGTH_SHORT).show(); Log.i("TempMqtt", "onSuccess: 订阅失败"); } }); } catch (MqttException ex){ Log.i("" + "", "onSuccess: Exception whilst subscribing"); ex.printStackTrace(); } } //发布主题 public static void publishToTopic(String message){ try { //参数分别为:主题、消息的字节数组、服务质量、是否在服务器保留断开连接后的最后一条消息 mqttAndroidClient.publish(publishTopic, message.getBytes(), 0, false); Log.i("TempMqtt", "publishToTopic: 发送消息为"+message); } catch (MqttException e) { e.printStackTrace(); } } }MessageEvent.java//然后,我们定义一个事件的封装对象。在程序内部就使用该对象作为通信的信息: public class MessageEvent { public final String message; public static MessageEvent getInstance(String message) { return new MessageEvent(message); } MessageEvent(String message) { this.message = message; } }MainActivity.javaimport android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.view.View; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import org.json.JSONException; import org.json.JSONObject; public class MainActivity extends AppCompatActivity { private Intent mintent; private TextView q; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mintent=new Intent(this,MQTTService.class); EventBus.getDefault().register(this);//注册EventBus bindService(mintent,connection, Context.BIND_AUTO_CREATE);//绑定方式启动服务 q= (TextView) findViewById(R.id.aa); q.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //点击文字发布消息 MQTTService.publishToTopic("hahaah"); } }); } //当接收到MQTT服务器发送过来的数据的时候,就会调用此函数 // This method will be called when a MessageEvent is posted (in the UI thread for Toast) //表示事件处理函数的线程在主线程(UI)线程,因此在这里不能进行耗时操作。 @Subscribe(threadMode = ThreadMode.MAIN,sticky = true) public void onReceiveMsg(@NonNull MessageEvent event){ String str=event.message; //在这里,可以进行UI界面的更新 UiShow(str); } private void UiShow(String str ){ try { JSONObject jsonMessage=new JSONObject(str); String temp= jsonMessage.getString("msg"); //Toast.makeText(this, temp, Toast.LENGTH_SHORT).show(); q.setText(temp); } catch (JSONException e) { e.printStackTrace(); } } //新建了一个 ServiceConnection 实例 private ServiceConnection connection=new ServiceConnection() { //当service与activity连接的时候,调用此方法 @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { } //当service与activity失去连接的时候,调用此方法 @Override public void onServiceDisconnected(ComponentName componentName) { } }; @Override protected void onDestroy() { EventBus.getDefault().unregister(this);//注销、 unbindService(connection);//解除绑定 stopService(mintent);//停止mqtt的服务 super.onDestroy(); } } 在activity_main.xml中,给TextView赋值idandroid:id="@+id/aa"最终效果
2023年02月04日
233 阅读
1 评论
1 点赞
1
...
17
18
19
...
22