(1)新建project,如下图所示:
(2)此次需要页面跳转,因此我们需要两个Activity,两个XML文件。
第(1)步新建的preject已经有一个MainActivity.java文件。按上图示操作,我们需要新建的是一个名为DisplayActivity.java(自取)的Activity。这会在Layout中自动生成文件名为activity_display的XML文件。(3)完成以上步骤后,查看左侧,应该是这样的:
这个时候,就可以对app的两个页面(XML)进行布局了。(4)打开main_activity.xml(如下目录)文件。
左侧切到design模式:
(5)选择PlainText, 直接右键拖到视图中白色区域
(6)(右侧attributes窗口)——设置id值,便于后续写代码,调整大小,设置约束(确定位置)
设置约束如下:
同样的Button也类似操作:拖至空白区域,选中,设置id值与约束
初步得到这样的效果图
(7)为了优化显示(不需要也可以不弄),使得文本框大小随手机界面改变。
点击文本框,按住shift,再点击按钮,右键,点击chains。设置水平
Horizontal chain。
点击文本框,一开始红色框内显示的是直线,我们可以双击它,知道它变成如图所示的折线。
(8) 第(7)步也可以省略。
我们这个时候,切换到MainActivity.java文件,进行代码编写。
如下红色框框内时自己添加的代码内容:
代码解析:
(1)
public static final String EXTRA_MESSAGE="com.example.myapplication_002.MESSAGE";
(2)
public void sendMessage(View view){
Intent intent = new Intent(MainActivity.this, DisplayActivity.class);
EditText editText = (EditText) findViewById(R.id.editText01);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
sendMessage是作为按钮的onclick所触发的方法:
这个时候,切换到activity_main.xml文件,选择button,onClick下就多了一个sendMessage选项,选择它即可。则按按钮时,会触发这个函数。
其中Intent是为了建立两个页面 MainActivity和DisplayActivity的联系,即进行页面切换
同时,获取得到输入的Text值,之后传递给另一个页面。得到输入的Text,并以字符串形式传递。
intent.putExtra(EXTRA_MESSAGE, message)中,作用为传递参数;EXTRA_MESSAGE为键名,message为键对应的值。代码编写过程,可以会遇到一些标红的情况,这有很大可能是没有import对应的包,这个时候按住ALT+Enter键,会自动导入包。
(9)
我们先在activity_display.xml中设置一个文本显示框;操作过程与Button类似,不作赘述。
然后切换到新建的DisplayActivity.java文件中:
intent.getStringExtra是为了获取上一个activity的输入字符串。
而后获取显示文字的textview区域,并显示messge。(10)
大体已经完成,由于我们要实现页面(即Activity)切换;我们需要设置两个Activity间的父类和子类的关系,保证打开APP进入默认的页面。
找到该目录下的androidManifest.xml文件:
初始有两个Activity,但是没有红色框框中的内容,我们需要加上那两行,
DisplayActivity为子Activity,而MainActivity为父Activity
(11)现在就完成了:选好红框框里面的内容,点击蓝框框。
这个过程会遇到奇奇怪怪的问题,即使第一个成功了,后面再次编译也可能有错,这个有可能是版本更新的问题。可以点击这个:
到红色框界面,查看有无需要更新的文件,更新即可。
结果出现了这个错误
其实是红色框自动切换了,我们只要把它切换回原来的Pixel……就可以。
(12)
结果:运行得到:有一个是之前我写的application,不关注。点击开刚刚编写的app。
得到这个:
在文本框中输入文字,然后点击SEND按钮。
显示如下:
最后:这个网站对于Android studio是一个值得推荐的网站;还有纠错网站。