




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
手机卫士Day1上午:第1节 :01_项目介绍(20分钟)、02_svn服务器的使用(20分钟)、03_代码组织结构(10分钟)、04.Splash界面的UI(20分钟)第2节 :04_连接服务器获取更新信息(50分钟)第3节 :05_应用程序的签名(30分钟)、下午:第4节 07_splash界面的细节(6分钟)、08_两种上下文的区别(8分钟)、09_应用程序的主页面(15分钟)、10_自定义可以滚动的TextView(10分钟)第5节 :11_自动更新的组合控件(50分钟)第6节 :12_自定义控件属性(40分钟)、13_总结如何创建一个自定义控件属性(10分钟)01_项目介绍_20演示项目功能;1、对前面知识的综合应用,复习基础一遍。2、熟悉代码,找到敲代码的感觉;3、每天会有1000-1500行代码量;这几天下来一共就会有1万多行代码量。4、大学软件工程的学生毕业要求3-5万行的代码量。10几天完成三分之一、五分之一;5、版本控制,每一天的代码用版本控制起来,可以看到每天的代码;6、演示程序代码。7、演示功能有: 启动页面 主页 手机防盗(注意:演示时模拟器要提前设置有联系人); 通讯卫士:黑名单的管理:电话拦截、短信拦截的演示; 软件管理:列出系统的所以软件,启动软件、卸载软件、系统的卸载失败(需要root权 限这个后面也会介绍) 进程管理:列出系统中正在运行的程序;演示杀死软件 窗口小部件:添加桌面; 流量统计:模拟器并不支持,在真机上才能演示,只做个UI效果; 手机杀毒:检查手机安装的软件,发现那个是病毒,提醒用户就杀掉; 系统优化:清楚系统的垃圾,刚开始运行,没用多余数据; 高级工具:归属地查询;常用号码查询;短信备份;02_Svn服务器的使用_20 1、演示svn安装好的样子; 2、查看提交了哪些文件,修改了哪些代码 3、删除SVN服务器端和客户端, 4、基于已经存在的RepositoriesX代码仓库,创建代码创库; 6、建立创库RepositoriesX代码仓库,导入代码;-基于已有的创库; 5、基于创库建立新MobileSafe代码工程;-建立一个新的工程;03_代码组织结构_101、按照模块 组织代码的包结构。 业务之间彼此独立;办公软件 - 开会。 com.itheima.meeting - 发放工资。 com.itheima.money - 出差。 车载电脑 - 多媒体 - 导航 - 领航 - obd模块 2、按照代码的类型组织包结构; 界面 com.itheima.mobilesafe.activies 自定义UI com.itheima.mobilesafe.ui 业务逻辑代码 com.itheima.mobilesafe.engine数据引擎业务逻辑 获取解析数据 持久化 com.itheima.mobilesafe.db com.itheima.mobilesafe.db.dao 广播接收者 com.itheima.mobilesafe.receiver 长期在后台运行 com.itheima.mobilesafe.service 公用的api工具类com.itheima.mobilesafe.utils04_Splash界面的UI_20第一: splash界面的作用1、用来展现产品的Logo;2、应用程序初始化的操作;3、检查应用程序的版本;4、检查当前应用程序是否合法注册;第二:写界面 android:id=+id/tv_splash_version android:layout_width=wrap_content android:layout_height=wrap_content android:textColor=#000000 android:textStyle=bold android:shadowDx=1 android:shadowDy=1 android:shadowRadius=0.2 android:shadowColor=#ffff00 android:text=版本:1.0 android:textSize=16sp android:layout_centerInParent=true 第三:动态获取程序的版本名称的方法 /qinjuning/article/details/6867806 /* * 得到应用程序的版本号 */public String getAppVersion()PackageManager pm = getPackageManager();try PackageInfo info = pm.getPackageInfo(getPackageName(), 0);return info.versionName; catch (NameNotFoundException e) e.printStackTrace();/不可能发生;return ;4、演示提交代码;05_连接服务器获取更新信息_501、 查看当前升级提醒对话框效果图2、 画升级流程图3、 到webservice里去写json文件:updata.json4、 Anddroid工程添加联网权限:android.permission.INTERNET5、 在子线程钟请求服务器代码checkVersion()。6、 请求网络的代码 URL url = new URL(getString(R.string.serviceurl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod(GET);conn.setReadTimeout(5000);7、 参照一个解析流的类StreamTools8、 解析JSON JSONObject obj = new JSONObject(result);/服务器的版本号String version = (String) obj.get(version);description = (String) obj.get(description);apkurl = (String) obj.get(apkurl);9、 用Handler更新信息10、 创建主页面HomeActivity和布局文件11、 写延迟2秒进入主页面代码 long startTime = System.currentTimeMillis(); long endTime = System.currentTimeMillis();long dTime = endTime - startTime;if(dTime2000)try Thread.sleep(2000-dTime); catch (InterruptedException e) / TODO Auto-generated catch blocke.printStackTrace();12、 添加AlphaAnimation动画效果 AlphaAnimation aa = new AlphaAnimation(0.3f, 1.0f);findViewById(R.id.rl_root_splash).startAnimation(aa);13、 测试异常况好不好用14、 提交代码到SVN服务器06_应用程序的签名_30准备:webservice 上放置一个正式签名的应用1、 显示更新对话框showUpdateDialog(); protected void showUpdateDialog() AlertDialog.Builder build = new Builder(this);build.setTitle(发现新版本);build.setMessage(description);build.setNegativeButton(立刻升级, new OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) /升级的代码;;);build.setPositiveButton(下次再说, new OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) dialog.dismiss();enterHome(););build.show();2、 下载功能,用到afinal下载框架:FinalHttp 判断SDcard代码:if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)下载代码 FinalHttp http = new FinalHttp();/mnt/sdcard/updata.apk Http.download();更新进度代码 int progress = (int) (current * 100/count); tv_splash_updateinfo.setText(下载了:+progress+%);3、 添加SDcard写权限3、 调用系统安装工具安装APK private void installAPK(File t) Intent intent = new Intent();intent.setAction(ent.action.INSTALL_PACKAGE );intent.addCategory(ent.category.DEFAULT);intent.setDataAndType(Uri.fromFile(t), application/vnd.android.package-archive);startActivity(intent);4、 安装失败5、引入apk签名 在Android手机里不允许有两个应用程序有相同的包名; 假设A应用的包名:com.itheima.mobilesafeA; A应用已经在系统中存在了。 这个时候再去安装一个应用B ,他的报名也叫 con.itheima.mobilesafeA 系统就会去检查这两应用的签名是否相同。如果相同,B会把A给覆盖安装掉; 如果不相同 B安装失败; 要想自动安装成功,必须保证应用程序不同版本的签名完成一样。6、 签名演示7、 签名两个应用1.0和2.0,并演示升级不成功和升级成功:如果签名搞丢了怎么办07_Splash界面的细节_6 准备:启动webserver服务器 1、显示4.0的样式:方式是去掉功能清单里的Activity对应的android:theme; 放到application里面; 2、当splash页面弹出升级提示框过滤点击返回的是两种方式: 一、builder.setCancelable(false); 二、设置setOnCancelListener 当触屏的时候直接进入主页面08_两种上下文的区别_8 对话框是Activity的一部分。 对话框是挂载在Activity上面的 。 如果Activity不存在,对话框就不能被创建。 Activity 实际上是应用程序context上下文的一个子集。 子类有的东西父类不一定有 父类有的东西子类一定有 getApplicationContext();生命周期长,只要应用还存活它就存在; this 生命周期短,只要Activity不存在了,系统就会回收; 其中:getBaseContext(),getApplication(),getApplicationContext(); 都不能放在AlertDialog做上下文; getApplicationContext() 使用场景是比如频繁需要操作的数据库 推荐用法:Activity.this 09_应用程序主界面_151、画图九宫格和列表 功能列表颜色值:#8866ff00 textSize:22sp Names:手机防盗、通讯卫士、软件管理 进程管理、流量统计、手机杀毒 缓存清理、高级工具、设置中心10_自定义可以滚动TextView_10; 写完主页面后 Button 有文字滚动 FocusedTextView11_自动更新的组合控件_50 准备:开启webserver服务器 1、每次都升级消耗多余的流量 2、在主页面增加点击事件进入设置类; 3、创建SettingActivity类,并在功能清单文件配置; 4、SettingActivity的布局文件,基于activity_home.xml修改; 5、运行可以点击进入设置中心; 6、开始写设置里的布局文件了,参照系统的设置里的“位置服务” 7、布局文件 8、抽取出来单独类SettingItemView 9、单独的布局文件setting_item_view.xml 10、演示多个设置条目当时的方便; 11、相应组合控件的点击事件; 12、判断组合控件是否被选中,其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字孪生在城市交通拥堵治理中的交通流量预测与应用报告
- 2025年农业保险产品创新与服务优化对农业保险行业可持续发展的贡献报告
- 2025年城市轨道交通智慧运维系统与智能设备故障预测模型研究报告
- 2025年新型建筑保温材料在建筑节能产业市场拓展中的应用报告
- 自考专业(建筑工程)题库检测试题打印含完整答案详解【名师系列】
- 中级银行从业资格之中级银行业法律法规与综合能力综合提升练习试题附完整答案详解(考点梳理)
- 中级银行从业资格之中级银行业法律法规与综合能力综合检测题型汇编附参考答案详解(研优卷)
- 自考专业(计算机网络)能力提升B卷题库及参考答案详解(典型题)
- 物流绿色低碳智能配送解决方案
- 环保公司固定资产管理规定
- 2025年财政管理知识竞赛题库及答案
- 满意度调查测评方案
- 区域产业协同发展面试题
- 当归种植培训课件
- 三年(2023-2025)中考语文真题分类汇编(全国)专题22 议论文阅读(解析版)
- 学习2025年初中初三开学第一课专题
- 2025年浙江省教师招聘考试(语文)历年参考题库含答案详解(5卷)
- 医学类案例教学法
- 2025巡护员考试题库及答案
- 2025文化和旅游部直属事业单位招聘社会人员29人模拟试卷附答案详解
- 产前准备课件
评论
0/150
提交评论