结对编码(柳祎、张许君)

倾城日记
倾城日记(Allure)
功能介绍:这是一款日记app,用于写日记,记事。
外观:采用文艺型,原因,因为一般经常性写日记的都是属于文艺类型的,所以采用这种这种风格。
编写测试:柳祎、张许君。

主界面的列表布局

<TextView
    android:id="@+id/tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="从前车马很慢,
        书信很远, 一生只够爱一个人"
    android:textColor="#FFF"
    android:textSize="25px"
    android:fontFamily="monospace"
    android:layout_weight="0"
    android:layout_marginTop="35dp"/>


<RadioButton
    android:id="@+id/rb1"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:button="null"
    android:layout_marginTop="400dp"
    android:layout_marginLeft="255dp"
    android:drawableTop="@drawable/plane"/>
主界面编码 package com.example.liuy.liuyi;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;

public class MainActivity extends AppCompatActivity {
private RadioButton rb1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    rb1=(RadioButton)findViewById(R.id.rb1);
    rb1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, Login.class);
            startActivity(intent);
        }
    });
}

}
实现的界面

注册界面布局

<TextView
    android:id="@+id/tv2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="Welcome to Allure !"
    android:textSize="55px"
    android:textColor="#fff"
    android:fontFamily="monospace"/>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/tv3"
        android:layout_width="88dp"
        android:layout_height="36dp"
        android:text="Admin:"
        android:textSize="45px"
        android:textColor="#AAAAFF"
        android:layout_marginLeft="45dp"
        android:layout_marginTop="55dp"/>

    <EditText
        android:id="@+id/et_password"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/tv4"
        android:layout_width="88dp"
        android:layout_height="36dp"
        android:text="Password:"
        android:textSize="45px"
        android:textColor="#AAAAFF"
        android:layout_marginLeft="45dp"
        android:layout_marginTop="55dp"/>

    <EditText
        android:id="@+id/et_username"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>
<Button
    android:id="@+id/btn1"
    android:layout_width="155dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="125dp"
    android:text="注册"
    android:textSize="35px"
    android:textColor="#fff"
    android:fontFamily="monospace"
    android:layout_marginTop="100dp"/>
注册界面代码 package com.example.liuy.liuyi;

import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

/**

  • Created by liuY on 2017/3/28.
    */

public class Login extends AppCompatActivity {
private Button btn1;

@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    btn1 = (Button) findViewById(R.id.btn1);
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Login.this, Page.class);
        }
    });
}

}

跳转界面

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/welcome" />

<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:button="null"
    android:background="@drawable/add1"/>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="350dp">

    <RadioButton
        android:id="@+id/search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:drawableTop="@drawable/search"
        android:button="null"/>

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:drawableTop="@drawable/notebook"
        android:button="null"
        android:id="@+id/radioButton" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:drawableTop="@drawable/camera"
        android:button="null"/>

</LinearLayout>
跳转界面代码 package com.example.liuy.liuyi;

/**

  • Created by liuY on 2017/3/28.
    */

import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Page extends AppCompatActivity{
private RadioButton search;
private ProgressDialog progressDialog;
private final String IMAGE_PATH = "http://www.baidu.com/img/bd_logo1.png";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    search = (RadioButton) findViewById(R.id.search);
    progressDialog = new ProgressDialog(Page.this);
    progressDialog.setTitle("提示信息");
    progressDialog.setCancelable(false);
    progressDialog.setMessage("正在下载,请稍候。。。");

// progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

    search.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new MyAsyncTask().execute(IMAGE_PATH);
        }
    });

}

public class MyAsyncTask extends AsyncTask<String, Integer, byte[]> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        progressDialog.show();
    }

    @Override
    protected byte[] doInBackground(String... strings) {
        byte[] image = new byte[] {};
        HttpURLConnection conn = null;
        InputStream inputStream = null;
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

        try {
            URL url = new URL(strings[0]);
            conn = (HttpURLConnection)url.openConnection();
            if (conn.getResponseCode() == 200) {
                long file_length = conn.getContentLength();
                long total_length = 0;
                int length = 0;
                byte[] data = new byte[1024];
                inputStream = conn.getInputStream();
                while (-1 != (length = inputStream.read(data))) {
                    total_length += length;
                    byteArrayOutputStream.write(data, 0, length);
                    int progress = ((int) (total_length*100/(float)file_length));
                    publishProgress(progress);

                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                //image = byteArrayOutputStream.toByteArray();
                inputStream.close();
                byteArrayOutputStream.close();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            conn.disconnect();
        }
        return image;
    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        super.onProgressUpdate(values);
        progressDialog.setProgress(values[0]);
    }

    @Override
    protected void onPostExecute(byte[] bytes) {
        super.onPostExecute(bytes);
        Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
        progressDialog.dismiss();
    }
}

}

测试用例1:
用户名输入特殊字符,检测是否能识别到
结果:都能准确的反映出来
测试用例2:
点击按钮,检测是否可以跳转页面
结果:跳转页面稍有延迟(可能是电脑内存小的原因)
测试用例3:
点击按钮,检测是否能够跳转到网页
结果:失败

posted @ 2017-03-28 22:53  后来啊  阅读(188)  评论(0编辑  收藏  举报