Android Studio安卓开发入门第一天

发布时间:2024年01月19日

1.用Button实现页面跳转

(1)在主页面activity_main.xml中添加Button:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/abd"
        android:text="hello!"
        android:layout_centerInParent="true"
/>
  • wrap_content表示让当前控件的大小能够刚好包含住里面的内容,match_parent表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小(fill_parent相同意义,官方更推荐match_parent)。
  • text指定按钮上显示的文字。
  • layout_centerInParent设置为true让按键放置在父布局的中间。
  • id的格式必须是@+id/XXX。(设置id以便调用事件)

(2)在MainActivity主页面活动中,给Button设置监听器并重写onClick事件:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        getSupportActionBar().hide();
        Button abc= findViewById(R.id.abd);
        abc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, MainActivity2.class);
                startActivity(intent);
            }
        });

    }
}
  • getSupportActionBar().hide()表示让当前页面上侧的标题栏隐藏。
  • 新建Button来获取id为abd的按钮(采用findViewById(R.id.XXX)的方式获取)。
  • 使用按钮的setOnClickListener(匿名类)。
  • 在new View.OnClickListener()中重写onClick事件。
  • Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。
  • 在onClick事件中首先构建了一个Intent,传入MainActivity.this作为上下文,传入MainActivity2.class作为目标活动,“意图”就是在MainActivity这个活动的基础上打开MainActivity2这个活动,然后通过startActivity(intent)来执行这个intent。

2.跳转后的页面中创建Textview并实现点击按钮修改文段

(1)在layout中的activity_main2中设置TextView和按钮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity2"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="afcugdysvdskisdh"
        android:textSize="50dp"
        android:textAlignment="center"
        android:layout_marginTop="50dp"
        />
    <TextView
        android:id="@+id/d2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="afcugdysvdskisdh"
        android:textSize="50dp"
        android:textAlignment="center"
        />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/b3"
        android:text="change"
        android:textSize="25dp"
        />

</LinearLayout>
  • 若使用LinearLayout线性布局,需要指明方向即orientation(一般手机的orientation为vertical竖直的)

(2)在MainActivity2中实现文段修改操作:

public class MainActivity2 extends AppCompatActivity {

    boolean isChanged=false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        TextView t2=findViewById(R.id.d2);
        Button b2=findViewById(R.id.b3);
        b2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!isChanged){
                    Date now=new Date();
                    SimpleDateFormat s=new SimpleDateFormat("yyyy-年-MM-月-dd-日");
                    String ss=s.format(now);
                    t2.setText(ss);
                    isChanged=true;
                }
                else {
                    t2.setText("afcugdysvdskisdh");
                    isChanged=false;
                }
            }
        });
    }
}
  • 首先在全局设置了isChanged的布尔变量,如果为false则对文段内容进行修改,否则则不修改。
  • 在onCarete中通过findViewById获取文段和按钮的id。
  • 对按钮设置监听器,如果需要修改则设置Date变量,并用SimpleDateFormat的format进行格式化,并格式化为字符串,文段textview再调用setText(此字符串)则可实现文段的修改。

3.有关文件相关操作

        File files=getExternalFilesDir("");
        File a=new File(files.getAbsolutePath()+"/time");
        try {
            a.createNewFile();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        try {
            BufferedWriter w=new BufferedWriter(new FileWriter(a));
            Date now=new Date();
            SimpleDateFormat s=new SimpleDateFormat("yyyy-年-MM-月-dd-日");
            String ss=s.format(now);
            w.write(ss);
            w.flush();
            w.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
  • File files=getExternalFilesDir("");若为空字符串则默认在Android的data的file里进行操作。
  • 在创建新的文件夹时使用File a=new File(files.getAbsolutePath()+"/XXXX")表示在files文件下再创建一个文件夹叫“XXXX”。
  • 接着调用a.createNewFile()进行创建。(要使用try-catch捕获可能发生的异常)。
  • 接着进行文件写入操作,使用BufferedWriter w=new BufferedWriter(new FileWriter(a));写入刚刚得到的时间字符串w.write(ss);注意之后一定要用flush才能把缓冲区写入的内容真正写入到文件中去。(最后调用close,同时也要使用try-catch捕获可能发生的异常)。

4.在AndroidManifest.xml进行相关的注册

(1)对用户权限进行设置

<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
  • CAMERA即用户在使用此应用时可以打开摄像头。
  • MANAGE_EXTERNAL_STORAGE即用户可以在外部存储对文件进行操作(一般都是在安卓内部存储操作,Android中data的文件夹中进行操作)。

5.对于app主题的修改

(1)在themes.xml中对主题风格进行设置

 <style name="Theme.Practice" parent="Theme.AppCompat.Light.NoActionBar">
  • 风格为Light,NoActionBar即app中的每一个页面都没有上侧标题栏

(2)关于相关颜色修改

  • 首先设置为#000000(默认黑色),再利用取色盘进行取色。

6.效果图:

(1)主页面? ? ? ? ? ? ? ? ? ?(2)点击按钮进入此页面(3)点击按钮实现文段替换

(4)文件写入查看

文章来源:https://blog.csdn.net/gyeolhada/article/details/135698012
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。