前言:因为这学期选了手机APP开发这门课,所以还是写个博客记录一下学习过程,包括安卓开发和ios开发。用到的资料包括课程PPT,和我在网上找的一些视频和资料。
1.Andriod入门
- XML:描绘应用界面 (决定APP长什么样)类似WEB开发中的HTTP
- JAVA:编写程序逻辑,交互逻辑 (决定APP如何运行)类似WEB开发中的JavaScript
将界面设计和程序逻辑分开,也利于代码复用,同一份XML/JAVA文件可以用于不同的场景下。
2.从顶向下了解最基础的一个Andriod app
在Andriod Studio 新建完一个项目,可以看到以下的项目结构
最顶层的文件是AndroidManifest.xml包含了APP的配置信息,决定了APP如何显示和运行。
每个Andriod app都必须有一个AndroidManifest.xml文件
AndroidManifest.xml中的activity指向了MainActivity,也就是MainActivity.java文件
这个java文件决定了如何运行APP
MainActivity.java文件用到了activity_main,也就是指向了activity_main.xml文件,该文件描述了APP界面如何显示。
至此,也就说清楚了一个Andriod app最基础的代码编写逻辑。
3.创建新的APP页面
很显然,上述提到的最基础的代码流程,只有一个APP页面,这显然是不够的,我们还需要了解Andriod Activity(APP页面)是如何创建的。
如上图new一个activity,便会自动完成创建activity的三个步骤
- 创建xml文件
- 创建与xml文件对应的java文件
- 在AndroidManifest.xml中注册activity,也就是添加以下代码:
<activity android:name=".MainActivity2" />
当然也可以手动完成这三步。
创建完新的activity,还需要将该activity与主界面相连接,也就是我们可以从主界面访问到新的界面。
我们可以在主界面添加一个button,当用户点击了这个按钮,就跳转到第二个界面。
添加button:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="234dp"
android:layout_height="115dp"
android:text="hello word, today is 0209"
android:id = "@+id/tv"
></TextView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="next"
android:id="@+id/button"></Button>
</LinearLayout>
增加跳转功能:
package com.example.myapplication3;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
}
}