activity

Android有用代码片段(二)

穿精又带淫゛_ 提交于 2019-11-30 08:36:18
记得2011年的时候,整理了 android有用代码片段 这篇文章,后来,越添加越多,很是不方便,决定,每20条为一篇,分开记载,很多内容是从别的博客上面转载而来,由于疏忽没有说明来处,敬请作者谅解! 二十一、获取手机屏幕分辨率 [java] view plain copy DisplayMetrics dm = new DisplayMereics(); getWindowManager().getDefaultDisplay().getMetrics(dm); float width = dm.widthPixels * dm.density; float height = dm.heightPixels * dm.density 在这里问什么要乘以 dm.density 了,是因为通过dm.widthPixels的到的结果始终是320,不是真实的屏幕分辨率,所以要乘以dm.density得到真实的分辨率。 二十二、在Activity里面播放背景音乐 [java] view plain copy public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.mainlay); mediaPlayer =

安卓入门笔记之Activity

筅森魡賤 提交于 2019-11-30 08:35:34
——本文来自博客园 Tekkaman 的博客 Android之Activity , IBM的developerWorks网站 张勇 的 详解Android的Activity组件 一文 ,CSDN博客 hpoi 的博客 Android Activity的生命周期 , 感谢 zzxap 在CSDN论坛的自问自答—— 安卓工程运行是如何指定初始页面的 droid工程运行是如何指定初始页面的 【 Activity 】 activity类处于android.app包中,继承体系如下: 1.java.lang.Object 2.android.content.Context 3.android.app.ApplicationContext 4.android.app.Activity activity是单独的,用于处理用户操作。几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当 activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating的主题集合),或者嵌入到其他的 activity(使用ActivityGroup)。大部分的Activity子类都需要实现以下两个接口: onCreate(Bundle

Android 避免内存泄漏

岁酱吖の 提交于 2019-11-30 05:44:02
什么是内存泄露?   就是该回收的内存由于种种原因没有被回收,还驻留在内存中。 内存泄露有什么影响?   可能一处小小的内存泄露就会导致整个应用卡顿,甚至崩溃。 例子说明:   Toast.makeText(MainActivity.this,"Hello",Toast.LENGTH_SHORT).show();   这段代码可能会出现内存泄露。 为什么说可能会造成内存泄露?   如果在Toast消失之前,Toast 持有了当前的 Activity,而此时,用户点击了返回键,导致 Activity 无法被 GC(Garbage Collection垃圾回收) 回收,这个Activity 就引起了内存泄露。 解决方法?   所有和当前 Activity 无关的 Context 都可以传入,避免内存泄露的方法同样使用其他需要传入 Context 的地方。(这句话我表示理解不了)如下 Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();   getApplicationContext()是整个应用的上下文,不会持有某个 Activity 对象。 注意   dialog的上下文不能使用getApplicationContext(),程序会崩掉,dialog实例化必须持有 Activity对象。

Android压力测试命令monkey详解

╄→гoц情女王★ 提交于 2019-11-30 05:21:49
一、Monkey 是什么? Monkey 就是SDK中附带的一个工具。 二、Monkey 测试的目的? :该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。 三、Monkey 测试的特点? Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。 四、Monkey 命令详解 1).标准的monkey 命令 [adb shell] monkey [options] <eventcount> , 例如: adb shell monkey -v 500 --------产生500次随机事件,作用在系统中所有activity(其实也不是所有的activity,而是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。 上面只是一个简单的例子,实际情况中通常会有很多的options 选项 2).四大类—— 常用选项 、 事件选项 、 约束选项 、 调试选项 1:常用选项 复制代码 代码如下: --help:打印帮助信息 -v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。 2:事件选项 复制代码 代码如下: -s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。 如: -s 200 --throttle

Android 两个Activity之间信息的交互

谁说我不能喝 提交于 2019-11-30 04:29:07
出处: http://blog.csdn.net/veryitman/article/details/6611138 感谢 原文作者,整个逻辑很清楚,这备份下 多个 Activity 之间可以通过 Application 共享数据,在这里我就让两个 Activity 共享 Handler(更新UI,我一般使用 Handler),主 Activity 中更新 UI,另一个 Activity 发送更新UI的消息。这样就达到在主Activity更新UI的目的。好吧,具体看代码! 1. 主 Activity 的 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=

三分钟了解Activity工作流

怎甘沉沦 提交于 2019-11-30 04:09:23
一、 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑 采用工作流技术的公司的请假流程是这样的 员工使用账户登录系统——点击请假——上级登录系统点击允许 就这样,一个请假流程就结束了 有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工作都会在上级点击允许后自动运行! 这就是工作流技术。 Georgakopoulos给出的工作流定义是: 工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完 二、 工作流技术的优点 从上面的例子,很容易看出 工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。 而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。 三、 Java开发者会为什么要学Activity工作流 在Java领域,JBPM和Activity是两个主流的工作流系统

Android快速定位当前页面的Activity

寵の児 提交于 2019-11-30 03:50:49
通过AndroidStudio的Terminal,利用一个指令可以快速定位当前页面的类名。 1.把手机用数据线连到电脑,手机打开到需要的定位的页面。 2.打开AndroidStudio。在AndroidStudio底部选择Terminal,输入指令: adb shell "dumpsys window | grep mCurrentFocus"回车即可。 会显示出包名和Activity类名 主意的是这个命令只能定位Activity,如果是fragment则显示该fragment所依附的Activity. 来源: https://blog.csdn.net/kururunga/article/details/101055002

安卓安全学习之从环境搭建到activity劫持

时光总嘲笑我的痴心妄想 提交于 2019-11-30 02:44:27
安卓环境的搭建 方法1 :eclipse+sdk+ADK+JDK 百度: https://blog.csdn.net/u013926216/article/details/81784745 方法2:eclipse+adt-bundle 下载地址: http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20131030.zip 方法3:JDK+Android Studio www.gendan5.com 安卓框架简要说明 1.Android 操作系统是一个软件组件的栈,分为五部分和四个主要层 android 四个主要层从底层到应用分别是 1).linux 内核层 (linux kernel) 提供大约115 个linux 补丁,提供了基本的系统功能,进行管理,内存管理,设备管理等 2).程序库分为两个部分 android 程序库 基本的java程序库,比如是用户界面构建,图形绘制和数据库访问 android 运行时 这个部分是Dalvik虚拟机的关键组件, 3)应用框架 以jiava的形式提供很多的高级服务, 比如:活动管理者,内容管理,资源管理,视图管理等。 4)应用程序 就是android 程序,比如游戏等 2.安卓应用程序组件: 主要为以下四大组件 Activities 描述UI 并且处理用户和机器屏幕的交互

Dagger2 探索记1——四大基本组件(一)

被刻印的时光 ゝ 提交于 2019-11-30 02:21:03
和很多自主学习的人,我接触Dagger 2 框架的原因是刚进公司的时候导师给安排的学习任务,学习方式是组内培训。 听到这个消息的我,以为是部门的人轮流给我讲课。 后来导师跟我说,组内培训的意思是,我先自己好好学这个框架,然后给组内的所有人搞个培训。 没办法,在网上看了很多相关博客,浪费了不少时间,终于还是学有所得,也记录一下我最近的学习进展。 就不多讲什么历史了,你能看到我这篇博客,想来历史什么的科普你都已经被塞到吐了,还是撸代码学得快。 一 环境配置 在module的build.gradle中添加代码: dependencies { ...... //dagger2 implementation 'com.google.dagger:dagger:2.7' annotationProcessor 'com.google.dagger:dagger-compiler:2.7' //butterknife implementation 'com.jakewharton:butterknife:10.0.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0' } 为了后面书写代码简便,将ButterKnife一起配置了。 在Project build.gradle中添加如下代码

使用ActivityGroup来切换Activity和Layout(LocalActivity...

元气小坏坏 提交于 2019-11-30 02:10:02
前言    在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。 Intent.FLAG_ACTIVITY_CLEAR_TOP Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP 正文   一、效果图          要求点击底部不同图片按钮切换不同的Activity,并在中间显示Activity对应的ContentView。   二、 实现代码     2.1  layout.xml <? xml version="1.0" encoding="utf-8" ?> < LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="fill_parent" android:orientation ="vertical" android:layout_height ="fill_parent" > < LinearLayout android:gravity ="center