团队组成:马苗苗,闫亮,田文静,刘瑞阳
个人特点:
闫亮:队长,虽然没有过硬的编码技术,但是善于与人相处交流,可以带领团队更好的完成任务。
田文静:在团队中的优点是具有一定的编程基础,肯学习,有耐心,容易融入集体,性格开朗,为人正直。我非常高兴也非常荣幸的加入到这个大家庭中来,这里不仅为我提供了一个成长锻炼、展示自我的良好平台,也让我有机会认识更多的新同事、新朋友。
刘瑞阳:编程能力虽然不强,但是团结友爱,开朗,做事认真。
马苗苗:编程能力一般但乐于去钻研学习。
我昨天完成了几个基本界面的大致展示,花了4个小时左右,没剩时间。
遇到的问题基本就是,没有功能,思路不全,不知道设几个按钮才合适,能为以后的功能输写打好基础。
今天的任务是完成激励语录的一个功能。
package com.example.hp.app3;
/*
学会调用互联网API(公共的)
*/
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
private int GET_DATA_SUCCESS = 101;//获取信息成功的标志
private TextView mTvShow;
private BufferedReader bufferedreader;
private InputStream inputstream;
private StringBuilder stringBuilder;
private HttpURLConnection connection;
//多线程传输数据 Handler
Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
if(message.what==GET_DATA_SUCCESS){
String data = message.getData().getString("data");
Log.i("MainActivity",data);
mTvShow.setText(data);
}
return false;
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initUI();
//初始化数据
initData();
}
private void initUI() {
//获取文本框
mTvShow = (TextView) findViewById(R.id.tv_show);
//获取按钮
findViewById(R.id.btn).setOnClickListener(this);
}
@Override
public void onClick(View view) {
//初始化数据
initData();
}
private void initData() {
//请求网络(创建一个主线程,否则数据太多过不来)
new Thread(new Runnable() {
@Override
public void run() {
//定义一个方法,从服务器获取数据。
String data = getDataFromServer();
//创建信息对象
Message message = Message.obtain();
Bundle bundle = new Bundle();
bundle.putString("data",data);
message.setData(bundle);
//设置一个标志:
message.what = GET_DATA_SUCCESS;
//向主线程发信息
mHandler.sendMessage(message);
}
}).start();
}
//从服务器获取数据
private String getDataFromServer() {
try{
//1.创建一个URL
URL url = new URL("https://v1.hitokoto.cn/?c=f&encode=text");
//2.打开链接
connection = (HttpURLConnection) url.openConnection();
//3.判断并处理结果
if(connection.getResponseCode()==200){
//获取链接的输入流
inputstream = connection.getInputStream();
//判断读取的数据
bufferedreader = new BufferedReader(new InputStreamReader(inputstream));
stringBuilder=new StringBuilder();
for(String line = "";(line=bufferedreader.readLine())!=null;){
stringBuilder.append(line);
}
return stringBuilder.toString();
}
}catch(Exception e){
e.printStackTrace();
}finally {
try{
if(inputstream!=null)inputstream.close();
if(bufferedreader!=null)bufferedreader.close();
if(connection!=null)connection.disconnect();
}catch(Exception e){
e.printStackTrace();
}
}
return "";
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hp.app3">
//需要添加:
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>