一、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"
/>