1.用Button实现页面跳转
(1)在主页面activity_main.xml中添加Button:
<Buttonandroid: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 {@Overrideprotected 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() {@Overridepublic 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"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="afcugdysvdskisdh"android:textSize="50dp"android:textAlignment="center"android:layout_marginTop="50dp"/><TextViewandroid:id="@+id/d2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="afcugdysvdskisdh"android:textSize="50dp"android:textAlignment="center"/><Buttonandroid: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;@Overrideprotected 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() {@Overridepublic 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)文件写入查看