activity

Android启动Activity的两种方式

 ̄綄美尐妖づ 提交于 2019-12-06 19:45:40
Android 中启动Activity的两种方式 Android中Activity的启动方式有两种,分为显式调用和隐式调用。而这两种方式却存在很大的区别,下面将介绍他们是如何启动和他们之间的区别在哪 首先是显调用,其实显式调用很简单,而且也是日常开发中使用得最多的。两行代码的事,哈哈; btn .setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity. this ,SecondActivity. class ); startActivity(intent); } }); 这样就成功地启动了SecondActivity;是不是很简单,不说了,哈哈,这不是本文的重点,那我们就来看看显式调用和他有何不同 想要通过隐式调用的方式启动Activity,那么Intent必须能够匹配目标Activity的IntentFilter中的过滤信息,如果不匹配将无法启动目标组件,而IntentFilter中的过滤信息包括action、category和data。我们先来看个例子: 首先SecondActivity在manifests中的配置如下 < activity android :name= "

课设报告

岁酱吖の 提交于 2019-12-06 18:56:35
1. 基于 Android 的 用户信息管理与学习 系统设计与实现 1.1 系统需求分析 3 1.1.1 操作可行性 3 1.1.2 功能分析 3 1.2 系统总体设计 3 1.2.1UML 类图 3 1.3 系统 测试 4 1.3.1 首页界面 4 1.3.2 “我”的界面 4 1.3.3 课程界面 4 1.3.4 注册界面 5 1.3.5 登录界面 5 1.3.6 设置界面 6 1.3.7 修改密码 6 1.3.8 设置密保 7 1.3.9 找回密码 7 1.3.10 个人资料 8 1.4 系统实现 9 1.4.1 清单文件 9 1.4.2 主要代码 10 1.5 技术说明 22 2. 课程设计总结 22 2.1 总结 22 1. 基于 Android 的 用户信息管理与学习 系统设计与实现 1.1 系统需求分析 1.1.1 操作可行性 系统的操作可行性是一个系统成功与否的关健,在很多系统中操作的合理性经常成为用户讨论的焦点,所以说系统设计的合理性既是需要考虑的关键也是对用户选择此系统的主要吸引力。 该系统的功能不能单一,这样既保证了用户的部分需求,也不会显得杂乱。 1.1.2 功能分析 本系统“用户信息管理与学校”包含首页、学习课程、用户注册、用户登录、个人资料、设置、修改密码、设置密保、找回密码、修改个人信息10个功能。 1.2 系统总体设计 1.2.1UML 类图 1.3

第七次作业2

痞子三分冷 提交于 2019-12-06 18:15:28
Fragment (碎片)是一种嵌入在Activity中的UI片段,它可以用来描述Activity中的一部分布局。如果Activity 界面布局中的控件比较多比较复杂,那么Activity管理起来就很麻烦,我们可以使用Fragment把屏幕划分成几个片段,进行模块化的管理,从而使程序更加合理和充分地利用屏幕的空间。 一个Activity里可以有多个Fragment。 一个Fragment可以被多个Activity重用。 Fragment有自己的生命周期,并能接收输入事件。 Fragment的三个常用类 android.app.Fragment 主要用于定义Fragment android.app.FragmentManager 主要用于在Activity中操作Fragment android.app.FragmentTransaction 对Fragment进行增加删除等操作 为什么要引入Fragment 实际上就是解决同时能够在手机和平板上显示的问题。 Fragment是在Android 3.0才开始引入的,它能让app在现有基础上性能大幅度提高,占用的内存降低,同样的界面,Fragment要比Activity占用的内存少,响应速度Fragment也要比Activty快。 静态的使用 步骤: 创建fragment的xml 自定义Fragment继承自Fragment

安卓课设-音乐播放器

守給你的承諾、 提交于 2019-12-06 16:50:51
目录 一 需求分析... 1 1.1用例分析... 1 二 系统设计... 2 三 系统测试... 3 3.1 测试用例... 3 四 系统实现... 4 附件... 11 一 课设题目... 11 二 技术说明... 11 三 UML类图... 12 四 代码... 12 4.1 清单文件... 12 4.2 布局文件... 13 4.2.2 源文件... 14 4.3 Java代码... 22 一 需求分析 智能手机需要音乐播放器才能播放手机内的音频文件,本软件具备音乐播放器的播放歌曲、歌曲列表、拖动进度等基本功能,同时本播放器界面简洁美观,操作简单便捷。 1.1用例分析 (1) 注册 拥有账号才能登录。 (2) 登录 输入注册的账号和密码登录。 (3) 播放器主页 进入播放页面点击列表中的歌曲或者点击播放按钮都可以实现播放。 二 系统设计 音乐播放器由欢迎页面、注册页面、登录页面、播放器主页、退出登录页面组成。 欢迎页面由一个haunying.xml设置background加一个button组成,在haunying.java中用intent跳转登录页面(运用SharedPreferneces存储在下次打开登录页面可以显示保存的账号和密码)。 登录页面由activity_main.xml设置TextView注册,在MainActivity.java设置跳转注册页面。

AndroidManifest.xml 详解

 ̄綄美尐妖づ 提交于 2019-12-06 15:47:48
AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录。我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息。但是对于这个文件,我们真正又了解多少了,还是只是停留在只会简单的配置,而不明白其中的具体含义,以及为什么要这样设置?今天就让我们来详细的学习一下这个文件里各项参数的具体含义,因为它是整个应用的入口,所以有助于我们更加深入的理解Android。 一、概述:   AndroidManifest.xml是Android应用的入口文件,它描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)。    二、结构图 <?xmlversion="1.0"encoding="utf-8"?> <manifest> <uses-sdk/> <uses-configuration/> <uses-feature/> <uses-permission/> <permission/> <permission-tree/>

组件化框架设计之apt编译时期自动生成代码&动态类加载(二)

限于喜欢 提交于 2019-12-06 12:31:21
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击: https://space.bilibili.com/474380680 本篇文章将继续从以下两个内容来介绍组件化框架设计: apt编译时期自动生成代码 Android动态加载技术基础之类加载(ClassLoader) 一、apt编译时期自动生成代码 第一步 新建一个android项目。 第二步 新建立一个java的Module。注意是javalib。这个lib用来专门写注解就好。 这个lib里面就先放一个注解,叫TestAnno。 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) public @interface TestAnno { } RetentionPolicy.CLASS表示编译时候注解。你需要关系的就是@Target(ElementType.TYPE)这个type是类的注解,可以有方法的,属性的等等。

组件化框架设计之阿里巴巴开源路由框架——ARouter原理分析(一)

£可爱£侵袭症+ 提交于 2019-12-06 12:29:57
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击: https://space.bilibili.com/474380680 背景 当项目的业务越来越复杂,业务线越来越多的时候,就需要按照业务线去分不同的模块去开发,这样专门的人负责专门的业务模块,最终上线由壳工程去负责进行组合打包各个module,完成业务的快速迭代。整个过程会涉及到各个模块间进行通信,比如订单模块和个人中心模块,可能会需要频繁的传递数据和页面跳转,这个时候怎么去处理呢?我们能想到的方案就是采用类名反射,来动态创建需要跳转和交互的类,这样编译时就不会报错,运行时又可以完成模块间的交互。阿里巴巴推出的开源路由框架——ARouter就是基于反射和注解来解决这个问题的,本文不讲基本使用(基本使用在项目的github主页上已经将的非常详细了),通过分析整个路由过程来讲解它的基本原理。 说在前面 首先在我们需要用到的类的类名加上注解@Route(“/group/name”),注意这里需要至少两层路径(第一个是分组,第二个一般是类名)。这个注解就是代表这个类可以被其他模块找到的一个路径的注解,并且它是一个编译时注解,这就意味着在编译时就已经生成了相应的辅助类。ARouter把路由一共分为以下几类: ACTIVITY(0, “android.app.Activity”), SERVICE(1, “android

Android notification的使用实例

淺唱寂寞╮ 提交于 2019-12-06 11:44:24
一、Android中通知的创建流程 注: 为了给许多各种不同的平台提供最好的notification支持,应该使用NotificationCompat以及它的子类,特别是NotificationCompat.Builder,所以以下通知均引用版本 4 支持库中的 NotificationCompat.Builder 类。 通知创建步骤: 通过NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)获得一个通知的Builder对象; 调用mBuilder的方法设置通知属性,如setSmallIcon(int drawable)、satContentTitle(CharSquence title)等为通知设置小图标、内容标题; 通过mBuilder.build()方法获得一个Notification对象; 获得一个通知管理器NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE),通过nm.notify(int id, Notification notification)方法发送通知,至此,通知便已经发送出去 二、注意事项 创建一个通知时

[转]移动APP安全测试

让人想犯罪 __ 提交于 2019-12-06 11:41:35
1 移动App安全 风险分析 1.1 安全威胁分析   安全威胁从三个不同环节进行划分,主要分为客户端威胁、数据传输端威胁和服务端的威胁。     1.2 面临的主要风险       1.3 Android 测试 思维导图    1.4 反编译工具   有两种反编译方式,dex2jar和apktool,两个工具反编译的效果是不一样的,dex2jar反编译出 java 源代码,apktool反编译出来的是java汇编代码。   dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的   jd-gui主要是用来打开Jar包的    2 本地客户端安全 2.1 反编译保护 2.1.1 问题描述   APP源代码对于一个公司是非常重要的信息资源,对APP的保护也尤为重要,APP的反编译会造成源代码被恶意者读取,以及APP的逻辑设计,    反编译方法   我们一般想要反编译一个apk,无非就是想获得三样东西:图片资源、XML资源、代码资源   一. 图片资源获取   首先准备一个apk,这里是一个.apk后缀的文件,我们先把后缀改成,zip,打开zip文件在res目录下,我们就可以获取到我们需要的图片了。   二. XML资源获取   我们可以在刚刚打开的zip文件目录下看到很多.xml的文件,这个xml文件是无法直接打开的

Save State

…衆ロ難τιáo~ 提交于 2019-12-06 10:16:31
Save State Activity: /** * Called to retrieve per-instance state from an activity before being killed * so that the state can be restored in {@link #onCreate} or * {@link #onRestoreInstanceState} (the {@link Bundle} populated by this method * will be passed to both). * * <p>This method is called before an activity may be killed so that when it * comes back some time in the future it can restore its state. For example, * if activity B is launched in front of activity A, and at some point activity * A is killed to reclaim resources, activity A will have a chance to save the * current state of