diff --git a/soft1614080902232/app/src/main/AndroidManifest.xml b/soft1614080902232/app/src/main/AndroidManifest.xml index 081a73e17..dd5e93a46 100644 --- a/soft1614080902232/app/src/main/AndroidManifest.xml +++ b/soft1614080902232/app/src/main/AndroidManifest.xml @@ -1,5 +1,14 @@ + + + + + + + + + + diff --git a/soft1614080902232/app/src/main/java/edu/hzuapps/androidlabs/soft1614080902232/Main2Activity.java b/soft1614080902232/app/src/main/java/edu/hzuapps/androidlabs/soft1614080902232/Main2Activity.java new file mode 100644 index 000000000..059f7b39a --- /dev/null +++ b/soft1614080902232/app/src/main/java/edu/hzuapps/androidlabs/soft1614080902232/Main2Activity.java @@ -0,0 +1,102 @@ +package edu.hzuapps.androidlabs.soft1614080902232; + +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.util.Log; +import android.view.View; +import android.widget.TextView; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.json.JSONStringer; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + +public class Main2Activity extends AppCompatActivity { + + private TextView texts; + private String text; + public static final String TAG = Main2Activity.class.getSimpleName(); + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main2); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + texts = ((TextView) findViewById(R.id.readView2)); + getJson(); + } + + public void getJson() { + new Thread() { + @Override + public void run() { + try { + // 你的 URL + Log.i(TAG, "01"); + String url_s = "https://raw.githubusercontent.com/JinmingH/android-labs-2018/master/soft1614080902232/information.json"; + URL url = new URL(url_s); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + Log.i(TAG, "1"); + conn.setConnectTimeout(5000); + conn.setUseCaches(false); + conn.connect(); + InputStream inputStream = conn.getInputStream(); + InputStreamReader input = new InputStreamReader(inputStream); + BufferedReader buffer = new BufferedReader(input); + if (conn.getResponseCode() == 200) { + String inputLine; + StringBuffer resultData = new StringBuffer(); + while ((inputLine = buffer.readLine()) != null) { + resultData.append(inputLine); + } + text = resultData.toString(); + Log.v("out---------------->", text); + + + runOnUiThread(new Runnable() { + @Override + public void run() { + try { + JSONArray js = new JSONArray(text); + JSONObject ob = js.getJSONObject(0); + String str = ob.getString("sentence"); + texts.setText(str); + ob = js.getJSONObject(1); + str = ob.getString("data"); + texts.append(str); + }catch(Exception e){ + e.printStackTrace(); + } + } + }); + + } + } catch (Exception e) { + Log.i(TAG, "5"); + e.printStackTrace(); + } + + } + + + }.start(); + } + +} diff --git a/soft1614080902232/app/src/main/res/layout/activity_main2.xml b/soft1614080902232/app/src/main/res/layout/activity_main2.xml new file mode 100644 index 000000000..e6de2ebc1 --- /dev/null +++ b/soft1614080902232/app/src/main/res/layout/activity_main2.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/soft1614080902232/report4.md b/soft1614080902232/report4.md new file mode 100644 index 000000000..68a4a118b --- /dev/null +++ b/soft1614080902232/report4.md @@ -0,0 +1,20 @@ +# 1.实验要求 +1)根据选题要求设计界面布局及控件使用; +2)布局xml及界面控制操作代码提交并截图; +3)将应用运行结果截图。 +# 2.实验内容 +1)使用其中一种布局方式(本界面所选题目的布局为RelativeLayout) ; +2)页面有一个按钮,通过控件id获取界面对象,执行相关操作,跳道各自的页面; +3)实现界面控件的事件处理,例如点击按钮。 +# 3.实验步骤 +(1)在首页添加了添加按钮,点击后跳转到记事本页面。 +(2)在记事本页面 ConstraintLayout 里分别创建了一个 LinearLayout 和一个 RelativeLayout。 +(3)在记事本页面增加了保存和取消这 两个按钮,点击后分别执行保存记事本到txt文件和退出操作。 +(4)在记事本页面增加了一个 EditText,用于储存文本内容。 +# 4实验结果 + +![image](https://github.com/JinmingH/android-labs-2018/blob/master/soft1614080902232/shiyan4.1.png) +![image](https://github.com/JinmingH/android-labs-2018/blob/master/soft1614080902232/shiyan4.2.png) + +# 5.实验体会 +这个实验我做了很久,上网查了之后,才知道要一些东西要怎么做。总体来说学到了不少。 diff --git a/soft1614080902232/report5.md b/soft1614080902232/report5.md new file mode 100644 index 000000000..134593719 --- /dev/null +++ b/soft1614080902232/report5.md @@ -0,0 +1,30 @@ +# 第五次实验 + +## 1. 实验目标 + +- 掌握在 Android App 中存储数据。 + +## 2. 实验内容 + +- (1). 将应用产生的数据保存到文件存储中; +- (2). 说明使用的文件存储方式:内部 or 外部; +- (3). 将运行结果截图。 + +## 3. 实验步骤 + +- (1). 添加了一个 textview。 +- (2). 把 textview 的内容赋给 string 对象。 +- (3). 我用 FileOutputStream 把 String 的内容写到文本中,用的是内部存储。 +- (4). 再把数据从文本中读出来显示到 textView。 + +## 4. 实验结果 +![image()](https://github.com/JinmingH/android-labs-2018/blob/master/soft1614080902232/shiyan4.1.png) + +![image()](https://github.com/JinmingH/android-labs-2018/blob/master/soft1614080902232/shiyan5.1.png) + +![image()](https://github.com/JinmingH/android-labs-2018/blob/master/soft1614080902232/shiyan5.2.PNG) + +## 5. 实验体会 + +通过本次实验掌握在 Android App 中存储数据的一种方法,将应用产生的数据保存到文件存储中。 +由于很久没打过 java 了,很多都有点忘记了,这个实验让我把回去把 java.IO 这方面又看了一下。 diff --git a/soft1614080902232/shiyan6[1].png b/soft1614080902232/shiyan6[1].png new file mode 100644 index 000000000..d86660f6a Binary files /dev/null and b/soft1614080902232/shiyan6[1].png differ