手机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"

/>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容