安卓是什么

android是基于linux内核实现的操作系统,不同与其他系统的是,安卓系统在分配进程时,每个进程先安装了jvm,每个安卓app都运行在独立的jvm上,这样安卓app之间就不会发生冲突了。

安卓基本的内容

Activity

Activity是直接与用户进行接触的界面,一个app里面可以包含一个或多个Activity。
Acitivity里面有一些常见的方法:
首先是Toast()方法,这个方法可以弹出消息框。
  1. ackage com.example.newcardgame;
  2. import android.os.Bundle;
  3. import android.app.Activity;
  4. import android.view.Menu;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. import android.widget.Toast;
  9. public class MainActivity extends Activity {
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. Button button1 = (Button)findViewById(R.id.button1);
  15. button1.setOnClickListener(new OnClickListener(){
  16. public void onClick(View v) {
  17. Toast.makeText(MainActivity.this, "You clicked Button1",
  18. Toast.LENGTH_SHORT).show();
  19. }
  20. });
  21. }
  22. @Override
  23. public boolean onCreateOptionsMenu(Menu menu) {
  24. // Inflate the menu; this adds items to the action bar if it is present.
  25. getMenuInflater().inflate(R.menu.main, menu);
  26. return true;
  27. }
  28. }

Activity中的menu:
手机的屏幕是有限的,为了节约显示空间,安卓系统有menu这一个组件,可以让用户在需要的时候才点击munu来选择一些比较少用的选项,而不是让所有选项都布满整个屏幕。
使用menu很简单,首先是在res文件夹中的menu文件夹中的main.xml文件夹中添加选项:
  1. <menu xmlns:android="http://schemas.android.com/apk/res/android" >
  2. <item
  3. android:id="@+id/action_settings"
  4. android:orderInCategory="100"
  5. android:showAsAction="never"
  6. android:title="@string/action_settings"/>
  7. <item
  8. android:id ="@+id/add_item"
  9. android:title="Add"/>
  10. <item
  11. android:id="@+id/remove_item"
  12. android:title="Remove"/>
  13. </menu>
接着首先是要在Activity中显示menu,用onCreateOptionsMenu方法里面添加getMenuInflater().inflate(R.menu.main, menu);
这行代码,然后是添加点击选项的选择事件,用onOptionsItemSelected方法

  1. package com.example.newcardgame;
  2. import android.os.Bundle;
  3. import android.app.Activity;
  4. import android.view.Menu;
  5. import android.view.MenuItem;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.Toast;
  10. public class MainActivity extends Activity {
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. Button button1 = (Button)findViewById(R.id.button1);
  16. button1.setOnClickListener(new OnClickListener(){
  17. public void onClick(View v) {
  18. Toast.makeText(MainActivity.this, "You clicked Button1",
  19. Toast.LENGTH_SHORT).show();
  20. }
  21. });
  22. }
  23. public boolean onCreateOptionsMenu(Menu menu) {
  24. getMenuInflater().inflate(R.menu.main, menu);
  25. return true;
  26. }
  27. public boolean onOptionsItemSelected(MenuItem item){
  28. switch(item.getItemId()){
  29. case R.id.add_item:
  30. Toast.makeText(MainActivity.this, "you clicked add",
  31. Toast.LENGTH_SHORT).show();
  32. break;
  33. case R.id.remove_item:
  34. Toast.makeText(MainActivity.this, "you clicked remove",
  35. Toast.LENGTH_SHORT).show();
  36. break;
  37. default:
  38. }
  39. return true;
  40. }
  41. }

既然一个Activity是一个界面,一个程序往往是需要在多个界面之间转换,因此需要一个中转的组件,Intent就是一个这样的组件,他实现Activity之间的切换,还帮助页面之间传递数据。
Intent有两种用法,显示Intent和隐式Intent
显示Intent,顾名思义就是用new方式创建的Intent里面指明需要切换的Activity
首先先创建一个新的Activity,并且在layout里面设置新的界面。在Activity通过创建Intent来创建新Activity
  1. package com.example.newcardgame;
  2. import android.os.Bundle;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.view.Menu;
  6. import android.view.MenuItem;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.widget.Button;
  10. import android.widget.Toast;
  11. public class MainActivity extends Activity {
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.activity_main);
  16. Button button1 = (Button)findViewById(R.id.button1);
  17. button1.setOnClickListener(new OnClickListener(){
  18. public void onClick(View v) {
  19. Intent intent = new Intent(MainActivity.this,SecondActivity.class);
  20. startActivity(intent);
  21. }
  22. });
  23. }
  24. }
隐式Intent

隐式Intent不用在new Intnt的时候指明需要转换的Acivity只需要指明action类型和种类,在AndroidMainfest.xml文件种配置每个Acitvity的种类,在程序运行的时候就会通过拦截器实现找到实际实现的Activity。
  1. <activity android:name=".SecondActivity">
  2. <intent-fileter>
  3. <action android:name="com.example.activityest.ACTION_START" />
  4. <category android:name="android.intent.category.DEFAULT" />
  5. </intent-filter>
  6. </activity>
  1. button1.setOnclickListener(new OnClickListener(){
  2. public void onClick(View v){
  3. Intent intent = new Intent("com.example.activitytest.ACTION_START");
  4. intent.addCategory("com.example.activitytest.MY_CATEGORY");
  5. startActivity(intent);
  6. }
  7. });
通过Intent可以向别的Activity以键值对的方式传递数据

intent.putExtra("extra_data",data);
数据接收Activity通过如下方式获得数据:
  1. Intent intent = getIntent();
  2. String data = inent.getStringExtra("extra_data");

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/shengzhai/p/4113041.html

android学习心得之Activity相关推荐

  1. android activity 实际,Android学习感悟之Activity

    Android学习感悟之Activity,包含生命周期.启动模式以及一些Activity中常用的方法. 序 在Android开发中,用的最为平凡的,最不能少的就是Activity了,所以作为学习感悟的 ...

  2. Android学习羁绊之Activity

    原文链接:Android学习羁绊–>Activity Activity是Android系统的四大组件之一,Activity是用户可操作的可视化界面,为用户提供一个完成操作指令的窗口,一个Acti ...

  3. android学习心得【安卓入门一】

    从今天开始,我也要经常写一些日志,记录一下自己学习android的成长过程,这是我前几天做的笔记,以后整理的更详细点! 1.R.java,内部类,生成的唯一的id 2.assets是放置资源,没有id ...

  4. android数据存储心得,android学习心得 轻量级存储SharePreferences

    SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和St ...

  5. Android学习之管理Activity的生命周期

    Activity生命周期 activity第一次启动的时候,它来到系统的前台,开始与用户交互.在此期间,Android系统调用了Activity生命周期中一系列的方法.如果用户执行启动了另一个acti ...

  6. Android学习笔记之activity间传递传递参数

    activity间传递值 通过Intent启动另一个activity 传递简单数据(八大基本数据类型+String) 传递简单数据的代码片段 Intent intent = new Intent(Ma ...

  7. Android学习手记(2) Activity生命周期

    1. 单个Activity的生命周期 当只有一个Activity的时候, 首先执行onCreate->onStart->onResume. 这时, 窗口便显示在屏幕上了. 然后我们按返回键 ...

  8. Android 学习心得(2)——Android内置数据库SQLite

    一.简介: Android有一个内置数据库SQLite,它是一种轻型数据库,它有五种数据类型:NULL(空型).BLOB(二进制).INTEGER(整型).REAL(浮点型).TEXT(字符串文本), ...

  9. 记录第一次开发android的学习心得

    文章目录 前言 一.自定义View 1.编写自定义view的样式 2.在activity对应的页面引用 3.编写自定义view java文件 二.mvp框架 1.contract 2.activity ...

  10. android中级培训,Android 中级学习心得

    不知不觉一个月又过去了,中级部分已经学习完毕,给大家讲讲学习心得,希望对新人有所帮助,中级部分主要是一些控件的设置,以及实现一些控件的功能. Android通知系统,Tostask 比较常用:进度条p ...

最新文章

  1. 人工智能也能写出如此诗句
  2. boost::graph模块实现bellman的测试程序
  3. Android LinearLayout
  4. DeDeCMS后台批量修改替换sql语句大全
  5. 从根本上解决 Infopath 2010 重复表的序号问题
  6. oracle sql语句 只读,Oracle_SQL语句
  7. Unity+SenseAR教程:用手势发射爱心【源码】
  8. java6 3_2018.3.6 Java web notes:
  9. 大三学生独自破解逆天AI模型:我只是把撩妹的时间,都用来研究机器学习了...
  10. Android 小項目之--猜名字有獎!RadionButton 和RadionGroup應用(附源碼)
  11. Linux如何修改环境变量PATH,以及系统登录时读取文件的顺序
  12. 数据分析岗位面试必备
  13. golang ide 环境搭建_golang环境搭建
  14. fanuc机器人与示教器配对_阳江Fanuc机器人示教器维修中心
  15. 【51/STM32】详解控制系统中的继电器
  16. 微信小程序视频学习教程
  17. 射频斜波信号,Ramp 信号是怎么样的?
  18. 十七、.net core(.NET 6)搭建基于Quartz组件的定时调度任务
  19. python 偏态分布_峰度与偏度(python)
  20. 一个完整的python文件即是一个模块_README.md

热门文章

  1. C语言中类型转换那些事儿
  2. 这壁纸,领导看了不开心
  3. 阿里 Nacos 惊爆安全漏洞,火速升级!
  4. 某生鲜平台面试题:如何保证库存在高并发的场景下是安全的?
  5. 已经被说“烂”的微服务,到底是个什么鬼?通过拆分实战案例来带你入门。...
  6. 永远不要随便告诉别人自己的工资,工资是职场最大的陷阱
  7. 马云:我不懂技术,但我尊重技术(附演讲全文
  8. 我怕三十的红包太多,先发为敬!
  9. nginx配置文件服务器
  10. 微信小程序图片上传并展示