android
配置Activity 的启动模式:
在 AndroidManifest.xml 中配置:
<activity android:name=".MainActivity"
android:launchMode="standard"> 默认也是 standard 模式,此种模式下,activity 是保存在任务栈中 默认 button 上面的文字都是 大写的,在 android:textAllCaps="false" 可设置小写 。
android:launchMode="singleTop" : 如果在同一个栈里, 如果Activity 处于栈顶, 则只会启动同一个实例,如果不处于栈顶,Activity 会启动多个实例。 在Android模拟器中,将本地电脑的地址映射为10.0.2.2, 所以在 安卓模拟器中访问本地的 web 页面地址是 http://10.0.2.2:port/path 三:通过浏览器链接启动本地Activity:
在Android Studio 中建一个Activity ,名称是 LocalAppAty, 在 AndroidManifest.xml 中给该Activity配置:
<activity android:name=".LocalAppAty">
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"/> //指明该Activity可以被浏览器启动
<category android:name="android.intent.category.DEFAULT"/> <action android:name="android.intent.action.VIEW"/> //一个浏览器的链接被点击后,会发送该 VIEW 的 action
<data android:scheme="app"/> //app 是协议的名字,浏览器会认定只要是通过这个协议来启动的,都会来启动这个activity。
</intent-filter>
</activity>
</application> 在本地的web页面增加一个超链接:
<a href="app://123">Launch My App123</a>
在模拟器浏览器中访问 web页面,点上面的超链接,就会打开 上面的 activity 。 在Activity 中获取传递的数据:
Uri uri = getIntent().getData(); //getIntent() 获取启动此Activity 的intent对象。
System.out.println(uri); //输出: app://123
System.out.println(uri.getHost()); //输出: 123 四: 在android里,要访问全局信息,需要通过Context 。 五:在多个Activity 之间可以使用Application进行数据共享,Application对同一个应用程序是唯一的。
比如要共享两个Activity 的一个字符串,建立Application 如下:
public class App extends Application {
private String textData = "defalut"; //使用TextData保存多个Activity 之间的数据。
public void setTextData(String textData) {
this.textData = textData;
}
public String getTextData() {
return textData;
}
}
在某个Activity 中 保存数据到 App:
((App)getApplicationContext()).setTextData(editText.getText().toString()); 在另一个Activity 中可以读取App保存的数据:
textView.setText("共享的数据是:" + ((App)getApplicationContext()).getTextData());
Application 在 Activity 之间创建。
android的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- Android UI体验之全屏沉浸式透明状态栏效果
前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...
随机推荐
- 为什么你SQL Server的数据库文件的Date modified没有变化呢?
在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半 ...
- 在centos7(EL7.3 即 kernel-3.10.0-514.X )上安装BCM4312无线网卡驱动要注意的问题
我新装的centos7主机无法使用里面自带的网卡,查询后发现网卡型号为BCM4312.我在看资料安装的过程中遇到了些问题,纠结了好久,现在分享下要注意的点,为后来的遇到同样问题的人提供点帮助.现在开始 ...
- Unity C#最佳实践(上)
本文为<effective c#>的读书笔记,此书类似于大名鼎鼎的<effective c++>,是入门后提高水平的进阶读物,此书提出了50个改进c#代码的原则,但是由于主要针 ...
- fmt标签把时间戳格式化日期
jsp页面标签格式化日期 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f" %> ...
- 微软Visual Studio Code 0.8.0发布,新增多种主题
月30日,Build 开发者大会上,正式宣布了 Visual Studio Code 项目;并将其定义为:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和 ...
- MyBatis4:动态SQL
什么是动态SQL MyBatis的一个强大特性之一通常是它的动态SQL能力.如果你有使用JDBC或其他相似框架的经验,你就明白条件串联SQL字符串在一起是多么地痛苦,确保不能忘了空格或者在列表的最后的 ...
- 在 Linux 中使用 Eclipse 和 Gnu Autotools 管理 C/C++ 项目
在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get.yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法.但是长期混迹于 U ...
- Fedora 22中的日期和时间配置
Introduction Modern operating systems distinguish between the following two types of clocks: A real- ...
- ABP框架 - 日志
文档目录 本节内容: 服务端 获取Logger(记录器) Logger的基类 配置 Abp.Castle.Log4Net 包 客户端 服务端 ABP使用Castle Windsor的日志记录工具,它可 ...
- [译]ZooKeeper recipes-引言
ZooKeeper高级应用 本系列将指导使用ZooKeeper来实现高级功能,所有功能都在客户端完成,不需要ZooKeeper的特殊支持.希望可以得到社区的支持将这些加入到一个标准的客户端类库中(Cu ...