首页 课程实训报告

课程实训报告

举报
开通vip

课程实训报告 信息工程学院 课程实训报告 姓    名          管琦            学    号      2013110538            实训名称:  安卓金山手机卫士项目实训  所在班级:          13信管         实训时间:  2014年6月23日-7月1日                   实训地点:  13信管班实验室(工B201)                实训教师:         马伟奇              实训企业:北京传智博客教育科技...

课程实训报告
信息工程学院 课程实训 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 姓    名          管琦            学    号      2013110538            实训名称:  安卓金山手机卫士项目实训  所在班级:          13信管         实训时间:  2014年6月23日-7月1日                   实训地点:  13信管班 实验室 17025实验室iso17025实验室认可实验室检查项目微生物实验室标识重点实验室计划 (工B201)                实训教师:         马伟奇              实训企业:北京传智博客教育科技有限公司    实训成绩:                              宿州学院信息工程学院实习实训中心制 一、实训基本信息 实训项目名称 安卓金山手机卫士 实 训 环 境 JDK8.0和Eclipse+ADT+SDK的开发环境 二、实训项目简介(包括项目的选 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 依据、功能体系、项目开发的技术与方法等) 1.项目选题依据: 根据学生学习的基本编程思想和所学的数据库知识和基础的JAVA知识进行项目 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 2.功能体系: (1)对前面知识的综合应用,复习基础一遍。 (2)熟悉代码,找到敲代码的感觉; (3)每天会有1000-1500行代码量;这几天下来一共就会有1万多行代码量。 (4)大学软件工程的学生毕业要求3-5万行的代码量。10几天完成三分之一、五分之一; (5)版本控制,每一天的代码用版本控制起来,可以看到每天的代码; (6)演示程序代码。 (7)演示功能有: 启动页面; 主页;通讯卫士,黑名单的管理,电话拦截、短信拦截的演示; 3.项目开发的技术与方法: (1) Svn服务器的使用:演示svn安装好的样子;查看提交了哪些文件,修改了哪些代码 ;基于已经存在的RepositoriesX代码仓库,创建代码创库;建立创库RepositoriesX代码仓库,导入代码;----基于已有的创库;基于创库建立新MobileSafe代码工程;----建立一个新的工程; (2)代码组织结构:按照模块 组织代码的包结构。 业务之间彼此独立; (3)Splash界面:写界面;动态获取程序的版本名称的方法,运行演示看效果;演示提交代码; (4)连接服务器获取更新信息:查看当前升级提醒对话框效果图;画升级 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图;到webservice里去写json文件:update.json;Anddroid工程添加联网权限:android.permission.INTERNET; 在子线程钟请求服务器代码checkVersion();请求网络的代码;参照一个解析流的类StreamTools;解析JSON;用Handler更新信息;创建主页面HomeActivity和布局文件;写延迟2秒进入主页面代码;添加AlphaAnimation动画效果;测试异常况好不好用;提交代码到SVN服务器; (5)应用程序的签名:显示更新对话框showUpdateDialog();下载功能,用到afinal下载框架:FinalHttp,判断SDcard代码;添加SDcard写权限;安装失败;引入apk签名;签名演示 (6)Splash界面的细节:显示4.0的样式:方式是去掉功能清单里的Activity对应的android:theme;放到application里面;当splash页面弹出升级提示框过滤点击返回 三、项目开发过程(1写明项目开发需要用到的C/C++知识点,并给出相关重要代码,并在代码后做出注释。2 写出在项目开发环境下的开发步骤,尽可能详细。可续页。) 一:搭建android开发平台: 1.下载安装包内容: (1)下载安装JDK java; (2)下载安装Eclipse; (3)下载安装 android SDK 2.软件安装内容: (1)安装JDK; (2)解压安装Eclipse; (3)解压安装android SDK; (4)配置Eclipse,Android SDK环境; (5)新建android项目;(6)配置运行 二,程序设计内容 1,金山手机卫士欢迎界面并提示升级与否 SplashActivity.java package com.example.mobilesafe_szxy; import java.io.File; import org.json.JSONObject; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.os.SystemClock; import android.widget.Toast; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest.HttpMethod; /** * ============================================================ * * 版 权 : 黑马程序员教育集团 版权所有 (c) 2015 * * 作 者 : 管琦 * * 版 本 : 1.0 * * 创建日期 : 2015-6-23 下午3:25:15 * * 描 述 : * * 欢迎界面 用来展现产品的Logo; 应用程序初始化的操作; 检查应用程序的版本; 检查当前应用程序是否登录、是否连接网络等; 修订历史 : * * ============================================================ **/ /** * ============================================================ * * 版 权 : 黑马程序员教育集团 版权所有 (c) 2015 * * 作 者 : 管琦 * * 版 本 : 1.0 * * 创建日期 : 2015-5-25 下午8:16:46 * * 描 述 : * * 欢迎界面 修订历史 : * * ============================================================ **/ public class SplashActivity extends Activity { // 本地的版本号 private int versionCode; //模拟器的快捷键: //esc 后退 //home 最小化 //ctrl + F5或者F6 //F2菜单 @Override protected void onCreate(Bundle savedInstanceState) { // ctrl + 0; super.onCreate(savedInstanceState); initView(); } /** * 初始化view */ private void initView() { setContentView(R.layout.activity_splash); try { // 获取到包的管理者 PackageManager packageManager = getPackageManager(); // 获取到包的基本信息 PackageInfo packageInfo = packageManager.getPackageInfo( getPackageName(), 0); // 获取到本地的版本号 versionCode = packageInfo.versionCode; checkVersion(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 服务器的URL地址 // :8080/info.json private String url = ":8080/info.json"; private String desc; private String downloadurl; /** * 检查版本号 */ private void checkVersion() { //初始化联网引擎 //参数表示:2秒钟超时时间 HttpUtils httpUtils = new HttpUtils(2000); // 发送联网请求 // 第一个参数:表示请求的方法 post get // 第二个参数:表示请求服务器的地址 // 第三个参数:表示服务器成功或者失败的回调 httpUtils.send(HttpMethod.GET, url, new RequestCallBack() { @Override public void onFailure(HttpException arg0, String arg1) { Toast.makeText(SplashActivity.this, "联网失败", 0).show(); loadMainUI(); } @Override public void onSuccess(ResponseInfo arg0) { System.out.println(arg0.result); // 联网成功--?{"downloadurl":":8080/mobilesafe.apk","version":2,"desc":"下载安装送大礼包"} processedData(arg0.result); } }); } /** * 处理服务器返回的数据 * * @param result * json数据 */ protected void processedData(String result) { try { // 初始化json对象 JSONObject obj = new JSONObject(result); // 获取服务器返回的下载apk的地址 downloadurl = obj.getString("downloadurl"); // 获取服务器返回的版本号 int ser_version = obj.getInt("version"); // 获取到服务器返回过来的描述信息 //ctrl + 1把当前的变量变成成员变量 desc = obj.getString("desc"); System.out.println("----------------------------"); System.out.println("apk地址----" + downloadurl); System.out.println("ser_version版本号----" + ser_version); System.out.println("描述信息----" + desc); // 判断服务器的版本号和本地的版本号是否一致 if (ser_version == versionCode) { new Thread(){ public void run() { SystemClock.sleep(2000); loadMainUI(); }; }.start(); // 版本号一致进入到主界面 } else { // 展示升级的对话框 showDialog(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 展示对话框 */ private void showDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); // 设备标题 builder.setTitle("提示"); //设置基本信息 builder.setMessage(desc); //导包ctrl + shift + o //设置取消监听 builder.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { loadMainUI(); } }); /** * 第一个参数:文本 * 第二个参数:点击监听 */ builder.setPositiveButton("升级", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub downLoadApk(); } }); /** * 取消进去到主界面 */ builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub loadMainUI(); } }); // 切记一定要show。 builder.show(); } /** * 下载apk */ protected void downLoadApk() { // TODO Auto-generated method stub System.out.println("下载apk"); HttpUtils httpUtils = new HttpUtils(); //下载 //第一个参数:下载APK地址 //第二个参数:下载到什么地方(放置的位置) httpUtils.download(downloadurl, "/mnt/sdcard/temp.apk", new RequestCallBack() { //下载失败 @Override public void onFailure(HttpException arg0, String arg1) { // TODO Auto-generated method stub Toast.makeText(SplashActivity.this, "下载失败", 0).show(); } //下载成功 @Override public void onSuccess(ResponseInfo arg0) { // 下载成功之后必须安装软件 System.out.println("进入安装界面"); //隐式意图 //安装软件 Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.setDataAndType(Uri.fromFile(new File("/mnt/sdcard/temp.apk")), "application/vnd.android.package-archive"); startActivity(intent); } }); } /** * 进入到主界面 */ private void loadMainUI() { //初始化跳转 //第一个参数:上下文 //第二个参数:想跳到什么地方去 Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); finish(); } } 2,金山手机卫士主界面 Activity_main_xml 3,黑名单弹出界面和黑名单管理界面 Activity_black_number.xml
本文档为【课程实训报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_713593
暂无简介~
格式:doc
大小:104KB
软件:Word
页数:0
分类:
上传时间:2019-09-19
浏览量:62