手机APP应用软件设计与开发的电视剧信息查询

一、Welcome延时跳转界面(1s跳转)


二、登陆界面(调用数据库)

输入用户名、密码,点击注册,出现Toast显示"用户已注册";

点击登陆,页面textview处显示用户信息,再次点击登陆时跳转到下一界面;

关于按钮单击后,跳出简单dialog,显示版本信息,小组信息

三、button跳转到的listview界面

登陆button跳转到的listview界面显示全部电视剧信息,点击电视剧可进入其详细信息界面

四、listview下子页面设计(音乐播放功能)

由于每条listview连接原理大致相同,故制作了前两条电视剧的详细信息界面

在电视剧的详细信息界面内还涵盖一个音乐播放功能,用于播放该电视剧主题曲,点击播放。

五、详细代码

欢迎界面

packagecom.fxc.sqlitetest;

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.view.Window;

publicclass welcomeActivity extends Activity {

private Handler handler=new Handler();

@Override

protected void onCreate(BundlesavedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.welcome);

handler.postDelayed(new Runnable() {

@Override

public void run() {

// TODO Auto-generated methodstub

Intent intent =newIntent(welcomeActivity.this,MainActivity.class);

startActivity(intent);

}

},1000);

}

}

欢迎界面页面布局

"1.0"encoding="utf-8"?>

"http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@drawable/wel">

登录注册页面(利用Sq Lite进行数据存储)

package com.fxc.sqlitetest;

import android.os.Bundle;

import android.os.Handler;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.ContentValues;

import android.content.DialogInterface;

import android.content.Intent;

import android.database.Cursor;

importandroid.database.sqlite.SQLiteDatabase;

import android.view.Menu;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.PopupWindow;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity{

privatedataBaseHelp dBaseHelp;

privateButton button,insert,reque;

privateEditText username,usrepassword;

privateTextView textview;

privateButton btn_diaNormal;

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

dBaseHelp=newdataBaseHelp(this, "mydb", null, 1);

SQLiteDatabasesqLiteDatabase=dBaseHelp.getReadableDatabase();

sqLiteDatabase.close();

insert=(Button)findViewById(R.id.inster);

username=(EditText)findViewById(R.id.edituser);

usrepassword=(EditText)findViewById(R.id.editpassword);

textview=(TextView)findViewById(R.id.title);

reque=(Button)findViewById(R.id.reque);

btn_diaNormal=(Button)findViewById(R.id.btn_diaNormal);

btn_diaNormal.setOnClickListener(newView.OnClickListener(){

@Override

publicvoid onClick(View v) {

//TODO Auto-generated method stub

if(vinstanceof Button)

{

int btnId=v.getId();

switch(btnId)

{

case R.id.btn_diaNormal:

showNormalDia();

break;

default:

break;

}

}

}

});

reque.setOnClickListener(newView.OnClickListener() {

@Override

publicvoid onClick(View arg0) {

//TODO Auto-generated method stub

//登陆验证

//步骤1。获取用户名用户密码

//2。调用查询方法,进行动态查询,若成功,会得到一个非空的游标

//3。通过控制游标取得动态表用户名,设置为登陆用户

Stringname=username.getText().toString().trim();

Stringpassword=usrepassword.getText().toString().trim();

SQLiteDatabasesqLiteDatabase=dBaseHelp.getReadableDatabase();

Cursorcursor=sqLiteDatabase.query("person",

newString[]{"name"},

"name=?",newString[]{name},

null,null,null);

if(cursor.getCount()<=0){textview.setText("用户不存在");}

else

{

cursor.moveToFirst();

Stringmsg=cursor.getString(cursor.getColumnIndex("name"));

textview.setText(msg);

button=(Button) findViewById(R.id.reque);

button.setOnClickListener(newView.OnClickListener() {

@Override

publicvoid onClick(View v) {

//TODO Auto-generated method stub

Intentintent = new Intent (MainActivity.this,listviewActivity.class);

startActivity(intent);

}

});

}

}

});

insert.setOnClickListener(newView.OnClickListener() {

publicvoid onClick(View arg0) {

//TODO Auto-generated method stub

//实现用户的注册

//步骤1,用可写方式打开数据库

//2。获取用户输入的用户名密码

//3。调用insert实现数据的插入操作

SQLiteDatabasesqLiteDatabase=dBaseHelp.getWritableDatabase();

Stringname=username.getText().toString().trim();

Stringpassword=usrepassword.getText().toString().trim();

ContentValuescValues=new ContentValues();

cValues.put("name",name);

cValues.put("password",password);

sqLiteDatabase.insert("person",null, cValues);

Toast.makeText(MainActivity.this,"用户已注册", 3000).show();

sqLiteDatabase.close();

}

});

}

private void showNormalDia()

{

//AlertDialog.Builder normalDialog=newAlertDialog.Builder(getApplicationContext());

AlertDialog.Builder normalDia=newAlertDialog.Builder(MainActivity.this);

normalDia.setIcon(R.drawable.ic_launcher);

normalDia.setTitle("关于我们");

normalDia.setMessage("小组成员:张新明、徐洁版本号:1.0.0");

normalDia.setPositiveButton("了解", newDialogInterface.OnClickListener() {

@Override

public voidonClick(DialogInterface dialog, int which) {

// TODO Auto-generatedmethod stub

showClickMessage("了解");

}

});

normalDia.setNegativeButton("退出", new DialogInterface.OnClickListener() {

@Override

public voidonClick(DialogInterface dialog, int which) {

// TODO Auto-generatedmethod stub

showClickMessage("退出");

}

});

normalDia.create().show();

}

private void showClickMessage(Stringmessage)

{

Toast.makeText(MainActivity.this,"你选择的是: "+message,Toast.LENGTH_SHORT).show();

}

@SuppressLint("ShowToast")

@Override

publicboolean onCreateOptionsMenu(Menu menu) {

//Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

}

注册登录页面layout

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/bg"

android:orientation="vertical"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:layout_weight="1"

>

android:id="@+id/imageView1"

android:layout_width="200dp"

android:layout_height="150dp"

android:src="@drawable/logo"

android:layout_gravity="center"/>

android:id="@+id/title"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="网罗当下热门好剧信息"

android:textColor="@color/white"

android:textColorHint="@color/black"

android:textStyle="bold" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:layout_weight="1">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center_horizontal">

android:id="@+id/textuser"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="用户名"

android:textColor="@color/gray" />

android:id="@+id/edituser"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:ems="10" >

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:gravity="center_horizontal">

android:id="@+id/textpassword"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="密码"

android:textColor="@color/gray" />

android:id="@+id/editpassword"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:ems="10"

android:inputType="textPassword" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="2"

android:gravity="center_horizontal">

android:id="@+id/inster"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="注册"

android:textSize="13sp"

android:drawableLeft="@drawable/button"

/>

android:id="@+id/reque"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="登陆"

android:textSize="13sp"

android:drawableLeft="@drawable/button"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="13sp"

android:text="关于"

android:id="@+id/btn_diaNormal"

android:drawableLeft="@drawable/button"/>

电视剧所有分类界面(自定义Listview)

package com.fxc.sqlitetest;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

importandroid.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.ListView;

public class listviewActivity extendsActivity {

privateList tvList = new ArrayList();

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

//TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.listview);

initTV();

TVAdapteradapter = new TVAdapter(listviewActivity.this, R.layout.tv,tvList);

ListViewlistView = (ListView) findViewById(R.id.listview);

listView.setAdapter(adapter);

listView.setOnItemClickListener(newOnItemClickListener() {

@Override

publicvoid onItemClick(AdapterView parent, View view,

intposition, long id) {

//TODO Auto-generated method stub

if(position==0)

{

Intentintent = new Intent (listviewActivity.this,lsdhdcs.class);

startActivity(intent);

}

if(position==1)

{

Intentintent = new Intent (listviewActivity.this,xszr.class);

startActivity(intent);

}

}

});

}

privatevoid initTV(){

TVone = new TV("蓝色大海的传说",R.drawable.ones);

tvList.add(one);

TVtwo = new TV("行尸走肉第七季",R.drawable.twos);

tvList.add(two);

TVthree = new TV("锦绣未央",R.drawable.threes);

tvList.add(three);

TVfour = new TV("夏目友人帐第五季",R.drawable.fours);

tvList.add(four);

TVfive = new TV("破产姐妹第六季",R.drawable.fives);

tvList.add(five);

TVsix = new TV("豆娘",R.drawable.sixs);

tvList.add(six);

TVseven = new TV("黑名单第三季",R.drawable.sevens);

tvList.add(seven);

TVeight = new TV("美人私房菜",R.drawable.eights);

tvList.add(eight);

TVnine = new TV("黑执事第四季",R.drawable.nines);

tvList.add(nine);

TVten = new TV("虫师",R.drawable.tens);

tvList.add(ten);

}

}

电视剧所有分类页面布局


android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

>

android:id="@+id/listview"

android:layout_width="312dp"

android:layout_height="match_parent"

android:layout_gravity="right">

电视剧详情界面(背景音乐)

package com.fxc.sqlitetest;

import android.media.AudioManager;

import android.media.SoundPool;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class lsdhdcs extends Activity {

public Button btn=null;

private SoundPool sp;//声明一个SoundPool

private int music;//定义一个整型用load();来设置suondID

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.lsdhdcs);

init();

}

private void init() {

// TODO Auto-generated method stub

btn=(Button) findViewById(R.id.button);

sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一个参数为同时播放数据流的最大个数,第二数据流类型,第三为声音质量

music = sp.load(this, R.raw.lsdhdcs, 1); //把你的声音素材放到res/raw里,第2个参数即为资源文件,第3个为音乐的优先级

btn.setOnClickListener(listener);

}

private OnClickListener listener =newOnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

sp.play(music, 1, 1, 0, 0, 1);

}};

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

电视剧详情页面布局


android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical"

android:background="@drawable/bd">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/image_lsdh"

android:layout_width="150dp"

android:layout_height="175dp"

android:layout_gravity="left"

android:src="@drawable/lsdhdcs"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/button0"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="12sp"

android:text="蓝色大海的传说"

android:textColor="#FFFF"

/>

android:id="@+id/button"

android:layout_width="40dip"

android:layout_height="40dip"

android:background="@drawable/bu"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="12sp"

android:text="更新至第八集"

android:textColor="#FFFF"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="12sp"

android:text=""

/>

android:id="@+id/text_xszr01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="12sp"

android:text="更新时间:周三、周四"

android:textColor="#FFFF"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="12sp"

android:text=""

/>

android:id="@+id/text_xszr02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="12sp"

android:text="网络地址:www.fuhao56.com"

android:textColor="#FFFF"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/button00"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="10sp"

android:text="√评论(5.9万)"

android:textColor="#FFFF"

/>

android:id="@+id/button01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="10sp"

android:text="↓缓存"

android:textColor="#FFFF"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text="剧情简介:《蓝色大海的传说》是韩国SBS电视台于2016年11月16日起播出的魔幻爱情剧,由陈赫执导、朴智恩编剧,全智贤、李敏镐主演。

该剧讲述了地球上处于灭绝危机的最后一只人鱼遇到了都市的天才骗子后,在适应陆地生活的过程中发生的一系列故事。"

android:textColor="#FFFF"

/>

android:id="@+id/text_lsdhdcs01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text=""

/>

android:id="@+id/text_lsdhdcs03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text="已更新集数:"

android:textColor="#FFFF"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal"

>

android:id="@+id/button1"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="8"

android:textColor="#FFFF"

/>

android:id="@+id/button2"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="7"

android:textColor="#FFFF"

/>

android:id="@+id/button3"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="6"

android:textColor="#FFFF"

/>

android:id="@+id/button4"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="5"

android:textColor="#FFFF"

/>

android:id="@+id/button5"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="4"

android:textColor="#FFFF"

/>

android:id="@+id/button6"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="3"

android:textColor="#FFFF"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal"

>

android:id="@+id/button7"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="2"

android:textColor="#FFFF"

/>

android:id="@+id/button8"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="1"

android:textColor="#FFFF"

/>

推荐阅读更多精彩内容