極光推送JPush的快速集成

首先到極光推送的官網上創建一個應用,填寫對應的應用名和包名。

?

?

創建好之后下載Demo

?

提取Sdk里面的圖片和xml等資源文件放自己項目的相應位置,然后要注意的是.so文件的放置位置:

在main目錄下新建一個jniLibs文件夾,放在這個文件夾下。

?

?

?

提取Demo里面的AndroidManifest.xml文件,下面是提取的AndroidManifest.xml文件:

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.coderwei.pushdemo"   
  4     android:versionCode="300"
  5     android:versionName="3.0.0"
  6     >
  7     <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" />
  8 
  9     <!-- Required -->
 10     <permission
 11         android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE"
 12         android:protectionLevel="signature" />
 13   
 14     <!-- Required  一些系統要求的權限,如訪問網絡等-->
 15     <uses-permission android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE" />
 16     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
 17     <uses-permission android:name="android.permission.INTERNET" />
 18     <uses-permission android:name="android.permission.WAKE_LOCK" />
 19     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 20     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 21     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 22     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 23     <uses-permission android:name="android.permission.VIBRATE" />
 24     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
 25     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 26     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 27 
 28     
 29     
 30     <!-- Optional for location -->
 31     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于開啟 debug 版本的應用在6.0 系統上 層疊窗口權限 -->
 32     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 33     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 34     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 35     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 36     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 37     <uses-permission android:name="android.permission.GET_TASKS" />
 38     
 39     <application
 40         android:icon="@drawable/ic_launcher"
 41         android:label="@string/app_name"
 42         android:name="com.example.jpushdemo.ExampleApplication">
 43 
 44         <!-- For test only 測試的主程序-->
 45         <activity
 46             android:name="com.example.jpushdemo.MainActivity"
 47             android:label="@string/app_name" >
 48             <intent-filter>
 49                 <action android:name="android.intent.action.MAIN" />
 50                 <category android:name="android.intent.category.LAUNCHER" />
 51             </intent-filter>
 52         </activity>
 53        <!-- For test only 測試高級功能 -->
 54        <activity android:name="com.example.jpushdemo.PushSetActivity" android:label="@string/app_name"></activity>
 55         <!-- For test only 測試設置 -->
 56        <activity android:name="com.example.jpushdemo.SettingActivity" android:label="@string/app_name"></activity>
 57         <!-- For test only 測試狀態通知欄,需要打開的Activity -->
 58         <activity android:name="com.example.jpushdemo.TestActivity" android:exported="false">
 59             <intent-filter>
 60                 <action android:name="jpush.testAction" />
 61                 <category android:name="jpush.testCategory" />
 62             </intent-filter>
 63         </activity>
 64 
 65         <!-- Rich push 核心功能 since 2.0.6-->
 66         <activity
 67             android:name="cn.jpush.android.ui.PopWinActivity"
 68             android:theme="@style/MyDialogStyle"
 69             android:exported="false">
 70         </activity>
 71 
 72         <!-- Required SDK核心功能-->
 73         <activity
 74             android:name="cn.jpush.android.ui.PushActivity"
 75             android:configChanges="orientation|keyboardHidden"
 76             android:theme="@android:style/Theme.NoTitleBar"
 77             android:exported="false">
 78             <intent-filter>
 79                 <action android:name="cn.jpush.android.ui.PushActivity" />
 80                 <category android:name="android.intent.category.DEFAULT" />
 81                 <category android:name="com.coderwei.pushdemo" />
 82             </intent-filter>
 83         </activity>
 84         <!-- Required  SDK核心功能-->
 85         <service
 86             android:name="cn.jpush.android.service.DownloadService"
 87             android:enabled="true"
 88             android:exported="false" >
 89         </service>
 90 
 91         <!-- Required SDK 核心功能-->
 92         <!-- 可配置android:process參數將PushService放在其他進程中 -->
 93         <service
 94             android:name="cn.jpush.android.service.PushService"
 95             android:process=":mult">
 96             <intent-filter>
 97                 <action android:name="cn.jpush.android.intent.REGISTER" />
 98                 <action android:name="cn.jpush.android.intent.REPORT" />
 99                 <action android:name="cn.jpush.android.intent.PushService" />
100                 <action android:name="cn.jpush.android.intent.PUSH_TIME" />
101             </intent-filter>
102         </service>
103 
104         <!-- since 1.8.0 option 可選項。用于同一設備中不同應用的JPush服務相互拉起的功能。 -->
105         <!-- 若不啟用該功能可刪除該組件,將不拉起其他應用也不能被其他應用拉起 -->
106         <service
107             android:name="cn.jpush.android.service.DaemonService"
108             android:enabled="true"
109             android:exported="true">
110             <intent-filter>
111                 <action android:name="cn.jpush.android.intent.DaemonService" />
112                 <category android:name="com.coderwei.pushdemo" />
113             </intent-filter>
114 
115         </service>
116 
117         <!-- Required SDK核心功能-->
118         <receiver
119             android:name="cn.jpush.android.service.PushReceiver"
120             android:enabled="true">
121             <intent-filter android:priority="1000">
122                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />   <!--Required  顯示通知欄 -->
123                 <category android:name="com.coderwei.pushdemo" />
124             </intent-filter>
125             <intent-filter>
126                 <action android:name="android.intent.action.USER_PRESENT" />
127                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
128             </intent-filter>
129             <!-- Optional -->
130             <intent-filter>
131                 <action android:name="android.intent.action.PACKAGE_ADDED" />
132                 <action android:name="android.intent.action.PACKAGE_REMOVED" />
133 
134                 <data android:scheme="package" />
135             </intent-filter>
136         </receiver>
137 
138         <!-- Required SDK核心功能-->
139         <receiver android:name="cn.jpush.android.service.AlarmReceiver" android:exported="false"/>
140 
141         <!-- User defined.  For test only  用戶自定義的廣播接收器-->
142         <receiver
143             android:name="com.example.jpushdemo.MyReceiver"
144             android:exported="false"
145             android:enabled="true">
146             <intent-filter>
147                 <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用戶注冊SDK的intent-->
148                 <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  用戶接收SDK消息的intent-->
149                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  用戶接收SDK通知欄信息的intent-->
150                 <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  用戶打開自定義通知欄的intent-->
151                 <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收網絡變化 連接/斷開 since 1.6.3 -->
152                 <category android:name="com.coderwei.pushdemo" />
153             </intent-filter>
154         </receiver>
155 
156         <!-- Required  . Enable it you can get statistics data with channel -->
157         <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
158         <meta-data android:name="JPUSH_APPKEY" android:value="cf8a2ff321f582cbfcb55056" /> <!--  </>值來自開發者平臺取得的AppKey-->
159 
160     </application>
161 </manifest>

?

下面是自己寫的項目的AndroidManifest.xml文件:

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.coderwei.pushdemo">
  4 
  5     <permission
  6         android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE"
  7         android:protectionLevel="signature" />
  8 
  9     <!-- Required  一些系統要求的權限,如訪問網絡等-->
 10     <uses-permission android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE" />
 11     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
 12     <uses-permission android:name="android.permission.INTERNET" />
 13     <uses-permission android:name="android.permission.WAKE_LOCK" />
 14     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 15     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 16     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 17     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 18     <uses-permission android:name="android.permission.VIBRATE" />
 19     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
 20     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 21     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 22 
 23 
 24 
 25     <!-- Optional for location -->
 26     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于開啟 debug 版本的應用在6.0 系統上 層疊窗口權限 -->
 27     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 28     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 29     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 30     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 31     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 32     <uses-permission android:name="android.permission.GET_TASKS" />
 33 
 34     <application
 35         android:allowBackup="true"
 36         android:icon="@mipmap/ic_launcher"
 37         android:label="@string/app_name"
 38         android:supportsRtl="true"
 39         android:name=".MyApplication"
 40         android:theme="@style/AppTheme">
 41         <activity android:name=".MainActivity">
 42             <intent-filter>
 43                 <action android:name="android.intent.action.MAIN" />
 44 
 45                 <category android:name="android.intent.category.LAUNCHER" />
 46             </intent-filter>
 47         </activity>
 48 
 49        <activity
 50             android:name="com.example.jpushdemo.MainActivity"
 51             android:label="@string/app_name" >
 52             <intent-filter>
 53                 <action android:name="android.intent.action.MAIN" />
 54                 <category android:name="android.intent.category.LAUNCHER" />
 55             </intent-filter>
 56         </activity>
 57         <!-- For test only 測試高級功能 -->
 58         <activity android:name="com.example.jpushdemo.PushSetActivity" android:label="@string/app_name"></activity>
 59         <!-- For test only 測試設置 -->
 60         <activity android:name="com.example.jpushdemo.SettingActivity" android:label="@string/app_name"></activity>
 61         <!-- For test only 測試狀態通知欄,需要打開的Activity -->
 62         <activity android:name="com.example.jpushdemo.TestActivity" android:exported="false">
 63             <intent-filter>
 64                 <action android:name="jpush.testAction" />
 65                 <category android:name="jpush.testCategory" />
 66             </intent-filter>
 67         </activity>
 68 
 69         <!-- Rich push 核心功能 since 2.0.6-->
 70         <activity
 71             android:name="cn.jpush.android.ui.PopWinActivity"
 72             android:theme="@style/MyDialogStyle"
 73             android:exported="false">
 74         </activity>
 75 
 76         <!-- Required SDK核心功能-->
 77         <activity
 78             android:name="cn.jpush.android.ui.PushActivity"
 79             android:configChanges="orientation|keyboardHidden"
 80             android:theme="@android:style/Theme.NoTitleBar"
 81             android:exported="false">
 82             <intent-filter>
 83                 <action android:name="cn.jpush.android.ui.PushActivity" />
 84                 <category android:name="android.intent.category.DEFAULT" />
 85                 <category android:name="com.coderwei.pushdemo" />
 86             </intent-filter>
 87         </activity>
 88         <!-- Required  SDK核心功能-->
 89         <service
 90             android:name="cn.jpush.android.service.DownloadService"
 91             android:enabled="true"
 92             android:exported="false" >
 93         </service>
 94 
 95         <!-- Required SDK 核心功能-->
 96         <!-- 可配置android:process參數將PushService放在其他進程中 -->
 97         <service
 98             android:name="cn.jpush.android.service.PushService"
 99             android:process=":mult">
100             <intent-filter>
101                 <action android:name="cn.jpush.android.intent.REGISTER" />
102                 <action android:name="cn.jpush.android.intent.REPORT" />
103                 <action android:name="cn.jpush.android.intent.PushService" />
104                 <action android:name="cn.jpush.android.intent.PUSH_TIME" />
105             </intent-filter>
106         </service>
107 
108         <!-- since 1.8.0 option 可選項。用于同一設備中不同應用的JPush服務相互拉起的功能。 -->
109         <!-- 若不啟用該功能可刪除該組件,將不拉起其他應用也不能被其他應用拉起 -->
110         <service
111             android:name="cn.jpush.android.service.DaemonService"
112             android:enabled="true"
113             android:exported="true">
114             <intent-filter>
115                 <action android:name="cn.jpush.android.intent.DaemonService" />
116                 <category android:name="com.coderwei.pushdemo" />
117             </intent-filter>
118 
119         </service>
120 
121         <!-- Required SDK核心功能-->
122         <receiver
123             android:name="cn.jpush.android.service.PushReceiver"
124             android:enabled="true">
125             <intent-filter android:priority="1000">
126                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />   <!--Required  顯示通知欄 -->
127                 <category android:name="com.coderwei.pushdemo" />
128             </intent-filter>
129             <intent-filter>
130                 <action android:name="android.intent.action.USER_PRESENT" />
131                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
132             </intent-filter>
133             <!-- Optional -->
134             <intent-filter>
135                 <action android:name="android.intent.action.PACKAGE_ADDED" />
136                 <action android:name="android.intent.action.PACKAGE_REMOVED" />
137 
138                 <data android:scheme="package" />
139             </intent-filter>
140         </receiver>
141 
142         <!-- Required SDK核心功能-->
143         <receiver android:name="cn.jpush.android.service.AlarmReceiver" android:exported="false"/>
144 
145         <!-- User defined.  For test only  用戶自定義的廣播接收器-->
146         <receiver
147             android:name="PushReceiver"
148             android:exported="false"
149             android:enabled="true">
150             <intent-filter>
151                 <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用戶注冊SDK的intent-->
152                 <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  用戶接收SDK消息的intent-->
153                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  用戶接收SDK通知欄信息的intent-->
154                 <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  用戶打開自定義通知欄的intent-->
155                 <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收網絡變化 連接/斷開 since 1.6.3 -->
156                 <category android:name="com.coderwei.pushdemo" />
157             </intent-filter>
158         </receiver>
159 
160         <!-- Required  . Enable it you can get statistics data with channel -->
161         <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
162         <meta-data android:name="JPUSH_APPKEY" android:value="cf8a2ff321f582cbfcb55056" /> <!--  </>值來自開發者平臺取得的AppKey-->
163     </application>
164 
165 </manifest>

對比兩個文件就很清楚了,下載的Demo中的AndroidManifest.xml文件(去頭去尾)全部拷到自己項目的AndroidManifest.xml文件中,然后自己寫一個Application :

public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();JPushInterface.setDebugMode(true);JPushInterface.init(this);}
}

然后就在application節點下寫上:

android:name=".MyApplication"
1 <application
2         android:allowBackup="true"
3         android:icon="@mipmap/ic_launcher"
4         android:label="@string/app_name"
5         android:supportsRtl="true"
6         android:name=".MyApplication"
7         android:theme="@style/AppTheme">

?

這樣就可以了,一個簡單的推送就可以實現了。

?

轉載于:https://www.cnblogs.com/Godfunc/p/6139045.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373339.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373339.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c遺傳算法的終止條件一般_Matlab2 :Matlab遺傳算法(GA)優4~-r-具箱是基于基本操作 聯合開發網 - pudn.com...

Matlab2所屬分類&#xff1a;matlab例程開發工具&#xff1a;PDF文件大小&#xff1a;115KB下載次數&#xff1a;76上傳日期&#xff1a;2007-09-07 20:04:29上 傳 者&#xff1a;錢廣說明&#xff1a; &#xff1a;Matlab遺傳算法(GA)優4~-r-具箱是基于基本操作及終止條件、二…

用程序輸出表格

做應用程序的時候經常需要輸出excel表格&#xff0c;除了不同語言接口完善程度不同的麻煩以及要添加各種外部引用的麻煩之外還要考慮應用環境不同的office版本的問題&#xff0c;實在麻煩 當只需要輸出數據&#xff0c;不管顏色什么的的話&#xff0c;有個避免上述麻煩的辦法就…

elk系列1之入門安裝與基本操作

preface 我們每天都要查看服務器的日志&#xff0c;一方面是為了開發的同事翻找日志&#xff0c;另一方面是巡檢服務器查看日志&#xff0c;而隨著服務器數量以及越來越多的業務上線&#xff0c;日志越來越多&#xff0c;人肉運維相當痛苦了&#xff0c;此時&#xff0c;參考現…

Java 7 –反編譯項目硬幣

大家好&#xff0c;該是從2012年開始寫作的時候了。正如您在其他博客中可能已經看到的那樣&#xff0c;有一些更改可以使您使用Java編程時的開發人員生活變得更加輕松&#xff1a;Diamond運算符&#xff0c;Switchs中的Strings&#xff0c;嘗試使用資源&#xff0c;多次捕獲等 …

git安裝后找不見版本_無法安裝最新版本的Gitlab

這個問題不是代碼,而是Gitlab的安裝.我現在試圖安裝Gitlab幾天沒有成功.實際上,很久以前,他們提出了使用wget的方法非常好,但由于我們必須使用Curl的方法,所以不可能比下載更進一步.在Ubuntu 14.04機器上,以下命令有效&#xff1a;curl https://packages.gitlab.com/install/re…

在Excel表里面插入背景圖

工作中我們會經常用到MS Excel&#xff0c;通常我們打開MS Excel&#xff0c;里面的工作表都是空白單調的背景。當然了&#xff0c;MS Excel可以在工作簿里面插入背景圖片。那么問題來了&#xff0c;如果你沒有安裝Microsoft Office&#xff0c;該如何在Excel文件里面插入好看的…

Java 7:復制和移動文件和目錄

這篇文章是我關于Java 7 java.nio.file軟件包的系列文章的繼續&#xff0c;這次涵蓋了文件的復制和移動以及完整的目錄樹。 如果您曾經對Java缺少copy和move方法感到沮喪&#xff0c;那么請繼續閱讀&#xff0c;以免麻煩。 涵蓋范圍中包括非常有用的Files.walkFileTree方法。 但…

java 五子棋項目_Java項目如何實現五子棋小游戲

Java項目如何實現五子棋小游戲發布時間&#xff1a;2020-07-21 14:53:06來源&#xff1a;億速云閱讀&#xff1a;77作者&#xff1a;小豬小編這次要給大家分享的是Java項目如何實現五子棋小游戲&#xff0c;文章內容豐富&#xff0c;感興趣的小伙伴可以來了解一下&#xff0c;希…

Java中多線程的使用!!

簡介&#xff1a; 1.要了解多線程&#xff0c;首先我們得先了解進程和線程。那么什么是進程&#xff1f;進程就是一個正在運行的程序分配內存讓應用程序能夠運行的叫做進程。那么什么又是線程呢&#xff1f;線程&#xff1a;在一個程序中&#xff0c;負責代碼的執行&#xff0c…

java pkcs1轉pkcs8_pkcs1與pkcs8格式RSA私鑰互相轉換

1、PKCS1私鑰生成openssl genrsa -out private.key 1024private.key文件內容如下&#xff1a;-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDREk3uy4x9i4a16OYOYEp5Ir2f16lsmUHB2HjGDlxkU0ju9YApyeZlUXb191ZkxJ2vx2vKppN4gKLDy5r7JMTpwch1CNvceySX6DiM4lwTAnUEZiBYgNBNrKINEt…

嵌入式碼頭,Vaadin和焊接

當我開發Web應用程序時&#xff0c;我希望能夠從Eclipse快速啟動它們&#xff0c;而不必依賴各種重量級的tomcat或glassfish插件。 因此&#xff0c;我通常要做的只是創建一個可以直接從Eclipse運行的基于Java的簡單啟動器。 該啟動器會在幾秒鐘內啟動&#xff0c;因此使開發工…

創建真機調試證書(蘋果開發者平臺各個選項對應的含義)

創建真機調試證書&#xff08;蘋果開發者平臺各個選項對應的含義&#xff09; 原文地址&#xff1a;http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html轉載于:https://www.cnblogs.com/siasyl/p/5340593.html

gl.vertexAtteib3f P42 講數據傳給location參數指定的attribute變量

參數  location  指定將要修改的attribute變量存儲位置 v0  指定填充attribute變量第一個分量的值 v1  指定填充attribute變量第二個分量的值 v2  指定填充attribute變量第三個分量的值 var VSHADER_SOURCE attribute vec4 a_Position;\n void main(){\n gl_Posit…

將Spring集成到舊版應用程序中

所有Spring開發人員喜歡做的事情之一就是將Spring塞入他們正在工作的任何應用程序中–這是我生活中的罪惡感之一&#xff1a;您看到一些代碼&#xff0c;認為它是垃圾&#xff0c;因為它包含幾個眾所周知的反模式&#xff0c;然后想想如果這個應用程序是Spring應用程序會多么酷…

java自己實現ioc_springioc原理、springmvc項目分析、自己實現IOC

從一個面試題開始&#xff1a;你自己實現IOC容器的話&#xff0c;保存bean你會使用什么數據結構來保存呢&#xff1f;現在的很多開發人員(甚至3年以上的)不一定能回答這問題&#xff0c;為什么會這樣呢&#xff1f;這個跟現在springboot現在已經高度成熟了&#xff0c;很多配置…

實現兩級下拉框的聯動

1.實現兩級下拉框的聯動。 功能&#xff1a;實現點擊年級下拉框&#xff0c;加載對應科目的下拉框。 第一步&#xff1a;首先要加載年級下拉框中的數據。 01.在GradeDAL層&#xff08;數據訪問層&#xff09;寫一個方法&#xff0c;查詢所有年級的信息。 /// <summary>//…

System.nanoTime()背后是什么?

在Java世界中&#xff0c;對System.nanoTime&#xff08;&#xff09;的理解非常好。 總有一些人說它是快速&#xff0c;可靠的&#xff0c;并且在可能的情況下&#xff0c;應該使用它代替System.currentTimemillis&#xff08;&#xff09;進行計時。 總的來說&#xff0c;他絕…

python連接SQL Server取多個結果集:Pymssql模塊

基本的用法可以參考&#xff1a;python連接SQL Server&#xff1a;Pymssql模塊 和上一篇文章中的代碼&#xff0c;只取一個結果集不同&#xff0c;這次會一次運行2個sql語句&#xff0c;然后分別取出2個結果集&#xff0c;打印輸出。 代碼中有詳細的注釋&#xff0c;一看就明白…

狀態不屬于代碼

Web應用程序中的“狀態”是什么&#xff1f; 它就是要存儲的數據&#xff08;無論目的地是什么—內存&#xff0c;數據庫&#xff0c;文件系統&#xff09;。 應用程序本身不得在代碼中存儲任何狀態。 這意味著您的類應僅包含帶有無狀態對象的字段。 換句話說&#xff0c;在程序…

Xen安全架構sHype/ACM策略配置圖文教程

實驗要求 1. 熟悉Xen虛擬化平臺部署&#xff1b; 2. Xen sHype/ACM安全架構中的Simple TE和Chinese Wall策略及事實上現機制的分析與驗證。 第1章 Xen環境部署 1.1 版本號選擇 因為Ubuntu使用廣泛。軟件包易于下載。我們選擇Ubuntu系統進行Xen部署…