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

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

主界面的列表布局
<?xml version="1.0" encoding="utf-8"?>

<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);
        }
    });
}

}
实现的界面
1118746-20170328224600389-809802774.png

注册界面布局
<?xml version="1.0" encoding="utf-8"?>

<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);
        }
    });
}

}

1118746-20170328224841545-623949332.png

跳转界面
<?xml version="1.0" encoding="utf-8"?>

<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();
    }
}

}
1118746-20170328225018092-1456639279.png

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

转载于:https://www.cnblogs.com/u1118746/p/6637474.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值