diff --git a/soft1614080902239/555.png b/soft1614080902239/555.png
new file mode 100644
index 000000000..323abffc7
Binary files /dev/null and b/soft1614080902239/555.png differ
diff --git a/soft1614080902239/666.png b/soft1614080902239/666.png
new file mode 100644
index 000000000..215aff300
Binary files /dev/null and b/soft1614080902239/666.png differ
diff --git a/soft1614080902239/777.png b/soft1614080902239/777.png
new file mode 100644
index 000000000..afa4a5c5d
Binary files /dev/null and b/soft1614080902239/777.png differ
diff --git a/soft1614080902239/app1/src/main/java/edu/hzuapps/androidlabs/soft1614080902239/Soft1614080902239Activity.java b/soft1614080902239/app1/src/main/java/edu/hzuapps/androidlabs/soft1614080902239/Soft1614080902239Activity.java
new file mode 100644
index 000000000..af2350f30
--- /dev/null
+++ b/soft1614080902239/app1/src/main/java/edu/hzuapps/androidlabs/soft1614080902239/Soft1614080902239Activity.java
@@ -0,0 +1,137 @@
+package edu.hzuapps.androidlabs.soft1614080902239;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.media.MediaPlayer;
+import android.media.MediaRecorder;
+import android.os.Handler;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.Formatter;
+import java.util.Locale;
+
+public class Soft1614080902239Activity extends AppCompatActivity {
+
+ private Button save, read, delete;
+ private EditText content;
+ private TextView show;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_soft1614080902239);
+ save = (Button) findViewById(R.id.save);
+ read = (Button) findViewById(R.id.read);
+ delete = (Button) findViewById(R.id.delete);
+ content = (EditText) findViewById(R.id.content);
+ show = (TextView) findViewById(R.id.show);
+ save.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // 调用SAveFile方法 文件保存到date/date目录下
+ saveFile();
+ }
+ });
+ read.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ show.setText(readFile());
+ }
+ });
+ delete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ removeFile();
+ }
+ });
+ }
+
+ //删除文件
+ public void removeFile() {
+ String[] files = fileList();
+ for (String str : files) {
+ if (str.equals("text.text")) {
+ deleteFile(str);
+ break;
+ }
+ }
+ }
+
+ //从内存储中读取文件
+ public String readFile() {
+ // BufferedReader包装流(字符流 字节流) 带缓冲区的
+ BufferedReader reader = null;
+ FileInputStream fis = null;
+ StringBuilder sbd = new StringBuilder();
+ try {
+ fis = openFileInput("text.text");
+ reader = new BufferedReader(new InputStreamReader(fis));
+ sbd.append(getFilesDir().getCanonicalPath());
+
+ String row = "";
+ while ((row = reader.readLine()) != null) {
+ sbd.append(row);
+ }
+ } catch (FileNotFoundException e) {
+ Toast.makeText(getBaseContext(), "文件不存在", Toast.LENGTH_SHORT).show();
+ //e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return sbd.toString();
+ }
+
+ //保存文件到内存储
+ public void saveFile() {
+ FileOutputStream fos = null;
+ try {
+ /*
+ openFileOutput返回一个输出字节流
+ 指向的路径为data/data/包名/files
+ 参数1:文件名称(如果不存在则自动创建)
+ 参数2:模式MODE_APPEND文件内容可樶加
+ 模式MODE_PRIVATE文件内容被覆盖
+ */
+ fos = openFileOutput("text.text", MODE_APPEND);
+ String str = content.getText().toString();
+ fos.write(str.getBytes());
+ Toast.makeText(getBaseContext(), "保存成功", Toast.LENGTH_SHORT).show();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (fos != null) {
+ try {
+ fos.close();
+ fos.flush();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/soft1614080902239/app1/src/main/res/layout/activity_soft1614080902239.xml b/soft1614080902239/app1/src/main/res/layout/activity_soft1614080902239.xml
new file mode 100644
index 000000000..979f09b0d
--- /dev/null
+++ b/soft1614080902239/app1/src/main/res/layout/activity_soft1614080902239.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902239/app3/src/main/AndroidManifest.xml b/soft1614080902239/app3/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..51b6f536d
--- /dev/null
+++ b/soft1614080902239/app3/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902239/app3/src/main/java/edu/hzuapps/androidlabs/soft1614080902239/MainActivity.java b/soft1614080902239/app3/src/main/java/edu/hzuapps/androidlabs/soft1614080902239/MainActivity.java
new file mode 100644
index 000000000..835e02a43
--- /dev/null
+++ b/soft1614080902239/app3/src/main/java/edu/hzuapps/androidlabs/soft1614080902239/MainActivity.java
@@ -0,0 +1,101 @@
+package edu.hzuapps.androidlabs.soft1614080902239;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MainActivity extends AppCompatActivity {
+ private ListView listView;
+ private ArrayAdapter adapter;
+ private List list=new ArrayList<>();
+ private String text;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ listView= findViewById(R.id.view);
+ getJson();
+ }
+
+ //读取Test.json文件
+ public void getJson(){
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ //文件的URL
+ String url_s="https://raw.githubusercontent.com/1614080902239/android-labs-2018/master/soft1614080902239/content.json";
+ URL url = new URL(url_s);
+ HttpURLConnection conn = (HttpURLConnection)url.openConnection();
+ //设置连接属性
+ conn.setConnectTimeout(5000);//设置超时
+ //conn.setRequestMethod("GET");
+ //conn.setDoInput(true);
+ conn.setUseCaches(false);//数据不多不用缓存了
+ //这里连接了
+ conn.connect();
+ //这里才真正获取到了数据
+ InputStream inputStream = conn.getInputStream();
+ InputStreamReader input = new InputStreamReader(inputStream);
+ BufferedReader buffer = new BufferedReader(input);
+ if(conn.getResponseCode() == 200){//200意味着返回的是"OK"
+ String inputLine;//用来保存每行读取的内容
+ StringBuilder resultData = new StringBuilder();//StringBuffer字符串拼接很快
+ while((inputLine = buffer.readLine())!= null){ //如果inputline为空说明读完了
+ resultData.append(inputLine); //将读到的内容添加到resultData中
+ }
+ text = resultData.toString();
+ Log.v("out---------------->",text);
+ parseJson();
+ }
+ } catch(Exception e){
+ e.printStackTrace();
+ }
+ //返回主线程
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ //创建一个数组适配器
+ //第一个参数是上下文,即当前的Activity,第二个参数是android sdk中自己内置的一个布局,表明数组每一条数据的布局,第三个参数就是我们要显示的数据
+ adapter= new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, list);
+ listView.setAdapter(adapter);//通过adapter把数据映射到ListView中
+ }
+ });
+ }
+ }).start();
+ }
+
+ //解析Text.json文件
+ public void parseJson(){
+ try {
+ JSONArray jsonArray=new JSONArray(text); //把字符串转成JSONArray对象
+ for(int i=0;i
+
+
+
+
+
\ No newline at end of file
diff --git a/soft1614080902239/content.json b/soft1614080902239/content.json
new file mode 100644
index 000000000..10ea98447
--- /dev/null
+++ b/soft1614080902239/content.json
@@ -0,0 +1,7 @@
+[
+ {
+ "content":"实验十一",
+ "subject":"汇编语言",
+ "time":"周一"
+ }
+]
\ No newline at end of file
diff --git a/soft1614080902239/report5.md b/soft1614080902239/report5.md
new file mode 100644
index 000000000..464fdd958
--- /dev/null
+++ b/soft1614080902239/report5.md
@@ -0,0 +1,33 @@
+# 第五次实验
+
+## 一、实验目的
+
+ 1.掌握在Android App中存储数据
+
+## 二、实验内容
+
+ 1、打开已建好的项目soft1614080902239
+
+ 2、将添加行程时产生的数据保存到文件存储中;
+
+ 3、文件存储方式:内部;
+
+ 4、实现界面控件的事件处理,例如点击按钮
+
+ 5、运行程序并截图
+
+ 6、使用git将代码提交到自己的库里
+
+ 7、在自己的GitHub库上创建和发送Pull Request
+
+ 8、在GitHub中编写实验报告
+
+## 三、实验结果
+
+ !555.png (277×561) https://raw.githubusercontent.com/1614080902239/android-labs-2018/1dd27cdf39ef13974f6c9f52c13c8438064c9b7d/soft1614080902239/555.png
+ !666.png (284×589) https://raw.githubusercontent.com/1614080902239/android-labs-2018/1dd27cdf39ef13974f6c9f52c13c8438064c9b7d/soft1614080902239/666.png
+
+## 四、实验体会
+
+ 文件存储的方式有很多种,在这次实验中我采取了内部存储的存储方式,操作起来相对还是比较简单的,虽然有些地方刚开始有点乱,所幸后面经过室友跟老师的指导之后弄懂了,很感谢!之后会更加努力摸索出安卓中更多的奥妙。
+
diff --git a/soft1614080902239/report6.md b/soft1614080902239/report6.md
new file mode 100644
index 000000000..8f5291640
--- /dev/null
+++ b/soft1614080902239/report6.md
@@ -0,0 +1,29 @@
+ # 实验目标
+ ## 1.掌握Android网络访问方法;
+ ## 2.理解XML和JSON表示数据的方法。
+ # 实验内容
+ ## 1.在个人目录中创建一个表示数据的XML或JSON文件;
+ ## 2.数据文件代码提交之后从GitHub获取文件URL;
+ ## 3.在应用中通过网络编程访问GitHub的数据文件;
+ ## 4.在应用中解析并显示文件所包含的数据;
+ ## 5.将应用运行结果截图。
+ # 实验步骤
+ ## 1.在soft1614080902239文件夹下新建一个content.json文件;
+ ## 2.通过git bash把content.json上传到自己的github库下;
+ ## 3.点击github下的content.json文件,点击右上角的 raw 按钮,地址栏的地址即content.json的url地址;
+
+ ## 4.为了能够连接网络,需要在AndroidMainfest.xml中添加相应权限:
+ ```
+
+
+
+
+
+
+ ```
+ ## 5.运行截图
+ ## 6.提交创建的文件
+ # 实验结果
+ ! https://raw.githubusercontent.com/1614080902239/android-labs-2018/master/soft1614080902239/777.png
+ # 实验体会
+ ## 本次实验通过网络编程获取和解析json文件,一开始没有注意到json的格式问题,导致运行时出现问题,后面调整过来就好了,界面的布局相对有点简陋,但是经过这次的实验,更加懂得了做什么都还是要很细心,特别是写程序方面,一丁点的错误都会毁掉整个程序,很感谢室友和老师的指导,后面还会继续努力的。