intent

MO Call 拨号流程分析

吃可爱长大的小学妹 提交于 2019-12-06 12:39:47
一、在拨号盘Dialer中点击拨号按钮 /packages/apps/Dialer/java/com/android/dialer/app/dialpad/ DialpadFragment.java 按下拨号按钮后,会调用handleDialButtonPressed()方法 1 public void onClick(View view) { 2 int resId = view.getId(); 3 if (resId == R.id.dialpad_floating_action_button) { 4 view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); 5 handleDialButtonPressed(); 6 } else if (resId == R.id.deleteButton) { 7 keyPressed(KeyEvent.KEYCODE_DEL); 8 } else if (resId == R.id.digits) { 9 if (!isDigitsEmpty()) { 10 mDigits.setCursorVisible(true); 11 } 12 } else if (resId == R.id.dialpad_overflow) { 13

基于android平台的出题软件---- 每日30题

我的未来我决定 提交于 2019-12-06 12:02:53
本app共编写了3个activity,1.Mainactivity作为主界面。2.surface,用来显示随机出的题。3.showresult,用来打印所有做过的题(含结果),一个类function用来随机出题。APK下载链接http://pan.baidu.com/s/1o7fiFNG 开发时间约6个小时 具体调用、跳转如图1 图一 程序整体结构 接下来具体展示每一个模块。 模块1:class:function 使用java自带函数,Random.nextInt()来获得随机数,类中共有两个public L ong类型的数据Former和Latter,Former与 Latter分别表示算术中运算符前及运算符之后的两个操作数。类中共有五个函数,分别是 public long getRandom(int num) public long setPlus(long former,long latter) public long setMinus(long former,long latter) public long setMutiply(long former,long latter) public long setDivide(long former,long latter) getrandom函数用来获取随机数,剩余四个用来设置加减乘除的算式,并返回运算结果。具体代码如下 1

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)方法发送通知,至此,通知便已经发送出去 二、注意事项 创建一个通知时

第七次作业

北慕城南 提交于 2019-12-06 10:52:47
package com.example.myapplication;import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.style.ForegroundColorSpan; import android.view.View; import android.widget.EditText; import android.widget.TextView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity { private EditText et_number; private TextView tv_show; @Override protected void onCreate(Bundle savedInstanceState) { super

Android第三十四天

别说谁变了你拦得住时间么 提交于 2019-12-06 10:26:06
1、什么是适配器? 适配器是一个连接数据和AdapterView的桥梁,通过它能有效地实现数据与Adapter的分离设置,使Adapter与数据的绑定更加简便,修改更加方便。 2、常用的适配器有哪些? BaseAdapter、SimpleAdapter、Arrayadapter;CursorAdapter、SimpleCursorAdapter;PagerAdapter、FragmentPagerAdapter等。 3、一个适配器控件通过一个适配器展示数据的步骤: <1>查找控件; <2>生成数据源; <3>构造适配器对象; <4>把数据和适配器产生联系; <5>把适配器和控件绑定; 控件.setAdapter(适配器); 4、接手一份别人写的代码,怎样快速知道程序当前的界面是哪个活动? <1>首先创建一个BaseActivity继承自Activity,再重写onCreate()方法。在onCreate()方法中获取当前实例的类名,并通过Log打印出来(Log.i("BaseActivity",getClass().getSimpleName();)); <2>让BaseActivity成为项目中所有活动的父类; <3>运行程序,在LogCat中观察相应信息。 5、活动的启动模式一共有四种,可以在AndroidManifest.xml中通过给<activity

Android Browser学习二 BrowserActivity 的初始化 --其他重要模块

血红的双手。 提交于 2019-12-06 08:57:34
BrowserActivity 是浏览器的核心Activity了, 是浏览器的入口, 但是他里面并没有出来很多复杂的逻辑, 只是实现一些android 系统对activity的回调. 这些逻辑交给了Controller来处理, 就让我们一步一步的来看看浏览器是怎么从启动到打开Tab的 吧 首先是初始化Controller, 其时序图如下: Controller 初始化了一堆浏览器运行至关重要的类: 先看一下 onCreate 函数如下: 01 @Override 02 public void onCreate(Bundle icicle) { 03 if (LOGV_ENABLED) { 04 Log.v(LOGTAG, this + " onStart, has state: " 05 + (icicle == null ? "false" : "true")); 06 } 07 super.onCreate(icicle); 08 09 // If this was a web search request, pass it on to the default web 10 // search provider and finish this activity. 11 //处理来自搜索的intent 12 if (IntentHandler

Android 一个apk多个ICON执行入口

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-06 08:53:11
方法一:使用Activity的属性process,不同的Activity是运行在不同的进程中 一个工程对应一个 Android Manifest.xml文件,这个文件中包含有该项目的一些设置,如权限、SDk版Activity、Service信息等。一般而言,这个文件中会有且仅有一个application节点,这个节点表示这是一个应用程序,不管它下面还有多少子节点如Activity、Service等等。形象的说,就是这个项目生成的apk安装到 Android 设备后,应用程序列表中会出现一个ICON,这个ICON就是这个程序的执行入口了。 但是,某些情况下,我们需要为我们的apk设置多个执行入口,也就是安装后在应用程序列表中出现多个ICON图标,各个ICON是APP不同模块的入口点,并且各个模块运行在不同的进程中。 可能这种需求很少见,但还是有一个现实的例子:系统中的联系人和电话这两个程序。表面看来这是两个独立的应用程序,但实际上它们只是一个应用程序的两个执行入口而已,点击联系人图标就会进入联系人界面,点击电话图标就会进入拨号界面,这都是通过设置该项目下Activity的属性来实现的。 Activity有一个重要的属性process,这个属性是指定Activity运行时所在的进程。没有指定此属性的话,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一致

安卓入门笔记之Activity信使—intent

北城以北 提交于 2019-12-06 08:51:27
本文来自 Legend 的 博客园 博客,作者给了不错的小结,下回分解~ Android Intent详解 一、 Intent 作用 Intent 是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯。比如说调用startActivity()来启动一个activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver, 再或者由startService()/bindservice()来启动一个后台的service.所以可以看出来,intent主要是用来启动其他的activity 或者service,所以可以将intent理解成activity之间的粘合剂。 【记得另外一份资料里看见过,activity就是手机的屏幕显示内容,intent就是不同屏幕的粘合剂。】 二、 Intent的构成 要在不同的activity之间传递数据,就要在intent中包含相应的东西,一般来说数据中最基本的应该包括: Action 用来指明要实施的动作是什么,比如说ACTION_VIEW, ACTION_EDIT等。具体的可以查阅android SDK-> reference中的Android.content.intent类,里面的constants中定义了所有的action。 Data

Intent在Activity之间传值的几种方式

旧街凉风 提交于 2019-12-06 08:51:17
发这篇博客主要讲一下Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本 2:八种数据类新对应数组和CharSequece文本数组 3:Bundle传值 4:ArrayList集合 5:Serializable传递对象 6:Parcelable传递对象 在 main.xml 布局文件中添加六个Button控件,分别是六种传值方式。 Activity代码如下: package com.example.transmittingdata; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; /*** * * Intent传值包含 * 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本 * 2:八种数据类新对应数组和CharSequece文本数组 * 3:Bundle * 4:ArrayList集合 5:Serializable传递对象 * 6:Parcelable传递对象 * *

[Android] Intent对象

半腔热情 提交于 2019-12-06 08:50:44
Intent对象-Intent Objects Intent 本 身是一个消息的集合。他包含那些传递给接收Intent的组件的信息(such as the action to be taken and the data to act on)和传递给Android系统的信息(例如应该绑定到Intent上的组件的类别和如何启动目标activity的指南)主要的,他包含了以下几点: 组件名-Component name 组件的名字是应该可以处理Intent,为其指明目标的。这一段所描述的就是关于 ComponentName 的--他是目标组件的类名的联合体(例如 "com.example.project" )。组件名字中所包含的包名的部分不需要必须与manifest文件中的包名相匹配。 组件的名字是非强制性的。如果他是固定的,那么Intent就会被传递给指定名字的类的实例,如果他不是固定的,那么Android就会通过 Intent中的其他信息找到合适的目标--可以查看本文档以后的提到的#Intent解决方法-Intent Resolution|Intent解决方法-Intent Resolution。 组件名字可以通过 setComponent() , setClass() 或 setClassName() 来设置,通过getComponent()来读取。 动作-Action