工具:Android studio、手机
1.手机连接AS
设置—>点击版本号五次---->打开USB调试—>USB连接电脑和手机
在AS里面看到AS运行的可选device里面出现自己的手机型号即可
运行项目时会在手机里安装相应的APP,选择同意安装即可
2.开始编写项目
最终效果:
一共有三个页面,分别为MainActivity、SubActivity1、SubActivity2,点击MainActivity的显示启动按钮跳转到SubActivity1,点击SubActivity返回按钮回到MainActivity并显示一个100以内的随机数,点击隐式启动按钮跳转到SubActivity2,点击返回回到MainActivity,并显示开发者名称。
代码部分:
MainActivity.java
```java
package com.example.hello;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button button1,button2;
private TextView tv;
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode,resultCode,data);
String str=data.getStringExtra("who");
if(requestCode==1){
if(resultCode==RESULT_OK)
{
Bundle random=data.getExtras();
Toast.makeText(MainActivity.this,random.getInt("random")+"",Toast.LENGTH_LONG).show();
}
}
if(resultCode==2){
if(resultCode==2){
Bundle builder=data.getExtras();
Toast.makeText(MainActivity.this,builder.getString("builder")+"",Toast.LENGTH_LONG).show();
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
tv = (TextView) findViewById(R.id.textView3);
//显式启动
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Intent intent1=new Intent(MainActivity.this,SubActivity1.class);
startActivityForResult(intent1,1);
}
});
//隐式启动
button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Intent intent2=new Intent();
intent2.setAction(Intent.ACTION_VIEW);
intent2.setData(Uri.parse("intentdemo://cn.edu.neusoft"));
startActivityForResult(intent2,2);
}
});
}
}
SubActivity1:
```java
package com.example.hello;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.Random;
public class SubActivity1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub1);
Button btn=(Button)findViewById(R.id.button);
btn.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View view) {
Random rand=new Random();
int r=rand.nextInt(100);
Bundle bundle=new Bundle();
bundle.putInt("random",r);
Intent intent3=new Intent();
intent3.putExtras(bundle);
setResult(RESULT_OK,intent3);
finish();
}
});
}
}
SubActivity2:
package com.example.hello;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class SubActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub2);
Button btn3=(Button)findViewById(R.id.button3);
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String s="开发者是:C²";
Bundle bundle=new Bundle();
bundle.putString("builder",s);
Intent intent4=new Intent();
intent4.putExtras(bundle);
setResult(2,intent4);
finish();
}
});
}
}
注意:
在MainActivity的onCreate中,要把隐式启动的startActivity改为startActivityForResult,这样在调用子Activity时,父Activity才能区分是从哪个activity中发来的请求
Android studio在使用过程中遇到的问题:
在打开之前的项目出现多个.xml文件缺损的情况,新建项目也是如此导致不能正确编译运行,可以通过删除两个caches文件夹再重启AS即可。
解决办法的原文链接:https://stackoverflow.com/questions/53403502/strange-error-in-colors-xml-file-in-android-studio



