用Android 日志工具Log代替println 或者 System.out.print
设置布局高度或者宽度的时候一般用dp,设置字体大小的时候一般用sp
在菜单中使用menu
边距 限定符
XML 引用资源的语法:
<resources> <string name="app_nam">HelloWorld</string> </resources>可以看到,这里定义了一个应用程序名的字符串,我们有以下两种方式引用它。
在代码中通过R.string.hello_world我们可以获得该字符串的引用。在XML中通过@string/hello_world可以获得该字符串的引用。 其中string部分可以替换的,如果是引用的图片资源就可以替换成drawable,如果是引用的应用图标就可以替换成mipmap,如果是引用的布局文件就可以替换成layout,以此类推。在活动中加载布局 调用 setContentView()方法来给当前的活动加载一个布局,而在setContentView()方法中,我们一般都会传入一个布局文件的id,在项目中添加的任何资源都会在R文件中生成一个相应的资源id,因此我们刚才创建的first_layout.xml 布局的id也应该已经添加到R文件中了,只需调用R.layout.first_layout 就可以得到first_layout.xml布局的id,然后将这个值传入setContentView()方法中即可。 为了使程序成功的运行,之后还应该在AndroidManifest.xml 进行注册,不过一般Android Studio 会自动进行注册,然后还要为程序配置主活动。
Toast Toast 是Android 系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息在一段时间后会自动消失,并且不会占用任何屏幕空间。
Android 给我们提供一种方式,可以让菜单都能得到展示的同时,还能不占用任何屏幕空间。 main.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add_item" android:title="Add"/> <item android:id="@+id/remove_item" android:title="Remove"/> </menu>销毁活动 按下手机的Back键,或者换成finish();
button1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { finish(); } });Intent 大致分为两种,显示Intent 和 隐式 Intent Intent 是Android 程序 中各组件之间进行交互的一种重要方式。
向下一个活动传递数据,可以通过 putExtra(key,value) 方法,第一个参数是键,第二个参数才是真正要传递的数据。
通过点击按钮启动activity
public void onClick(View view) { Intent intent = new Intent();//新建意图 /* setClass 第一个是设置activity对象,第二个是设置class对象 */ intent.setClass(MainActivity.this,SecondActivity.class); startActivity(intent);//启动activity }活动的声明周期 Activity 类中定义七个回调方法,覆盖活动周期的每一个环节。
copy 的一张图
活动被回收通过onSaveInstanceState() 方法保存数据
活动的启动模式 启动模式一共有4种,分别是standard,singleTop,singleTask 和 singleInstance。可以通过 AndroidManifest.xml通过< activity> 标签指定android:launchMode 属性来选择启动模式。
standard(系统默认) singleTop singleTask
singleInstance 在这种模式下会有一个单独的返回栈来管理这个活动,不管是哪个应用程序来访问这个活动,都共用的同一个返回栈,也解决了共享活动实例的问题。
知晓当前是哪个活动
启动活动的最佳写法 在启动页面添加一个actionStart() 方法,在这个方法中完成了Intent的构建,另外所有SecondActivity中需要的数据都是通过actionStart()方法的参数传递过来的,然后把它存储到Intent中,最后调用startActivity()方法启动。