一、团队成员
姓名
学号
博客链接
洪居兴
1600802113
邓旺
1600802108
李洪岩
1600802119
二、团队项目APK链接
三、团队项目链接
四、团队项目总体效果
功能说明:想进入软件App中需要进行注册,在注册界面需要填写正确的手机号,而后等待验证码的发送,待验证码验证正确
后,将进入修改界面进行修改信息,修改完成后即可进入App首页。
在App首界面中,可以点击播放区下的4个对应的图标:景区、酒店、美食、路线跳转到不同功能的界面。在景点精选榜中可
以查看推荐的值得去的景点,并可点赞以及进入相应详情界面进行查看,还可进行位置的查看。底部导航栏可跳转到相应功能的界面。
在攻略功能模块中,能够选择西北5省部的部分旅游景点,并点击进入查看详细,还可切换各省查看每个省份的景点。
在驴友功能模块中,用户可以在其中发布寻找驴友的消息,并且进行查看详情。在动态功能模块中,能够发布自己的动态信息,
也能查看他人的动态信息。
在个人信息中心,显示用户的基本信息,并在个人信息当中修改自己的信息。
4.1 登陆界面及注册界面
实现用户的注册和登入,进入首页面。
4.2 修改信息界面及首界面
实现注册信息后信息的补充,以及登陆后首页面的情况。
4.3 查看美食和酒店的界面
实现酒店和美食详情的界面。
4.4 旅游攻略及详情页
实现西北五个省份的部分旅游景点的介绍以及点击每个景点可查看对应的详情页,包括简介、地理位置、特色等等。
4.5 发布动态以及发布寻找旅游的消息
实现动态的发布与查看、实现寻找驴友消息的查看与发布。
4.6 个人中心信息的查看以及修改
实现用户对自己基本信息的查看和对自己信息的修改。
五、关键代码
5.1 首页图片切换
int【】 images = new int【】 { R.drawable.shufflingtwo,
R.drawable.shufflingthree,
R.drawable.shufflingfour,
R.drawable.shufflingfive,
R.drawable.shufflingone, };
//定义一图片计数器
int currentImg = 0;
//定义一个handler来进行隔时间操作
private Handler handler = new Handler();
//新建一个runnable对象
private Runnable myRunnable = new Runnable() {
public void run() {
//每隔1秒切换一次
handler.postDelayed(this, 3000);
if (currentImg >= 4) {
currentImg = -1;
}
// 改变ImageView里显示的图片
image1.setImageResource(images【++currentImg】);
}
};
5.2 登录匹配
login.setOnClickListener(new View.OnClickListener() {
@Override
public //代码效果参考:http://www.zidongmutanji.com/bxxx/58998.html void onClick(View view) {
EditText name = (EditText)findViewById(R.id.userName);
EditText psw = (EditText)findViewById(R.id.usePassword);
SQLiteDatabase db=dbHelper.getWritableDatabase();
Cursor cursor = db.query("UserInfo",null,null,null,null,null,null);
if(cursor.moveToFirst()){
do{
String sername = cursor.getString(cursor.getColumnIndex("userName"));
String assword = cursor.getString(cursor.getColumnIndex("mima"));
info.setId(assword);
if(name.getText().toString().equals(sername) && psw.getText().toString().equals(assword)){
info.setId(sername);
info.setIsFirst(false);
Toast.makeText(MainActivity.this,"登录成功!", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this,homePage.class);
startActivity(intent);
}else{
Toast.makeText(MainActivity.this,"用户名或密码输入错误,请重新输入!", Toast.LENGTH_SHORT).show();//插入数据
}
}while(cursor.moveToNext());
}
}
});
}
5.3 获取每个详情页的内容并显示
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main2);
mapView = (MapView) findViewById(R.id.bmapView);
baiduMap = mapView.getMap();
baiduMap.setMyLocationEnabled(true);
locationClient = new LocationClient(this);
locationClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); // 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(1000);//定位请求时间间隔
locationClient.setLocOption(option);
locationClient.start();
Intent intent = getIntent();//接收数据
Bundle bundle = intent.getExtras();
int number = bundle.getInt("id");
final ImageView pre = (ImageView)findViewById(R.id.pre);
final ImageView sence = (ImageView)findViewById(R.id.sence);
final TextView site = (TextView)findViewById(R.id.site);
final TextView youwangailan = (TextView)findViewById(R.id.youwangailan);
final TextView article = (TextView)findViewById(R.id.article);
final ImageView beauty1 = (ImageView)findViewById(R.id.character1);
final ImageView beauty2 = (ImageView)findViewById(R.id.character2);
final ImageView beauty3 = (ImageView)findViewById(R.id.character3);
final ImageView beauty4 = (ImageView)findViewById(R.id.character4);
final ImageView beautys1 = (ImageView)findViewById(R.id.beautys1);
final ImageView beautys2 = (ImageView)findViewById(R.id.beautys2);
final ImageView beautys3 = (ImageView)findViewById(R.id.beautys3);
final TextView decise1 = (TextView)findViewById(R.id.decise1);
final TextView decise2 = (TextView)findViewById(R.id.decise2);
final TextView decise3 = (TextView)findViewById(R.id.decise3);
final TextView decise4 = (TextView)findViewById(R.id.decise4);
pre.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Main2Activity.this,homePage.class);
startActivity(intent);
}
});
TypedArray arr = getResources().obtainTypedArray(R.array.represent);
int len = arr.length();
int【】 arr_represent = new int【len】;
for(int i = 0;i
{
arr_represent【i】 = arr.getResourceId(i,0);
}
arr.recycle();
String【】 arr_title = getResources().getStringArray(R.array.titles);
String【】 arr_introduce = getResources().getStringArray(R.array.introduce);
String【】 arr_youwangaishu = getResources().getStringArray(R.array.youwanliulan);
arr = getResources().obtainTypedArray(R.array.tedianphoto1);
len = arr.length();
int【】 arr_pic1 = new int【len】;
for(int i = 0;i
{
arr_pic1【i】 = arr.getResourceId(i,0);
}
arr.recycle();
arr = getResources().obtainTypedArray(R.array.tedianphoto2);
len = arr.length();
int【】 arr_pic2 = new int【len】;
for(int i = 0;i
{
arr_pic2【i】 = arr.getResourceId(i,0);
}
arr.recycle();
arr = getResources().obtainTypedArray(R.array.tedianphoto3);
len = arr.length();
int【】 arr_pic3 = new int【len】;
for(int i = 0;i
{
arr_pic3【i】 = arr.getResourceId(i,0);
}
arr.recycle();
arr = getResources().obtainTypedArray(R.array.tedianphoto4);
len = arr.length();
int【】 arr_pic4 = new int【len】;
for(int i = 0;i
{
arr_pic4【i】 = arr.getResourceId(i,0);
}
arr.recycle();
arr = getResources().obtainTypedArray(R.array.beauty1);
len = arr.length();
int【】 arr_beautypic1 = new int【len】;
for(int i = 0;i
{
arr_beautypic1【i】 = arr.getResourceId(i,0);
}
arr.recycle();
arr = getResources().obtainTypedArray(R.array.beauty2);
len = arr.length();
int【】 arr_beautypic2 = new int【len】;
for(int i = 0;i
{
arr_beautypic2【i】 = arr.getResourceId(i,0);
}
arr.recycle();
arr = getResources().obtainTypedArray(R.array.beauty3);
len = arr.length();
int【】 arr_beautypic3 = new int【len】;
for(int i = 0;i
{
arr_beautypic3【i】 = arr.getResourceId(i,0);
}
arr.recycle();
sence.setImageResource(arr_represent【number】);
String【】 arr_tese1 = getResources().getStringArray(R.array.tedian1);
String【】 arr_tese2 = getResources().getStringArray(R.array.tedian2);
String【】 arr_tese3 = getResources().getStringArray(R.array.tedian3);
String【】 arr_tese4 = getResources().getStringArray(R.array.tedian4);
site.setText(arr_title【number】);
article.setText(arr_introduce【number】);
youwangailan.setText(arr_youwangaishu【number】);
beauty1.setImageResource(arr_pic1【number】);
beauty2.setImageResource(arr_pic2【number】);
beauty3.setImageResource(arr_pic3【number】);
beauty4.setImageResource(arr_pic4【number】);
decise1.setText(arr_tese1【number】);
decise2.setText(arr_tese2【number】);
decise3.setText(arr_tese3【number】);
decise4.setText(arr_tese4【number】);
beautys1.setImageResource(arr_beautypic1【number】);
beautys2.setImageResource(arr_beautypic2【number】);
beautys3.setImageResource(arr_beautypic3【number】);
}
5.4 发布动态消息及显示
fabiao.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper1.getWritableDatabase();
ContentValues values1 = new ContentValues();
values1.put("id",total);
values1.put("userNames",info.getId());
values1.put("article",neirong.getText().toString());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = new Date(System.currentTimeMillis());
values1.put("releasetime",simpleDateFormat.format(date));
db.insert("Message",null,values1);
total++;
Toast.makeText(releaseMessage.this,"发布成功!", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(releaseMessage.this,personalDynamics.class);
startActivity(intent);
//Toast.makeText(mContext,"insert success", Toast.LENGTH_SHORT).show();
}
});
final saveSelfInfo info = (saveSelfInfo)getApplication();
dbHelper1 = new Database(this,"releaseMessage.db",null,1);
SQLiteDatabase db = dbHelper1.getWritableDatabase();
Cursor cursor = db.query("Message",null,null,null,null,null,null,null);
int i = 0;
if(cursor.moveToFirst()) {
do {
//遍历Cursor对象,去除数据并打印
Map map = new HashMap();
map.put("touxiang1", R.drawable.touxiang);
map.put("username", info.getId());
map.put("article", cursor.getString(cursor.getColumnIndex("article")));
//map.put("seletephoto1", arr_photo1【i】);
//map.put("seletephoto2", arr_photo2【i】);
//map.put("seletephoto3", arr_photo3【i】);
map.put("longtime", cursor.getString(cursor.getColumnIndex("releasetime")));
map.put("Comment", arr_comment【i】);
dataList.add(map);
i++;
}while (cursor.moveToNext());
}
cursor.close();