最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

安卓APP源碼和設(shè)計(jì)報(bào)告——健身系統(tǒng)

2022-12-08 00:36 作者:ChatGPT云炬學(xué)長  | 我要投稿

一、設(shè)計(jì)背景

1.需求分析

對(duì)于很多人來說擁有一副好身材能讓自己增添不少魅力;對(duì)于愛吃而又擔(dān)心自己發(fā)胖的人來說適當(dāng)?shù)倪\(yùn)動(dòng)健身是最好的選擇。移動(dòng)互聯(lián)網(wǎng)時(shí)代,市場上“約跑”“約健身”健身APP軟件成為新時(shí)代閨蜜朋友的互動(dòng)模式,健身熱潮的來臨,這樣讓越來越多的人加入健身的行列中,大眾的健身熱情也刺激著更多與健身有關(guān)的產(chǎn)業(yè)飛速發(fā)展,尤其是與“互聯(lián)網(wǎng)+”結(jié)合產(chǎn)生的智能健身運(yùn)動(dòng)App開發(fā)更是發(fā)展得如火如荼... 人們通過一款健身運(yùn)動(dòng)型App應(yīng)用就可以隨時(shí)隨地的進(jìn)行健身鍛煉,可以不用去健身房鍛煉也可以達(dá)到完美的身材,這樣健身運(yùn)動(dòng)App開發(fā)給人們帶來了極大的方便。所以這次做的是一款健身類的軟件,為了方便用戶隨時(shí)隨地可以健身。在配色方面使用白色和綠色非常簡單的顏色能讓人眼前一亮。在軟件功能方面,用戶首先需要注冊用戶名填寫密碼,注冊成功之后,用戶可以用之前注冊的用戶名和密碼進(jìn)行登錄。登錄成功之后進(jìn)入到導(dǎo)航頁面,其中包括會(huì)員信息和健身項(xiàng)目兩個(gè)部分,會(huì)員信息記錄了會(huì)員的姓名身高體重等一些基本信息,還可以查看用戶報(bào)名的課程名稱,可以增加以及刪除報(bào)名項(xiàng)目,健身項(xiàng)目頁面則是列舉出一些項(xiàng)目名稱來供用戶選擇。

2.目的和意義

所以這次做的是一款健身類的軟件,為了方便用戶隨時(shí)隨地可以健身。在配色方面使用白色和綠色非常簡單的顏色能讓人眼前一亮。在軟件功能方面,用戶首先需要注冊用戶名填寫密碼,注冊成功之后,用戶可以用之前注冊的用戶名和密碼進(jìn)行登錄。登錄成功之后進(jìn)入到導(dǎo)航頁面,其中包括會(huì)員信息和健身項(xiàng)目兩個(gè)部分,會(huì)員信息記錄了會(huì)員的姓名身高體重等一些基本信息,還可以查看用戶報(bào)名的課程名稱,可以增加以及刪除報(bào)名項(xiàng)目,健身項(xiàng)目頁面則是列舉出一些項(xiàng)目名稱來供用戶選擇。

系統(tǒng)需求分析與開發(fā)環(huán)境系統(tǒng)功能需求

需要包含登入注冊功能,用戶名和密碼儲(chǔ)存在Sharedpreferences輕型數(shù)據(jù)類中,按鈕實(shí)現(xiàn)頁面跳轉(zhuǎn)。包括數(shù)據(jù)庫的增刪查改功能,采用的是SQLite數(shù)據(jù)庫。系統(tǒng)界面需求

簡介美觀,采用代表健康的綠色作為主色調(diào),和健身的主題相符合。注冊和登入的頁面參考了許多app,要讓頁面做到簡介美觀,所以登入注冊頁面都用到了自定義按鈕樣式和自定義輸入框樣式,按鈕設(shè)計(jì)出顏色漸變的樣式并加入圓角看起來不生硬,輸入框同樣加入了圓角的設(shè)計(jì)。開發(fā)環(huán)境

Android studio3.5.0

系統(tǒng)設(shè)計(jì)

登入注冊頁面制作完后,做了一個(gè)導(dǎo)航頁面,頁面上方可以橫向滑動(dòng)健身館內(nèi)部的圖片。然后是會(huì)員頁面,用戶可以通過這個(gè)頁面查詢自己會(huì)員信息,這個(gè)頁面也加入了增刪查改的功能,采用的是SQlite數(shù)據(jù)庫,方便用戶對(duì)課程時(shí)間的記錄。頁面的設(shè)計(jì)同樣采用了按鈕的自定義樣式和輸入框的自定義樣式。頁面上方是用戶的基本信息介紹,頭像部分也是設(shè)計(jì)了一個(gè)圖片樣式的自定義,給圖片添加了一個(gè)邊框,使頁面看起來和諧統(tǒng)一美觀。

最后是一個(gè)課程的展示界面,包括了健身館開展的全部課程,方便用戶查看和挑選。

系統(tǒng)測試電腦模擬器測試

總結(jié)與展望

1.總結(jié)

在這次移動(dòng)終端開發(fā)課程設(shè)計(jì)過程中,我發(fā)現(xiàn)平時(shí)學(xué)習(xí)的知識(shí)與實(shí)踐環(huán)節(jié)所用到的有一定的差距,往往我覺得自己掌握的很好或者自認(rèn)為熟練的技術(shù)卻在此次實(shí)踐環(huán)節(jié)中往往出問題,書本上的知識(shí)只提供方法的借鑒,實(shí)踐中自己必須摸索出適合具體工作的方法,這一切都離不開鉆研精神與勤學(xué)好問的精神.在人與人相處過程中我收獲更大,首先要謙虛謹(jǐn)慎,不能自以為是,認(rèn)為自己懂得很多,而僅僅埋頭苦干,而不向他人請(qǐng)教,工作不但是實(shí)踐與應(yīng)用的過程,同時(shí)也是學(xué)習(xí)的過程,我們必須加強(qiáng)與他人的溝通學(xué)習(xí),以便獲得與他人的交流。在這短短的時(shí)間里,讓我深深的感覺到自己在實(shí)際應(yīng)用中所學(xué)專業(yè)知識(shí)的匱乏。讓我真真領(lǐng)悟到“學(xué)無止境”這句話的涵義。而老師在專業(yè)認(rèn)識(shí)周中所講的,都是課本上沒有而對(duì)我們又非常實(shí)用的東西,這又給我們的實(shí)訓(xùn)增加了濃墨淡采的光輝。我懂得了實(shí)際生活中,專業(yè)知識(shí)是怎樣應(yīng)用與實(shí)踐的。在這些過程中,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識(shí),而且讓我深深體會(huì)到一個(gè)團(tuán)隊(duì)中各成員合作的重要性,要善于團(tuán)隊(duì)合作,善于利用別人的智慧,這才是大智慧??繂我坏牧α渴呛茈y完成一個(gè)大項(xiàng)目的,在進(jìn)行團(tuán)隊(duì)合作的時(shí)候,還要耐心聽取每個(gè)成員的意見,使我們的組合達(dá)到更加完美。重要程序LoginActivity

public class?LoginActivity?extends?AppCompatActivity {

private?TextView?tv_main_title;

//標(biāo)題

private?TextView?tv_back,tv_register,tv_find_psw;

//返回鍵,顯示的注冊,找回密碼

private?Button?btn_login;

//登錄按鈕

private?String?userName,psw,spPsw;

//獲取的用戶名,密碼,加密密碼

private?EditText?et_user_name,et_psw;

//編輯框

@Override

protected void?onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.

activity_login

);

//設(shè)置此界面為豎屏

setRequestedOrientation(ActivityInfo.

SCREEN_ORIENTATION_PORTRAIT

);

init();

}

//獲取界面控件

private void?init() {

//從main_title_bar中獲取的id

tv_main_title=findViewById(R.id.

tv_main_title

);

tv_main_title.setText("登錄");

tv_back=findViewById(R.id.

tv_back

);

//從activity_login.xml中獲取的

tv_register=findViewById(R.id.

tv_register

);

tv_find_psw=findViewById(R.id.

tv_find_psw

);

btn_login=findViewById(R.id.

btn_login

);

et_user_name=findViewById(R.id.

et_user_name

);

et_psw=findViewById(R.id.

et_psw

);

//返回鍵的點(diǎn)擊事件

tv_back.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

//登錄界面銷毀

LoginActivity.this.finish();

}

});

//立即注冊控件的點(diǎn)擊事件

tv_register.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

//為了跳轉(zhuǎn)到注冊界面,并實(shí)現(xiàn)注冊功能

Intent intent=new?Intent(LoginActivity.this,RegisterActivity.class);

startActivityForResult(intent, 1);

}

});

//找回密碼控件的點(diǎn)擊事件

tv_find_psw.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

//跳轉(zhuǎn)到找回密碼界面(此頁面暫未創(chuàng)建)

}

});

//登錄按鈕的點(diǎn)擊事件

btn_login.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

//開始登錄,獲取用戶名和密碼 getText().toString().trim();

userName=et_user_name.getText().toString().trim();

psw=et_psw.getText().toString().trim();

//對(duì)當(dāng)前用戶輸入的密碼進(jìn)行MD5加密再進(jìn)行比對(duì)判斷, MD5Utils.md5( ); psw 進(jìn)行加密判斷是否一致

String md5Psw= MD5Utils.

md5

(psw);

// md5Psw ; spPsw 為 根據(jù)從SharedPreferences中用戶名讀取密碼

// 定義方法 readPsw為了讀取用戶名,得到密碼

spPsw=readPsw(userName);

// TextUtils.isEmpty

if(TextUtils.

isEmpty

(userName)){

Toast.

makeText

(LoginActivity.this,?"請(qǐng)輸入用戶名", Toast.

LENGTH_SHORT

).show();

return;

}else if(TextUtils.

isEmpty

(psw)){

Toast.

makeText

(LoginActivity.this,?"請(qǐng)輸入密碼", Toast.

LENGTH_SHORT

).show();

return;

// md5Psw.equals(); 判斷,輸入的密碼加密后,是否與保存在SharedPreferences中一致

}else if(md5Psw.equals(spPsw)){

//一致登錄成功

Toast.

makeText

(LoginActivity.this,?"登錄成功", Toast.

LENGTH_SHORT

).show();

//保存登錄狀態(tài),在界面保存登錄的用戶名 定義個(gè)方法 saveLoginStatus boolean 狀態(tài) , userName 用戶名;

saveLoginStatus(true,?userName);

//登錄成功后關(guān)閉此頁面進(jìn)入主頁

Intent data=new?Intent();

//datad.putExtra( ); name , value ;

data.putExtra("isLogin",true);

//RESULT_OK為Activity系統(tǒng)常量,狀態(tài)碼為-1

// 表示此頁面下的內(nèi)容操作成功將data返回到上一頁面,如果是用back返回過去的則不存在用setResult傳遞data值

setResult(

RESULT_OK

,data);

//銷毀登錄界面

LoginActivity.this.finish();

//跳轉(zhuǎn)到主界面,登錄成功的狀態(tài)傳遞到 MainActivity 中

startActivity(new?Intent(LoginActivity.this,Classification.class));

return;

}else if((spPsw!=null&&!TextUtils.

isEmpty

(spPsw)&&!md5Psw.equals(spPsw))){

Toast.

makeText

(LoginActivity.this,?"輸入的用戶名和密碼不一致", Toast.

LENGTH_SHORT

).show();

return;

}else{

Toast.

makeText

(LoginActivity.this,?"此用戶名不存在", Toast.

LENGTH_SHORT

).show();

}

}

});

}

private?String readPsw(String userName){

//getSharedPreferences("loginInfo",MODE_PRIVATE);

//"loginInfo",mode_private; MODE_PRIVATE表示可以繼續(xù)寫入

SharedPreferences sp=getSharedPreferences("loginInfo",?

MODE_PRIVATE

);

//sp.getString() userName, "";

return?sp.getString(userName ,?"");

}

private void?saveLoginStatus(boolean?status,String userName){

//saveLoginStatus(true, userName);

//loginInfo表示文件名 SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE);

SharedPreferences sp=getSharedPreferences("loginInfo",?

MODE_PRIVATE

);

//獲取編輯器

SharedPreferences.Editor editor=sp.edit();

//存入boolean類型的登錄狀態(tài)

editor.putBoolean("isLogin", status);

//存入登錄狀態(tài)時(shí)的用戶名

editor.putString("loginUserName", userName);

//提交修改

editor.commit();

}

/**

* 注冊成功的數(shù)據(jù)返回至此

*?@param requestCode?請(qǐng)求碼

*?@param resultCode?結(jié)果碼

*?@param data?數(shù)據(jù)

*/

@Override

//顯示數(shù)據(jù), onActivityResult

//startActivityForResult(intent, 1); 從注冊界面中獲取數(shù)據(jù)

//int requestCode , int resultCode , Intent data

// LoginActivity -> startActivityForResult -> onActivityResult();

protected void?onActivityResult(int?requestCode,?int?resultCode, Intent data) {

//super.onActivityResult(requestCode, resultCode, data);

super.onActivityResult(requestCode, resultCode, data);

if(data!=null){

//是獲取注冊界面回傳過來的用戶名

// getExtra().getString("***");

String userName=data.getStringExtra("userName");

if(!TextUtils.

isEmpty

(userName)){

//設(shè)置用戶名到 et_user_name 控件

et_user_name.setText(userName);

//et_user_name控件的setSelection()方法來設(shè)置光標(biāo)位置

et_user_name.setSelection(userName.length());

}

}

}

}RegisterActivity

public class?RegisterActivity?extends?AppCompatActivity {

private?TextView?tv_main_title;

//標(biāo)題

private?TextView?tv_back;

//返回按鈕

private?Button?btn_register;

//注冊按鈕

//用戶名,密碼,再次輸入的密碼的控件

private?EditText?et_user_name,et_psw,et_psw_again;

//用戶名,密碼,再次輸入的密碼的控件的獲取值

private?String?userName,psw,pswAgain;

//標(biāo)題布局

private?RelativeLayout?rl_title_bar;

@Override

protected void?onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//設(shè)置頁面布局 ,注冊界面

setContentView(R.layout.

activity_register

);

//設(shè)置此界面為豎屏

setRequestedOrientation(ActivityInfo.

SCREEN_ORIENTATION_PORTRAIT

);

init();

}

private void?init() {

//從main_title_bar.xml 頁面布局中獲取對(duì)應(yīng)的UI控件

tv_main_title=findViewById(R.id.

tv_main_title

);

tv_main_title.setText("注冊");

tv_back=findViewById(R.id.

tv_back

);

//布局根元素

rl_title_bar=findViewById(R.id.

title_bar

);

rl_title_bar.setBackgroundColor(Color.

TRANSPARENT

);

//從activity_register.xml 頁面中獲取對(duì)應(yīng)的UI控件

btn_register=findViewById(R.id.

btn_register

);

et_user_name=findViewById(R.id.

et_user_name

);

et_psw=findViewById(R.id.

et_psw

);

et_psw_again=findViewById(R.id.

et_psw_again

);

tv_back.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

//返回鍵

RegisterActivity.this.finish();

}

});

//注冊按鈕

btn_register.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

//獲取輸入在相應(yīng)控件中的字符串

getEditString();

//判斷輸入框內(nèi)容

if(TextUtils.

isEmpty

(userName)){

Toast.

makeText

(RegisterActivity.this,?"請(qǐng)輸入用戶名", Toast.

LENGTH_SHORT

).show();

return;

}else if(TextUtils.

isEmpty

(psw)){

Toast.

makeText

(RegisterActivity.this,?"請(qǐng)輸入密碼", Toast.

LENGTH_SHORT

).show();

return;

}else if(TextUtils.

isEmpty

(pswAgain)){

Toast.

makeText

(RegisterActivity.this,?"請(qǐng)?jiān)俅屋斎朊艽a", Toast.

LENGTH_SHORT

).show();

return;

}else if(!psw.equals(pswAgain)){

Toast.

makeText

(RegisterActivity.this,?"輸入兩次的密碼不一樣", Toast.

LENGTH_SHORT

).show();

return;

/**

*從SharedPreferences中讀取輸入的用戶名,判斷SharedPreferences中是否有此用戶名

*/

}else if(isExistUserName(userName)){

Toast.

makeText

(RegisterActivity.this,?"此賬戶名已經(jīng)存在", Toast.

LENGTH_SHORT

).show();

return;

}else{

Toast.

makeText

(RegisterActivity.this,?"注冊成功", Toast.

LENGTH_SHORT

).show();

//把賬號(hào)、密碼和賬號(hào)標(biāo)識(shí)保存到sp里面

/**

* 保存賬號(hào)和密碼到SharedPreferences中

*/

saveRegisterInfo(userName,?psw);

//注冊成功后把賬號(hào)傳遞到LoginActivity.java中

// 返回值到loginActivity顯示

Intent data =?new?Intent();

data.putExtra("userName",?userName);

setResult(

RESULT_OK

, data);

//RESULT_OK為Activity系統(tǒng)常量,狀態(tài)碼為-1,

// 表示此頁面下的內(nèi)容操作成功將data返回到上一頁面,如果是用back返回過去的則不存在用setResult傳遞data值

RegisterActivity.this.finish();

}

}

});

}

/**

* 獲取控件中的字符串

*/

private void?getEditString(){

userName=et_user_name.getText().toString().trim();

psw=et_psw.getText().toString().trim();

pswAgain=et_psw_again.getText().toString().trim();

}

/**

* 從SharedPreferences中讀取輸入的用戶名,判斷SharedPreferences中是否有此用戶名

*/

private boolean?isExistUserName(String userName){

boolean?has_userName=false;

//mode_private SharedPreferences sp = getSharedPreferences( );

// "loginInfo", MODE_PRIVATE

SharedPreferences sp=getSharedPreferences("loginInfo",?

MODE_PRIVATE

);

//獲取密碼

String spPsw=sp.getString(userName,?"");

//傳入用戶名獲取密碼

//如果密碼不為空則確實(shí)保存過這個(gè)用戶名

if(!TextUtils.

isEmpty

(spPsw)) {

has_userName=true;

}

return?has_userName;

}

private void?saveRegisterInfo(String userName,String psw){

String md5Psw = MD5Utils.

md5

(psw);

//把密碼用MD5加密

//loginInfo表示文件名, mode_private SharedPreferences sp = getSharedPreferences( );

SharedPreferences sp=getSharedPreferences("loginInfo",?

MODE_PRIVATE

);

//獲取編輯器, SharedPreferences.Editor editor -> sp.edit();

SharedPreferences.Editor editor=sp.edit();

//以用戶名為key,密碼為value保存在SharedPreferences中

//key,value,如鍵值對(duì),editor.putString(用戶名,密碼);

editor.putString(userName, md5Psw);

//提交修改 editor.commit();

editor.commit();

}

}DatabaseHelper

public class?DatabaseHelper?extends?SQLiteOpenHelper {

public?DatabaseHelper(Context context){super(context,"Test.db",null,1);}

//第一個(gè)參數(shù)是上下文,第二個(gè)參數(shù)是數(shù)據(jù)庫名稱,

//第三個(gè)參數(shù)是CursorFactory對(duì)象,一般設(shè)置為null,第四個(gè)參數(shù)是數(shù)據(jù)庫的版本

public void?onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20),age INTEGER)");

}

//創(chuàng)建表 表名information 表結(jié)構(gòu) 自增id,字符串姓名,int年齡

public void?onUpgrade(SQLiteDatabase db,?int?oldVersion,?int?newVersion) {

Log.

d

("myDeBug","數(shù)據(jù)庫版本已更新");

}

//數(shù)據(jù)庫版本發(fā)生變化時(shí)調(diào)用

}

4.DictActivity

public class?DictActivity?extends?AppCompatActivity {

private?Button?insertButton,?updateButton,?searchButton,?deleteButton;

private?Button?btn_xl1;

private?EditText?name,?age;

private?TextView?show,?showAge;

final?DatabaseHelper?dbHelper?=?new?DatabaseHelper(DictActivity.this);

@Override

protected void?onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.

activity_dict

);

btn_xl1?= findViewById(R.id.

btn_xl

);

btn_xl1.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View view) {

//創(chuàng)建Intent 對(duì)象

Intent intent =?new?Intent(DictActivity.this, Classification.class);

//啟動(dòng)Activity

startActivity(intent);

}

});

insertButton?= findViewById(R.id.

btn_insert

);

updateButton?= findViewById(R.id.

btn_update

);

searchButton?= findViewById(R.id.

btn_search

);

deleteButton?= findViewById(R.id.

btn_delete

);

name?= findViewById(R.id.

name

);

age?= findViewById(R.id.

age

);

show?= findViewById(R.id.

tv_show

);

showAge?= findViewById(R.id.

tv_showAge

);

SQLiteDatabase db =?dbHelper.getReadableDatabase();

myShow();

insertButton.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

SQLiteDatabase db =?dbHelper.getWritableDatabase();

ContentValues values =?new?ContentValues();

values.put("name",?name.getText().toString());

values.put("age",?age.getText().toString());

long?id = db.insert("information",?null, values);

Log.

d

("myDeBug",?"insert");

myShow();

db.close();

name.setText(null);

age.setText(null);

}

});

updateButton.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

SQLiteDatabase db =?dbHelper.getWritableDatabase();

ContentValues values =?new?ContentValues();

values.put("age",?age.getText().toString());

db.update("information", values,?"name=?",?new?String[]{name.getText().toString()});

myShow();

db.close();

Log.

d

("myDebug",?"update");

name.setText(null);

age.setText(null);

}

});

searchButton.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

SQLiteDatabase db =?dbHelper.getWritableDatabase();

String name1 =?name.getText().toString();

show.setText(null);

if?(name1.equals("")) {

myShow();

db.close();

}?else?{

show.setText("項(xiàng)目名稱");

showAge.setText("日期");

Cursor cursor = db.rawQuery("select * from information where name = ? ",?new?String[]{name1});

while?(cursor.moveToNext()) {

String newName = cursor.getString(cursor.getColumnIndex("name"));

int?newAge = cursor.getInt(cursor.getColumnIndex("age"));

// show.setText(show.getText() + "\n" + newName + "\t" + newAge);

show.setText(show.getText() +?"\n"?+ newName);

showAge.setText(showAge.getText() +?"\n"?+ newAge);

}

cursor.close();

db.close();

name.setText(null);

age.setText(null);

}

}

});

deleteButton.setOnClickListener(new?View.OnClickListener() {

@Override

public void?onClick(View v) {

SQLiteDatabase db =?dbHelper.getWritableDatabase();

db.delete("information",?"name=?",?new?String[]{name.getText().toString()});

myShow();

db.close();

Log.

d

("myDeBug",?"DeleteSuccess");

name.setText(null);

age.setText(null);

}

});

}

public void?myShow() {

SQLiteDatabase db =?dbHelper.getReadableDatabase();

show.setText("項(xiàng)目名稱");

showAge.setText("日期");

Cursor cursor = db.rawQuery("select * from information",?null);

while?(cursor.moveToNext()) {

String newName = cursor.getString(cursor.getColumnIndex("name"));

int?newAge = cursor.getInt(cursor.getColumnIndex("age"));

show.setText(show.getText() +?"\n"?+ newName);

showAge.setText(showAge.getText() +?"\n"?+ newAge);

}

cursor.close();

}

}

安卓APP源碼和設(shè)計(jì)報(bào)告——健身系統(tǒng)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
如东县| 台安县| 西城区| 宝丰县| 神池县| 怀集县| 青铜峡市| 阿克陶县| 岫岩| 平谷区| 阳高县| 鹰潭市| 无棣县| 二连浩特市| 蓬安县| 贡山| 平陆县| 牙克石市| 图木舒克市| 新化县| 巴彦县| 东丽区| 安龙县| 嵊州市| 宜丰县| 兴安县| 贵南县| 白玉县| 安陆市| 历史| 柳河县| 玉田县| 桦川县| 吉首市| 永泰县| 环江| 巩义市| 沈阳市| 汝州市| 岚皋县| 叶城县|