• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

XiaoXiaoli

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

android_Activity

目录 (活动的基本用法)

活动的创建

创建和加载布局

在AndroidManifest文件中注册

在活动中使用Toast

在活动中使用Menu

使用显示Intent

使用隐式Intent

在活动之间传递数据

 

1 首先创建一个新工程,使用的IDE为android studio。

Company domain,公司的域名,用来区分各个应用的重要标志。

Package name,域名的逆序。

Layout Name,名字是小写,一个Layout 对应一个Activity Name(类名)。

Override 代表,该方法为重写的方法。onCreate是当窗口MainActivity第一次被创建时,自动调用,方法中的语句setContentView设置内容视图,参数为资源文件。

res目录代表,android下中的各种资源文件。其中layout中的xml文件就是布局文件。

其中组件,TextView主要用来显示一些文本。ConstraintLayout布局。

对于任何组件来说,有几个属性是必须要添加的,如 id属性。

text文本为小写,但是效果图中文本显示都为大写。

通过设置AndroidManifest.xml文件中的theme设置主题。

ctrl + 单击进入,设置主题界面,添加一行设置。

 

回到 MainActivity.java中,为按钮对象添加Button类。添加Button类时,对于的包会自动的导入。

创建和加载布局。

接下来和布局文件配合,加载布局。通过findViewById函数,函数的参数是按钮资源的id。R.id.Button1,代表的是按钮资源的id。

接下来通过按钮的点击,使用Toast一般用于显示简单的文本提醒。

在AndroidManifest文件中注册。

AndroidManifest文件中用于应用程序的必要配置,比如icon图标,label,Activity左上角的名称。

如果有新的activity出现需要在文件中注册,需要说明名字是什么(.前面是默认的包名)。

为按钮添加监听器,setOn开头的方法有很多,setOnClickListener,方法的参数可以是一个匿名的接口。接口都是抽象类,实现接口需要重写接口中的抽象方法。

在活动中使用Toast

使用Toast.makeText()方法,需要传入三个参数,上下文,显示文本,Toast显示的时长。

将创建的方法添加进onCreate方法中,因为onCreate方法在MainActivity第一次创建时被加载,创建的方法也会被执行。

 在活动中使用Menu

选项菜单

在res下新建一个文件夹,资源文件夹的名字必须为menu。在menu下,新建Menu resource file,名字为menu,打开menu.xml添加属性。

id   title

光有资源还不行,实现方法。onCreateOptionsMenu(),该方法是一个重写方法,主要用来创建选项菜单。getMenuInflater在方法中调用,inflate用菜单资源器实现调用,参数为资源,

getMenuInflater().inflate(R.menu.menu,menu);这段代码可以帮助我们将菜单从资源文件中调用出来。
使用闪电的方法,重新加载会更快。

2个菜单项的点击,重写一个成员方法,onOptionItemSelected(),当选项菜单被点击时,会被自动调用。有连个菜单,通过判断哪个item_id来判断按下了哪个菜单项。

显示Intent

使用Intent,再增加一个Activity。在主包下,新建一个Activity。

设置新建窗口的属性,Activity name, layout name,布局文件的名字必须是小写。点击创建完成后,等待构建工作和同步工作完成。

创建完成后,在对应的java文件中,有一个默认创建方法,用于第一次创建窗口时,调用的方法。onCreate,在函数中帮助我们加载了布局setContentView。

在AndroidManifest文件中自动注册了Activity。其中intent-filter的action行为表示该activity为主类,category这个application中首先启动的Activity。

接下来实现功能,点击按钮,跳转到第二个Activity,实现这个需要Intent帮助。

创建一个Intent类对象,它的构造方法需要2个参数,第一个从哪个窗口出发,第2个打开哪个窗口。这是显示的Intent。然后启动Intent,将Intent参数传入。

这样是指名道姓的使用哪个Activity。

隐式Intent

创建一个Intent对象,需要为其添加过滤器,添加一个action,使用自定义的action,category使用DEFAULT(默认的类别)。

在创建的Intent对象中使用action。

通过隐式Intent调用系统应用。

调用系统的拨号行为:

设置隐私意图的行为,设置数据。

此时应用停止运行了,通过Logcat,通过关键字搜索,找到错误原因。

 

这里报错,安全问题。

在AndroidManifest添加权限的申请。

还有别的系统调用,比如打开系统的设置窗口,在setAction("android.settings.Settings")

通过文档,可以查看详细的Action介绍。

在活动间传递数据

调用显示的Intent使用putExtra...方法名相同,但是参数不同。

在另一个Activity中创建一个意图,接受传递过来的意图,getIntent,使用getStringExtra(数据名),使用日志打印数据,Log.d(标签, 传递的数据);

 

从第二个窗口,向第一个窗口传递数据,第一窗口需要用到startActivityForResult();两个参数,i 1intent 2一个整型值,同时需要使用函数onActivityResult,当窗口接受到返回结果时,自动调用。当窗口接受到结果时,第一个参数请求码,返回码,需要对上。请求码可能会有很多,需要进行判断。

第二个窗口,通过点击按钮发送一个数据给MainActivity,并关闭窗口。

第二个窗口成功将数据返回出去,第一个窗口成功接受了。

 

posted on 2020-12-07 21:55  XiaoXiaoli  阅读(149)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3