diff --git a/soft1614080902411/AndroidManifest.xml b/soft1614080902411/AndroidManifest.xml
new file mode 100644
index 000000000..c7cf7a2ee
--- /dev/null
+++ b/soft1614080902411/AndroidManifest.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902411/Java/Main2Activity.java b/soft1614080902411/Java/Main2Activity.java
new file mode 100644
index 000000000..723364b74
--- /dev/null
+++ b/soft1614080902411/Java/Main2Activity.java
@@ -0,0 +1,193 @@
+package com.example.edu.hzu.myapplication4;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.Snackbar;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
+import android.widget.Button;
+import android.content.Context;
+import android.os.Bundle;
+import android.os.Environment;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import com.example.edu.hzu.myapplication4.R;
+
+public class Main2Activity extends AppCompatActivity {
+ public static final String DIRECTORY = "demo";
+ public static final String FILENAME = "file_demo.txt";
+ public static final String TAG = Main2Activity.class.getSimpleName();
+
+ @Override
+
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main2);
+ ((Button) findViewById(R.id.bt2)).setOnClickListener(new View.OnClickListener() {
+
+ @Override
+
+ public void onClick(View view) {
+ String text = ((EditText) findViewById(R.id.edit1)).getText().toString();
+ saveTextIntoInternalStorage(text);
+ }
+
+ });
+ ((Button) findViewById(R.id.bt4)).setOnClickListener(new View.OnClickListener() {
+
+ @Override
+
+ public void onClick(View view) {
+ Intent intent=new Intent(Main2Activity.this,Main3Activity.class);
+ startActivity(intent);
+ }
+ });
+ }
+ // 将文字保存到内部存储
+ private void saveTextIntoInternalStorage(String text) {
+ // 获取内部存储目录
+ File dir = this.getFilesDir();
+ //File dir = getCacheDir();
+ if (dir.isDirectory()) {
+// dir.mkdir();
+// dir.mkdirs();
+ }
+ if (dir.isFile()) {
+ // D:/Abc.txt , -> D:/Abc1.txt ->D:/abc.txt
+ }
+ File file = new File(dir, FILENAME);
+// try {
+// File = File.createTempFile(FILENAME, null, dir);
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+ if (file.exists()) { // 判断文件是否存在
+ Log.i(TAG, file.getAbsolutePath());
+ Log.i(TAG, file.length() + ""); // bytes*1024=kb *1024 MB
+ Log.i(TAG, file.isFile() + "");
+ file.canRead();
+ file.canWrite();
+ file.canExecute();
+ file.getFreeSpace();
+ file.getTotalSpace();
+ }
+ FileOutputStream fos = null; // 字节流 | char | cn : gbk 2 bytes, utf8 3 bytes
+ try { // 使用API打开输出流
+ fos = openFileOutput(FILENAME, MODE_PRIVATE);
+ //FileOutputStream fos = new FileOutputStream(file);
+ fos.write(text.getBytes()); // 写入内容
+ fos.close(); // 关闭流
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ fos.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ FileReader reader = null; // char
+ try {
+ reader = new FileReader(file.getAbsoluteFile());
+ BufferedReader bReader = new BufferedReader(reader);
+ String line = bReader.readLine();
+ Log.i(TAG, "从文件读取的内容: " + line);
+ bReader.close();
+ reader.close();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ // 显示结果
+ showResult(file.getAbsolutePath());
+ // 删除文件
+ // file.delete();
+ // deleteFile(FILENAME);
+ }
+ // 将文字保存到外部存储
+ private void saveTextIntoExternalStorage(String text) {
+ if (!isExternalStorageWritable()) {
+ Log.e(TAG, "外部存储不可写!");
+ return;
+ }
+ File dir = getPublicExtStorageDir(DIRECTORY, Environment.DIRECTORY_DOWNLOADS);
+ File file = new File(dir, FILENAME);
+ try {
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(text.getBytes());
+ fos.close();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ // 显示结果
+ showResult(file.getAbsolutePath());
+ }
+ /* Checks if external storage is available for read and write */
+ private boolean isExternalStorageWritable() {
+ String state = Environment.getExternalStorageState();
+ if (Environment.MEDIA_MOUNTED.equals(state)) {
+ return true;
+ }
+ return false;
+ }
+ /* Checks if external storage is available to at least read */
+ private boolean isExternalStorageReadable() {
+ String state = Environment.getExternalStorageState();
+ if (Environment.MEDIA_MOUNTED.equals(state) ||
+ Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
+ return true;
+ }
+ return false;
+ }
+ // 创建公开的外部存储目录(App卸载时不会删除)
+ private File getPublicExtStorageDir(String dirName, String type) {
+ if (type == null) { // 指定文件类型
+ type = Environment.DIRECTORY_PICTURES;
+ }
+ File dir = new File(Environment //
+ .getExternalStoragePublicDirectory(type), dirName);
+ if (!dir.mkdirs()) {
+ Log.e(TAG, "目录无法创建!");
+ }
+ long freeSpace = dir.getFreeSpace();
+ Log.i(TAG, "剩余空间大小: " + (freeSpace / 1024 / 1024) + "MB");
+ long totalSpace = dir.getTotalSpace();
+ Log.i(TAG, "总空间大小: " + (totalSpace / 1024 / 1024) + "MB");
+ return dir;
+ }
+ // 创建私有的外部存储目录(App卸载时会一同删除)
+ private File getPrivateExtStorageDir(Context context, String dirName, String type) {
+ if (type == null) { // 指定文件类型
+ type = Environment.DIRECTORY_PICTURES;
+ }
+ File file = new File(context //
+ .getExternalFilesDir(type), dirName);
+ if (!file.mkdirs()) {
+ Log.e(TAG, "目录无法创建!");
+ }
+ return file;
+ }
+ private void showResult(String result) {
+ ((TextView) findViewById(R.id.view1)) //
+ .setText(result.toCharArray(), 0, result.length());
+ }
+}
diff --git a/soft1614080902411/Java/Main3Activity.java b/soft1614080902411/Java/Main3Activity.java
new file mode 100644
index 000000000..06acecefe
--- /dev/null
+++ b/soft1614080902411/Java/Main3Activity.java
@@ -0,0 +1,18 @@
+package com.example.edu.hzu.myapplication4;
+
+import android.os.Bundle;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.Snackbar;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
+
+public class Main3Activity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main3);
+ }
+
+}
diff --git a/soft1614080902411/Java/MainActivity.java b/soft1614080902411/Java/MainActivity.java
new file mode 100644
index 000000000..94b604c07
--- /dev/null
+++ b/soft1614080902411/Java/MainActivity.java
@@ -0,0 +1,25 @@
+package com.example.edu.hzu.myapplication4;
+
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+public class MainActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ Button bt1=(Button)findViewById(R.id.bt1);
+ bt1.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent=new Intent(MainActivity.this,Main2Activity.class);
+ startActivity(intent);
+
+ }
+ });
+ }
+}
diff --git a/soft1614080902411/Main2Activity.PNG b/soft1614080902411/Main2Activity.PNG
new file mode 100644
index 000000000..5190e620f
Binary files /dev/null and b/soft1614080902411/Main2Activity.PNG differ
diff --git a/soft1614080902411/Main3Activity.PNG b/soft1614080902411/Main3Activity.PNG
new file mode 100644
index 000000000..1ca313b45
Binary files /dev/null and b/soft1614080902411/Main3Activity.PNG differ
diff --git a/soft1614080902411/MainActivity.PNG b/soft1614080902411/MainActivity.PNG
new file mode 100644
index 000000000..434621335
Binary files /dev/null and b/soft1614080902411/MainActivity.PNG differ
diff --git a/soft1614080902411/drawable/ic_launcher_background.xml b/soft1614080902411/drawable/ic_launcher_background.xml
new file mode 100644
index 000000000..d5fccc538
--- /dev/null
+++ b/soft1614080902411/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soft1614080902411/drawable/wechat.jpg b/soft1614080902411/drawable/wechat.jpg
new file mode 100644
index 000000000..82aab9e9c
Binary files /dev/null and b/soft1614080902411/drawable/wechat.jpg differ
diff --git a/soft1614080902411/drawable/xiaozhupeiqi.jpg b/soft1614080902411/drawable/xiaozhupeiqi.jpg
new file mode 100644
index 000000000..f0becd308
Binary files /dev/null and b/soft1614080902411/drawable/xiaozhupeiqi.jpg differ
diff --git a/soft1614080902411/layout/activity_main.xml b/soft1614080902411/layout/activity_main.xml
new file mode 100644
index 000000000..916f9737b
--- /dev/null
+++ b/soft1614080902411/layout/activity_main.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902411/layout/activity_main2.xml b/soft1614080902411/layout/activity_main2.xml
new file mode 100644
index 000000000..f3905f0af
--- /dev/null
+++ b/soft1614080902411/layout/activity_main2.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902411/layout/activity_main3.xml b/soft1614080902411/layout/activity_main3.xml
new file mode 100644
index 000000000..01580a249
--- /dev/null
+++ b/soft1614080902411/layout/activity_main3.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902411/values/colors.xml b/soft1614080902411/values/colors.xml
new file mode 100644
index 000000000..3ab3e9cbc
--- /dev/null
+++ b/soft1614080902411/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+
diff --git a/soft1614080902411/values/dimens.xml b/soft1614080902411/values/dimens.xml
new file mode 100644
index 000000000..59a0b0c4f
--- /dev/null
+++ b/soft1614080902411/values/dimens.xml
@@ -0,0 +1,3 @@
+
+ 16dp
+
diff --git a/soft1614080902411/values/strings.xml b/soft1614080902411/values/strings.xml
new file mode 100644
index 000000000..4343ac506
--- /dev/null
+++ b/soft1614080902411/values/strings.xml
@@ -0,0 +1,3 @@
+
+ Soft1614080902411微信聊天app
+
diff --git a/soft1614080902411/values/styles.xml b/soft1614080902411/values/styles.xml
new file mode 100644
index 000000000..545b9c6d2
--- /dev/null
+++ b/soft1614080902411/values/styles.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git "a/soft1614080902411/\345\256\236\351\252\2142.md" "b/soft1614080902411/\345\256\236\351\252\2142.md"
new file mode 100644
index 000000000..82326225e
--- /dev/null
+++ "b/soft1614080902411/\345\256\236\351\252\2142.md"
@@ -0,0 +1,26 @@
+1.实验要求
+
+在Issues中创建自己的选题:https://github.com/hzuapps/android-labs-2018/issues ;
+根据自选题目,编写一个或多个Activity(所有均带上学号前缀,放到自己的Java包下);
+将标题设置为自己的学号+对应的功能或题目;
+根据自己选择的题目实现Activity中导航、调用等功能(选做)。
+2.实验步骤
+
+阅读实验要求:https://github.com/hzuapps/android-labs-2018/labels/Lab
+
+在电脑上Android Studio编写代码
+
+// 代码要可以运行!
+使用Git将代码提交到自己的库中:https://github.com/YOUR_NAME/android-labs-2018
+$ git pull
+$ git add 学号目录/*
+$ git commit "#12345678 "
+$ git push
+在自己的GitHub库上创建和发送Pull Request(注意查看Changed files)
+// 是否只修改了自己的文件?
+在GitHub中使用Markdown文件编写实验报告(report1.md, report2.md)
+// 保存在自己的文件夹下
+3.实验体会
+
+在同学的帮助下,终于将代码git push上去了,主要的问题就出现在最后git push后,
+总是出现403的错误,网上查阅相关知识以后,才发现原来是因为没有绑定邮箱,于是按照步骤,绑定邮箱后,再次git push就成功了!
diff --git "a/soft1614080902411/\347\254\254\344\270\211\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md" "b/soft1614080902411/\347\254\254\344\270\211\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md"
new file mode 100644
index 000000000..b12def2f0
--- /dev/null
+++ "b/soft1614080902411/\347\254\254\344\270\211\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md"
@@ -0,0 +1,34 @@
+## 1.实验目标
+
+(1)掌握在Android应用中使用图片等资源的方法。
+
+(2)在界面上显示至少一张图片(按照自己的题目添加);
+
+(4)提交res/values, res/layout等其他代码;
+
+(5)将应用运行结果截图,放到实验报告中;
+
+(6)点击图片(或按钮)时,打开另一个Activity。
+
+## 2.实验步骤
+
+(1)在drawable中加入一张图片
+
+(2)在实验二基础上创建第二个activity
+
+(3)创建button,并设置监听器,实现点击“enter”来跳转到下一个页面的功能
+
+(4)修改其它所需要的代码,运行,修改错误
+
+(5)整理文件,把更改后的文件用git上传到自己的库中
+
+(6)用pull request提交到老师的库中
+
+## 3.实验结果截图
+
+
+
+
+## 4.实验体会
+ 这次实验拖了很久,第一个原因是不会做,通过查相关资料和请教同学后最后才能把实验完成,第二个原因是电脑太卡,每次更改后rebuild project一次都
+要花费很长时间,还不断死机,导致实验断断续续,进程慢,不过落下的实验进度我会尽快赶上的。另外通过这次实验我掌握了在android中使用图片资源的方法
diff --git "a/soft1614080902411/\347\254\254\344\272\224\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md" "b/soft1614080902411/\347\254\254\344\272\224\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md"
new file mode 100644
index 000000000..3532a6c9c
--- /dev/null
+++ "b/soft1614080902411/\347\254\254\344\272\224\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md"
@@ -0,0 +1,18 @@
+# 第五次实验
+
+## 一.实验目标
+掌握在Android App中存储数据
+
+## 二.实验步骤
+(1)打开已经建立好的工程。
+(2)在已经Main2Activity.java中加入文件存储功能,按钮的响应,将编辑文本框的内容储存内部文件。
+(3)在activity_main.xml文件建立一个textview显示储存的文件
+(4)编译运行,截图。
+(5)用git上交。
+
+## 三.实验结果
+
+
+## 四.实验体会
+在这一次的实验中,我运用了实验四学到的知识,先是添加了按钮然后再进行实际的内容操作,好让我的数据能够在“通讯录”这个功能能够存储数据,
+中途有发生一些错误,尽自己的能力最终解决了这些问题。
diff --git "a/soft1614080902411/\347\254\254\345\233\233\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md" "b/soft1614080902411/\347\254\254\345\233\233\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md"
new file mode 100644
index 000000000..a3ca58da1
--- /dev/null
+++ "b/soft1614080902411/\347\254\254\345\233\233\346\254\241\345\256\236\351\252\214\346\212\245\345\221\212.md"
@@ -0,0 +1,27 @@
+# 一、实验目的
+ 1 根据选题要求设计界面布局及控件使用;
+ 2 布局xml及界面控制操作代码提交并截图;
+
+# 二、实验要求
+ 1 使用其中一种布局方式,设计所选题目的界面:
+ 2 通过控件ID获取界面对象,执行相关操作:
+ 3 实现界面控件的事件处理,例如点击按钮:
+
+# 三、实验步骤
+ 1 在activity_main2.xml添加RelativeLayout布局方式,添加Button按钮和按钮的id,以及添加EditText控件
+ 2 在MainActivity.java中添加监听器
+ 3 把图片放在res/drawable目录下
+ 4 用git工具提交本次实验的文档
+
+# 四、实验结果
+ “首页”
+ https://github.com/1614080902411/android-labs-2018/blob/master/soft1614080902411/MainActivity.PNG
+ “功能”
+ https://github.com/1614080902411/android-labs-2018/blob/master/soft1614080902411/Main2Activity.PNG
+ “查看”
+ https://github.com/1614080902411/android-labs-2018/blob/master/soft1614080902411/Main3Activity.PNG
+
+# 五、实验体会
+
+在本次实验中更加深刻的体会到了页面布局的重要性,在同学的帮助下,我慢慢的开始了解并且学会布局的一些应用,
+比如界面的布局,按钮、控件的添加且对其属性的操作等等。希望在接下来的学习中,会更进一步的了解java语言、安卓开发以及github的使用。