




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机与信息工程学院Android课程设计报告班 级: 计算机与信息工程学院15级6班 专 业: 软件工程 题 目: 手机安全卫士 指导教师: 樊富有 导师职称: 教 授 学 号: 151106026 姓 名: 胡隆河 同 组 人: 陈雨,吴秋,唐育,张欢,蒋安琼,张穗,邹倩,甘语楠,胡隆河宜宾学院 2017 年 11 月 23 日目录一目的及引言4二总体设计51 手机防盗52 骚扰拦截53 软件管理54 进程管理65 流量管理66 病毒查杀67 缓存清理68 高级工具69 设置6三详细设计71 软件升级界面72 手机防盗83 远程指令控制流程94 手机杀毒10四数据库设计111 概念设计112 逻辑设计12五界面设计141 主界面设计142 防盗功能界面设计153 骚扰拦截界面设计174 程序管理界面设计185 进程管理界面设计196 流量管理界面设计207 清理缓存界面设计218 病毒查杀界面设计229 高级功能界面设计2310 设置功能界面设计24六调试与测试25七心得体会27八程序清单28一 目的及引言此次试验是实现一个手机安全的软件,利用Android的四大组件:Activity、Service、Broadcast Receiver、Content Provider,采用MVC设计模式。采用JAVA为编辑语言,利用SQLite轻量级数据库为系统提供数据支持。主要功能有:手机防盗、通讯卫士、软件管理、进程管理、流量统计、手机杀毒、缓存管理、高级工具、设计中心等九大功能。二 总体设计安全卫士手机防盗骚扰拦截软件管理进程管理流量管理病毒查杀清理缓存高级工具设置图2-1 系统功能模块图1 手机防盗sim卡变更报警:当绑定手机号码卡后,设备更换了手机卡讲提示报警。gps追踪:获取当前位置,及时上传到远程服务器保存,远程得到当前设备的位置。可以远程追踪当前设备的位置。销毁数据:远程控制手机,自动清空手机内的所有数据,包括:通讯录,短信,内存数据。远程锁屏:远程锁定手机,可以远程向手机发送锁屏指令,控制手机锁屏和重新设置锁屏密码。2 骚扰拦截电话拦截:添加拦截的手机号,对已添加的号码的电话拦截。短信拦截:添加短信服务号码,拦截已添加的号码发来的所有短信,禁止接收。3 软件管理用户程序:是将用户从第三方的应用平台上下载的APP应用数据信息读取出来,进行卸载、运行、分享、详情的操作。系统程序:是将手机本身自带的系统应用程序数据信息读取出来,进行卸载、运行、分享、详情的操作。这个模块主要读取手机中各个应用程序的大小和包名。4 进程管理获取手机中正在运行中的所有系统进程和用户进程,并且可以对他们进行结束和查看信息,可以同时禁止多个运行中的进程。系统进程不可以直接终止,只能通过系统自带的终止功能让用户自己终止。不显示系统核心进程。5 流量管理这个模块中主要读取系统文件,来对用户流量进行检测,主要显示的有:上传总流量、下载总流量和共计流量使用情况。下面还是显示的是对应的应用的logo和应用名称,上传文件使用流量数和下载使用流量数,还有对应的该应用使用流量的总数目。6 病毒查杀这个模块中使用的是腾讯的病毒数据库,来查对应的应用的MD5码看是不是在病毒数据库中存在,在界面上显示的是:已扫描软件的个数,发现病毒的个数,下面就是对应的扫描的软件的名称若不在病毒数据库就显示扫描安全,否则就会显示病毒存在。7 缓存清理这个模块中我是将用户在本地的缓存文件清除在界面上显示的是:要清除缓存的软件的个数,共占内存有多少。在屏幕的最下方的位置我放了一个按钮,可以一次全清除。8 高级工具电话归属地查询:使用了正则表达式来判断电话号码的合法性,根据用户输入的电话号码来进行对号码的识别和归属地的查询。常用号码:这儿主要是可以存储一些比较常用的电话号码,比如订餐,家人,学校等特殊的号码,可以随时提取拨打。程序加密:可以对用户已经安装的程序执行加密操作,让用户在打开该程序时需要输入相应的密码才可以进入程序,相当于给程序外加一层安全防护。9 设置主要模块有:自动更新设置、电话归属地显示设置、归属地提示框的风格设置、归属地显示提示框位置设置、黑名单设置、程序加密设置。三 详细设计经过系统的分析,该软件总体上是有一个主界面和主界面上的一些模块组成,在主界面上包含手机防盗、骚扰拦截、软件管理、进程管理、流量管理、病毒查杀、清理缓存、高级工具以及设置等九个模块。该软件可以对手机中的所有软件进行基本的管理,满足用户安全性和使用性的要求。1 软件升级界面当打开软件时会自动检测更新,流程图如3-1所示:图3-1升级界面流程图2 手机防盗手机防盗模块通过预设密码判断手机是否被盗,如果发生手机被盗事件,手机将自动通过自定义协议发送手机中SIM卡信息和手机的位置信息给安全号码。如图:3-2所示:图3-2 防盗流程图3 远程指令控制流程手机防盗的核心是通过建立Android下的super管理员功能,能远程通过短信指令,对手机设置锁屏密码,远程锁定手机屏幕,远程格式化手机内存卡,恢复出厂设置,而且用户也不能卸载软件,能极大的保护用户的隐私安全。如发生手机被盗事件,super管理员通过安全手机发送预设指令控制被绑定的手机,从而锁定手机或者销毁数据。短信指令控制,流程图如3-3所示:创建广播重写onReceiver()#*wipedata*#判断手机防盗是否开启获取所有短信内容#*localtion*#获取地址发送给安全号码获取最后GPS信息发送给安全号码让手机播放报警信号清除手机数据#*getgps*#*alarm*#图3-3远程控制指令流程图4 手机杀毒手机杀毒的实现需要先用PackageManager遍历手机上的所有程序,将扫描到的包名以及数字签名鱼数据库中的病毒对比,发现相同的就视为病毒,弹出删除病毒的界面将其杀死,完成后,返回手机杀毒的界面。手机杀毒流程图如图3-4所示:图3-4手机杀毒流程图四 数据库设计1. 数据信息要求:主要黑名单信息、号码归属地信息、常用号码信息、程序锁信息、手机病毒信息等数据信息。2. 数据信息处理要求:系统主要完成黑名单信息、号码归属地信息、常用号码信息、程序锁信息、手机病毒信息等信息的添加、删除、修改、查看功能,系统中号码归属地信息和手机病毒信息使用频率比较高,因此在处理方式上要求效率比较高。3. 数据信息安全性与完整性要求:程序锁信息属于重要信息,因此要求保证数据信息安全,数据信息不能外泄。1 概念设计1. 黑名单实体E-R图通过对系统需求分析抽象出黑名单、号码归属地、常用号码、程序锁、手机病毒等实体对象,相关实体对象属性图如图4-1所示。图4-1 黑名单实体属性图2.号码归属地号码归属地主要是对电话号码的信息进行查询操作,主要包括号码类型、号码归属城市和号码所属城市的区号,如图4-2所示。图4-2 号码归属地实体属性图3.手机病毒数据实体类手机病毒数据实体类主要是存储手机的MD5码,主要字段有:病毒描述、MD5数字签名、病毒ID、病毒类型和应用程序的包名如图4-3所示。图4-3 手机病毒实体属性图2 逻辑设计1.blacknumber(黑名单表)黑名单表主要用来将用户不愿意接听的电话和短信进行拦截,该表的主要字段及其含义如图4-4所示。图4-4 黑名单信息表2. address_db(电话归属地表)电话归属地表主要用来用户查看来电信息的归属地和查看特定号码的归属地,该表的主要字段及其含义如图4-5所示。图4-5 号码归属地信息表(address_db)3.applock(程序锁表)程序锁的数据信息表主要用来保存用户将设置的密码添加了程序锁之后进入应用会读取程序锁表中的数据,该表的主要字段及其含义如图4-6所示。图4-6程序锁的信息表(applock)4.antivirus(手机病毒数据信息表)手机病毒数据信息表主要用来保存用户的手机应用数据和病毒数据库做比对从而进行病毒的查杀,该表的主要字段及其含义如表4-7所示。图4-7手机病毒数据信息表五 界面设计1 主界面设计主界面为用户经常操作的界面,而且手机卫士的所有的功能都在主界面里展示,在这个界面用户可以清理手机缓存、设置手机防盗、管理手机的软件和进程等。其设计过程是界面最上端放置的是一个View控件,放置LOGO,其下方放置是一个自定义的FocusedTextView类,让其继承TextView,重写isFocused的方法,return true,这样就骗过了系统,让系统误以为FocusedTextView获取到焦点,这样就能产生一个跑马灯的效果展现到界面上。其下方的模块就是一个设置numColumns为3的GridView显示出来的,主界面展示如图5-1所示图5-1主界面2 防盗功能界面设计手机防盗也是手机卫士最为核心的功能模块,其主要是保护用户的隐私不被泄露,设置初试密码后可开启防盗功能。手机丢失时,手机接收到SIM卡更换的信息会向事先设置的安全号码发送报警短信,用户通过远程发送设定的指令可遥控手机销毁数据,保护隐私。(1)设置密码与输入密码设计开启手机防盗功能第一步,要先设置安全密码,这个对话框设计是定义一个竖直对齐的线性布局LinearLayout,上面定义一个文本内容为设置密码TextView控件,下方设置两个输入类型为textPassword 的EditText,用来输入密码和重复密码,而在下方再放置一个水平对齐的线性布局,添加两个权重相同的Button按钮。其显示效果如图5-2所示。 图5-2 手机防盗-设置密码界面完成密码设置后,再进入手机防盗功能时,会跳转进入到一个用户输入密码的界面,其页面布局和设置密码的页面布局一样,显示效果如图5-3所示。 图5-3手机防盗-输入密码界面(2)设置向导的详细设计设计设置向导分四步完成设置手机的防盗功能,其具体的设计如下面四步所示。 图5-4手机防盗设置向导一 图5-5手机防盗设置向导二图5-6防盗设置向导三图 图5-7防盗设置向导四 图5-8防盗设置完成界面3 骚扰拦截界面设计通讯卫士可以让用户添加黑名单,在界面上有个添加按钮,点击添加后,在弹出的对话框里输入要加入黑名单的号码,并选择拦截模式,拦截模式有全部拦截、电话拦截、短信拦截三种模式,点击确定,就可以添加成功,添加的数据存储到数据库里,并在通讯卫士界面显示出来。其界面展示如图5-9、图5-10所示。 图5-9骚扰拦截主界面图 5-10骚扰拦截添加界面4 程序管理界面设计程序管理这个模块通过Listview把手机里面的应用程序给展示到界面上,在界面的上访放置两个Textview用来显示用户手机内存(rom)可用的大小和SD卡可用内存的大小,下面是一个Listview通过遍历把应用程序显示到界面上,然后给你每一个Listview条目都注册了点击事件,在点击每一个条目时,可用Popupwindow方法弹出一个悬浮窗体,上面包含卸载、启动、分享三个点击事件,在点击这些小按钮的时候,可启动其对应的activity,方便于用户的操作。其界面展示如图5.11所示。图5-11程序管理界面5 进程管理界面设计进程管理界面的UI和软件管理界面的UI大致类似,其顶部显示的内容也是通过Textview显示出来的,通过ActivityManager拿到手机正在运行的进程数量和可用内存(ram)的大小,再设置显示到界面上。Textview下的布局是一个Listview,显示进程的界面是通过创建一个LinearLayout节点的布局文件,里面放置一个Imageview和Textview,右边再放置一个checkbox,来选择要清理的进程。通过View.inflate方法把xml布局文件填充成一个view对象,显示到界面上。其主要界面展示如图5-12所示。图5-12进程管理界面6 流量管理界面设计流量统计界面的UI和软件管理界面的UI大致类似,其顶部显示的内容也是通过Textview显示出来的,通过ActivityManager拿到手机正在运行的进程数量和可用内存(ram)的大小,再设置显示到界面上。其主要界面展示如图5-13所示图5-13流量管理界面7 清理缓存界面设计缓存清理界面的UI和软件管理界面的UI大致类似,其顶部显示的内容也是通过Textview显示出来的,通过ActivityManager拿到手机正在运行的进程数量和可用内存(ram)的大小,再设置显示到界面上。其主要界面展示如图5-14所示:图5-14清理缓存界面8 病毒查杀界面设计与清理缓存界面类似,此处使用一个listView控件显示搜索的列表,同时用一个Button按钮一键清理功能。图5-15病毒查杀界面9 高级功能界面设计此处包含了软件中的其它功能,有归属地、常用号码、程序加密功能。使用了一个ListView控件显示,通过触摸不同的位置即可打开相应的功能。如图5-16所示: 图5-16高级功能界面 10 设置功能界面设计缓存清理界面的UI和软件管理界面的UI大致类似,其顶部显示的内容也是通过Textview显示出来的,通过ActivityManager拿到手机正在运行的进程数量和可用内存(ram)的大小,再设置显示到界面上。其主要界面展示如图5-17所示:图5-17设置界面六 调试与测试1、在程序运行后,发现有些权限并不能得到解决方案:经过资料翻阅,发现现在的安卓系统版本升级后,到了6.0及以上版本后,有了特殊的一些权限,搜集如下:group:android.permission-group.CONTACTS permission:android.permission.WRITE_CONTACTS permission:android.permission.GET_ACCOUNTS permission:android.permission.READ_CONTACTSgroup:android.permission-group.PHONE permission:android.permission.READ_CALL_LOG permission:android.permission.READ_PHONE_STATE permission:android.permission.CALL_PHONE permission:android.permission.WRITE_CALL_LOG permission:android.permission.USE_SIP permission:android.permission.PROCESS_OUTGOING_CALLS permission:com.android.voicemail.permission.ADD_VOICEMAILgroup:android.permission-group.CALENDAR permission:android.permission.READ_CALENDAR permission:android.permission.WRITE_CALENDARgroup:android.permission-group.CAMERA permission:android.permission.CAMERAgroup:android.permission-group.SENSORS permission:android.permission.BODY_SENSORSgroup:android.permission-group.LOCATION permission:android.permission.ACCESS_FINE_LOCATION permission:android.permission.ACCESS_COARSE_LOCATIONgroup:android.permission-group.STORAGE permission:android.permission.READ_EXTERNAL_STORAGE permission:android.permission.WRITE_EXTERNAL_STORAGEgroup:android.permission-group.MICROPHONE permission:android.permission.RECORD_AUDIOgroup:android.permission-group.SMS permission:android.permission.READ_SMS permission:android.permission.RECEIVE_WAP_PUSH permission:android.permission.RECEIVE_MMS permission:android.permission.RECEIVE_SMS permission:android.permission.SEND_SMS permission:android.permission.READ_CELL_BROADCAST这些权限需要在程序运行过程中动态申请,否则将无法使用相应的功能。详解见:/p/a51593817825七 心得体会Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。该平台由操作系统、中间件和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android是一个免费的手机平台。(资料来源:百度百科)此次通过做Android手机卫士的开发实验项目,自己做交互式界面,服务器搭建,数据库设置,完成App主要逻辑,修改自定义对话框,优化界面,获取手机联系人,设置加密等内容,加深了对上课所学知识的理解。完成这个项目之后,以前觉得复杂的布局文件,现在变得简单易懂。从之前面对一个项目的无从下手,到现在一步步的分析项目。实践检验问题,在做项目过程中,尽管遇到了很多问题,但是通过同学们和自己查询的一些资料,一点点理清程序逻辑代码,修正错误。提高了自己对编程的兴趣,同时也加深了对所学知识的理解。八 程序清单以下是部分程序源码:1. main.xml主界面设计源码主界面逻辑设计源码package com.guoshisp.mobilesafe;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import com.guoshisp.mobilesafe.adapter.MainAdapter;import android.view.*;public class MainActivity extends Activity /显示主界面中的九大模块的GridViewprivate GridView gv_main;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);/取消标题 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main);gv_main = (GridView) findViewById(R.id.gv_main);/为gv_main对象设置一个适配器,该适配器的作用是用于为每个item填充对应的数据gv_main.setAdapter(new MainAdapter(this);/为GridView对象中的item设置点击时的监听事件gv_main.setOnItemClickListener(new OnItemClickListener() /参数一:item的父控件,也就是GridView 参数二:当前点击的item 参数三:当前点击的item在GridView中的位置/参数四:id的值为点击了GridView的哪一项对应的数值,点击了GridView第9项,那id就等于8public void onItemClick(AdapterView parent, View view,int position, long id) switch (position) case 0: /手机防盗/跳转到”手机防盗“对应的Activity界面Intent lostprotectedIntent = new Intent(MainActivity.this,LostProtectedActivity.class);startActivity(lostprotectedIntent);break;case 1: /骚扰拦截Intent callSmsIntent = new Intent(MainActivity.this,CallSmsSafeActivity.class);startActivity(callSmsIntent);break;case 2: /程序管理Intent appManagerIntent = new Intent(MainActivity.this,AppManagerActivity.class);startActivity(appManagerIntent);case 3: /进程管理Intent taskManagerIntent = new Intent(MainActivity.this,TaskManagerActivity.class);startActivity(taskManagerIntent);break;case 4: /流量统计Intent trafficInfoIntent = new Intent(MainActivity.this,TrafficInfoActivity.class);startActivity(trafficInfoIntent);break;case 5: /病毒查杀Intent antiVirusIntent = new Intent(MainActivity.this,AntiVirusActivity.class);startActivity(antiVirusIntent);break;case 6: /清理缓存Intent cleanCacheIntent = new Intent(MainActivity.this,CleanCacheActivity.class);startActivity(cleanCacheIntent);break;case 7:/高级工具Intent atoolsIntent = new Intent(MainActivity.this,AtoolsActivity.class);startActivity(atoolsIntent);break;case 8:/设置/跳转到”设置“对应的Activity界面Intent settingIntent = new Intent(MainActivity.this,SettingCenterActivity.class);startActivity(settingIntent);break;);2. activity_splash.xml 启动界面设计源码启动界面逻辑设计源码package com.guoshisp.mobilesafe;import java.io.File;import java.io.IOException;import java.io.InputStream;import .HttpURLConnection;import .MalformedURLException;import .ProtocolException;import .URL;import org.xmlpull.v1.XmlPullParserException;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.content.Intent;import android.content.SharedPreferences;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import .Uri;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.Window;import android.view.WindowManager;import android.view.animation.AlphaAnimation;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.Toast;import com.guoshisp.mobilesafe.domain.UpdateInfo;import com.guoshisp.mobilesafe.engine.UpdateInfoParser;import com.guoshisp.mobilesafe.utils.AssetCopyUtil;import com.guoshisp.mobilesafe.utils.DownLoadUtil;public class SplashActivity extends Activity private TextView tv_splash_version;private UpdateInfo info;private static final int GET_INFO_SUCCESS = 10;private static final int SERVER_ERROR = 11;private static final int SERVER_URL_ERROR = 12;private static final int PROTOCOL_ERROR = 13;private static final int IO_ERROR = 14;private static final int XML_PARSE_ERROR = 15;private static final int DOWNLOAD_SUCCESS = 16;private static final int DOWNLOAD_ERROR = 17;protected static final String TAG = SplashActivity;private long startTime;private RelativeLayout rl_splash;private long endTime;private ProgressDialog pd;private Handler handler = new Handler() public void handleMessage(android.os.Message msg) switch (msg.what) case XML_PARSE_ERROR:Toast.makeText(getApplicationContext(), xml解析错误, 1).show();loadMainUI();break;case IO_ERROR:Toast.makeText(getApplicationContext(), I/O错误, 1).show();loadMainUI();break;case PROTOCOL_ERROR:Toast.makeText(getApplicationContext(), 协议不支持, 1).show();loadMainUI();break;case SERVER_URL_ERROR:Toast.makeText(getApplicationContext(), 服务器路径不正确, 1).show();loadMainUI();break;case SERVER_ERROR:Toast.makeText(getApplicationContext(), 服务器内部异常, 1).show();loadMainUI();break;case GET_INFO_SUCCESS:String serverversion = info.getVersion();String currentversion = getVersion();if (currentversion.equals(serverversion) Log.i(TAG, 版本号相同进入主界面);loadMainUI(); else Log.i(TAG, 版本号不相同,升级对话框);showUpdateDialog();break;case DOWNLOAD_SUCCESS:Log.i(TAG, 文件下载成功);File file = (File) msg.obj;installApk(file);break;case DOWNLOAD_ERROR:Toast.makeText(getApplicationContext(), 下载数据异常, 1).show();loadMainUI();break;/* * 加载主界面 */private void loadMainUI() Intent intent = new Intent(this, MainActivity.class);startActivity(intent);finish();/ 把当前的Activity从任务栈里面移除/* * 安装一个apk文件 * * param file * 要安装的完整文件名 */protected void installApk(File file) / 隐式意图Intent intent = new Intent();intent.setAction(ent.action.VIEW);/ 设置意图的动作intent.addCategory(ent.category.DEFAULT);/ 为意图添加额外的数据/ intent.setType(application/vnd.android.package-archive);/ intent.setData(Uri.fromFile(file);intent.setDataAndType(Uri.fromFile(file),application/vnd.android.package-archive);/ 设置意图的数据与类型startActivity(intent);/ 激活该意图/* * 显示升级提示的对话框 */protected void showUpdateDialog() / 创建了对话框的构造器AlertDialog.Builder builder = new Builder(this);/ 设置对话框的提示内容builder.setIcon(getResources().getDrawable(R.drawable.notification);/ 设置升级标题builder.setTitle(升级提示);/ 设置升级提示内容builder.setMessage(info.getDescription();/ 创建下载进度条pd = new ProgressDialog(SplashActivity.this);/ 设置进度条在显示时的提示消息pd.setMessage(正在下载);/ 指定显示下载进度条为水平形状pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);/ 设置升级按钮builder.setPositiveButton(升级, new OnClickListener() public void onClick(DialogInterface dialog, int which) Log.i(TAG, 升级,下载 + info.getApkurl();/ 判断Sdcard是否可用i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁夏回族自治区吴忠市盐池县2024-2025学年高二下学期期末考试政治试题(含解析)
- 2026届广东东莞市化学高二上期末达标检测试题含答案
- 消防与应急知识培训课件
- 2025居民汽车租赁合同范本
- 农村家庭农场综合服务与管理合同
- 2025年法律资格考试复习试卷及答案
- 2025年法律法规知识考试试题及答案
- 地理知识培训教材课件
- 吉林省“选调生(冰雪经济方向)”专项面试经典题及答案
- 地球运动说课课件模板
- 巡察整改工作课件模板
- 2025年事业单位工勤技能-河南-河南农机驾驶维修工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年幼儿园教师岗位聘任协议(含资格认证及薪酬激励)
- 成都东部集团有限公司招聘考试真题2024
- 银行收息管理办法
- 海外房产投资项目方案(3篇)
- 初中地理学科课程规划方案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 高一英语必修一试卷(含答案)(适合测试)
- 《一次函数的图像》-完整版课件
- 电子束曝光机说明书
评论
0/150
提交评论