问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

不太明白,为什么Android可以多个APP运行在同一个进程下

发布网友 发布时间:2022-05-13 03:48

我来回答

1个回答

热心网友 时间:2023-11-16 07:07

  我们先了解一下编写程序都要涉及到哪些东西,熟悉一下SDK的基本组件,然后编写一个很简单的小程序。一、分析Demo  在上一节建立的工程Demo下,打开src/com.android.demo下的DemoActivity.java,如下所示:  713x451  Demo程序的代码就只有13行,我们依次来分析一下:    1  2  3  4  5  6  7  8  9  10  11  12  13  package com.android.demo;  /** 申明这个文件的代码属于包“com.android.demo” */  import android.app.Activity;/** 从Android SDK中引用Activity组件 */  import android.os.Bundle;  /** 从Android SDK中引用Bundle组件 */  public class DemoActivity extends Activity {  /** 新建类DemoActivity,继承Activity,它就拥有Activity的特性了 */  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState) {  /** 重写基类的同名函数,程序运行候创建Activity时被调用 */  super.onCreate(savedInstanceState);   /** 调用基类的同名函数 */  setContentView(R.layout.main);     /** 设置试图,用于显示界面 */  }  }  第1行,声明代码属于哪个包,这里的包名得与文件所在的包对应上,否则会报错。  第3、4行,引用组件。这里的“引用”并不像其他语言的include那样将文件包含进来,只是告诉编译器,后面会使用到这里面的成员。  关于Package 与 Import的详细说明,$amp;>amp;$gt;请到这里查看。  第6行,新建一个类DemoActivity,继承Activity。JAVA是一门完全面向对象的语言,所有东西都要封装在类里面,之前不熟悉面向对象的朋友估计会很不习惯(话说我之前用PHP做WEB开发,哪里都能写实现…)。DemoActivity类继承了Activity的特性,就属于一个“Activity”了(前面提过,Activity是Android中的基本组件之前,非常之基础,任何有界面的程序都有它)。  想深入了解“面向对象”的同学,$amp;>amp;$gt;请到这里查看。  第9行,重载onCreate函数。有编程经验的同学看到on前缀就知道这个函数是个回调函数,属于小受受,只能“被”,它在Activity这个界面开始创建时被调用。  第10行,调用基类的同名函数。基类还有些事情要处理呢,得通知他。  第11行,指定用哪个视图来显示界面。从字面上可以看到setContentView(R.layout.main),采用R.layout.main作为试图,那么R.layout.main代表什么?我们要修改的话从哪里下手呢呢?  我们在上一节介绍工程文件的时候介绍过一个由IDE自动维护的文件夹gen,里面有个R.java文件,有同学可能明白了,这里就是引用里面的内容,如下所示:  image  R.layout.main就是R.layout类里面的一个属性,值为0x7f030000,一个资源ID,那么它指向哪里呢?  image  上图可以看到,真正的视图布局文件在这里。上一节讲过,res文件夹下的资源会自动在R.java里面生成记录,现在看到确实是如此。至于那个资源ID是根据什么规则生成的,那就没研究了,反正他自动维护,我们乐得清闲。  一会儿我们要修改程序界面就可以从这里入手。  Demo程序的代码部分就这么多,是不是觉得其实并没那么难?呵呵。  █ 学过JAVA的同学可能会有疑问了:怎么没有入口函数呢?  我们编写Android程序是在Android SDK下进行的,SDK在背后完成了很多工作,包括程序从哪里运行、怎么渲染视图等等,我们只需要写程序的逻辑部分、视图部分,对于这个程序里的代码来说,DemoActivity类就相当于一个入口了(姑且称之为入口Activity吧),这和原生的JAVA编程是有一点不一样哈。  █ 喜欢动脑经的同学会想:一个程序可能有多个界面,就有多个Activity,那么怎么知道该选择哪个Activity为入口呢?  上一节还提到过一个全局配置文件AndroidMainifest.xml,我们打开看看:  image  我们可以看到,在这个文件里面配置了所有Activity的信息,DemoActivity里面有两个intent-filter,<action android:name="android.intent.action.MAIN" />,<category android:name="android.intent.category.LAUNCHER" />,发现了LAUNCHER字样,可以猜测这个就是入口标记,我们一会儿验证一下。二、新建一个Activity  我们新建一个Activity,脱离自动生成的DemoActivity试试  image  在src下的com.android.demo上点击右键 –> New –> Class  image  Name处填写类的名称,在这里我们填写launcherActivity,Superclass处我们填写android.app.Activity,就是Activity的基类,其余的不用修改,点击”Finish“,结果如下图所示:  image  可以看到,launcherActivity新建好了,还自动生成了部分代码,真方便。  糟了,DemoActivity类是大写字母开头的,我们的是小写的l开头,还是统一一下吧:  在launcherActivity.java中直接修改类的名称,将l修改为L,发现IDE报错了(因为JAVA是区分大小写的,类名必须和文件名一样),把鼠标移动到错误的地方,弹出修改建议,我们选择”Rename compilation unit to…“,
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人民币贬值对人民有什么影响 长春市办理设立个人律师事务所需要什么材料? 学生签证的延期都需要以下材料: 米3手机套彩绘小米3彩膜 骑马与砍杀光明与黑暗泡菜编队方法 陈染相关作品介绍 万紫千红是指什么生肖,精准已答落实 十二生肖谁是万紫千红 手机里带的网络电视怎么联接到笔记本电脑上看呢? ...手机,电脑连上网了,智能电视能连上看电视吗,怎样能看智能电视_百度... unity3d 生成的安卓vrdemo怎么打开 安卓开发 怎么获取 收到短信的内容 有DEMO最好了 求大神分享个人脸识别安卓的demo啊,急! android things demo怎么运行 虹软人脸识别安卓版本demo怎么实现切换前后摄像头? 安卓studio中怎么把别人的demo修改成自己的包名 固定窗塑料型材窗框截面宽度应该为多少? 最烦一种人不会唱歌非要唱,而且只会唱那么一句!能唱完整我都不说他,反反复复的唱那一句! 不会唱歌的儿子要参加唱歌比赛,母亲该怎么办 不会唱歌是一种什么体验? 本人五音不全...周末要去KTV被*唱歌...求几首不易跑调流行歌曲 ..最好是周董的... 一个不会唱歌跳舞的人突然被要求唱跳三分钟……有什么歌曲舞蹈简单易学的,不要儿童歌 男朋友要我给他唱歌怎么办啊,我都不会啊,唱什么好,关键不会唱啊 不会唱歌的人,如果被邀请去KTV应该选那些歌? 我不会唱歌,他们逼我怎么办啊?? 有时候硬被同事们拉出去唱歌,单位让唱个歌什么的,但是不会唱,坐着很尴尬,很别扭,怎么办? 被朋友叫去唱k,但是不会唱歌,怎么办? 不会唱歌,然后被老师逼着上学校的歌唱比赛, 去ktv唱歌,但是不会唱却一直被逼着唱是怎样一种体验? 被女孩子请去KTV唱歌,自己不怎么会唱,唱歌不好听怎么办 四川乐山福华集团 王川红的个人履历 洗洁精 乳化液 清洗剂 洗衣粉 洗涤剂 洗手液 洗衣液 火碱 什么牌子好?怎么加盟 代理 招商 iphone11容量不够用怎么办 爱车作业大征集,为爱之选,吉利博瑞助力我们美好未来 左膝盖痛怎么回事?左腿膝盖内侧面疼,弯曲,上下 左膝盖弯曲的时候明显不舒服,怎么回事? 我左膝盖有时弯曲时剧烈疼痛 我左膝盖弯曲是痛是什么原因 苹果6s plus怎么换卡槽 苹果6spuls卡槽差反了怎么办 为什么使用 springmvc mybatis 声特D2Air值得买吗?? 想问下声特(soundtop)的功放和线材怎么样,像没听过这个牌子,还请懂的人介绍一下!? 有人听过声特SpearX这个耳机品牌吗??? 声特SpearX的耳机好用吗? 声特SpearX MH505和声特SpearX D1BT的区别在哪?求教! 声特SpearX D1BT蓝牙耳机的音质怎样?听说蓝牙的效果会差一点的? 贵阳华科声特信息有限公司怎么样? 夜静声特大怎么形容?