thinkphp和mysql多角色登录_从无到有实现登录功能以及thinkphp怎么配置数据库信息...

packagecn.edu.aynu.rjxy.activity;importjava.io.File;importjava.io.IOException;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.URL;importorg.json.JSONException;importorg.json.JSONObject;importcom.lidroid.xutils.HttpUtils;importcom.lidroid.xutils.exception.HttpException;importcom.lidroid.xutils.http.ResponseInfo;importcom.lidroid.xutils.http.callback.RequestCallBack;importcn.edu.aynu.rjxy.paths.Paths;importcn.edu.aynu.rjxy.utils.StreamUtils;importcn.edu.aynu.rjxy.utils.ToastUtils;importandroid.os.Bundle;importandroid.os.Environment;importandroid.os.Handler;importandroid.os.Message;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.content.DialogInterface.OnClickListener;importandroid.content.Intent;importandroid.content.pm.PackageInfo;importandroid.content.pm.PackageManager;importandroid.content.pm.PackageManager.NameNotFoundException;importandroid.view.Menu;importandroid.view.View;importandroid.view.Window;importandroid.widget.TextView;importandroid.widget.Toast;/** 展示品牌---->初始化数据---->检查版本---->校验合法性*/

public class SplashActivity extendsActivity {private static final int UPDATE_DIALOG = 1;//更新提醒

private static final int NETWORK_ERROR = 2;//网络异常

private static final int JSON_ERROR = 3;//数据解析失败

private static final int URL_ERROR = 4;//网络异常

private static final int ENTER_HOME = 5;//跳转主页面//控件初始化

privateTextView tvVersion;privateTextView tvProgress;//服务器的返回值

private String mVersionName;//成员变量

private intmVersionCode;privateString mDescription;privateString mDownloadUrl;//消息传递

private Handler mHandler = newHandler(){public voidhandleMessage(android.os.Message msg) {switch(msg.what) {caseUPDATE_DIALOG:

showUpdateDialog();break;caseNETWORK_ERROR:

ToastUtils.showToast(getApplicationContext(),"网络异常");

enterHome();break;caseJSON_ERROR:

ToastUtils.showToast(getApplicationContext(),"数据解析失败");

enterHome();break;caseURL_ERROR:

ToastUtils.showToast(getApplicationContext(),"网络连接异常");

enterHome();break;caseENTER_HOME:

enterHome();default:break;

}

};

};

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_splash);

tvVersion=(TextView)findViewById(R.id.tv_version);

tvProgress=(TextView)findViewById(R.id.tv_progress);

tvVersion.setText("版本名:"+getVersionName());

checkVersion();//检查版本

}/** 检查版本更新*/

private voidcheckVersion() {//TODO Auto-generated method stub

newThread(){long startTime = System.currentTimeMillis();//开始时间

Message msg = Message.obtain();//获取消息

public voidrun(){try{// URL url = newURL(Paths.downApkPath);

HttpURLConnection conn=(HttpURLConnection)url.openConnection();

conn.setConnectTimeout(2000);//连接网络超时

conn.setReadTimeout(2000);//读取超时

conn.setRequestMethod("GET");//访问方法

conn.connect();//连接网络

int responseCode =conn.getResponseCode();if(responseCode == 200){

String result=StreamUtils.streamToString(conn.getInputStream());

System.out.println("访问成功--->"+result);//json数据解析

JSONObject jo = newJSONObject(result);

mVersionName= jo.getString("versionName");

mVersionCode= jo.getInt("versionCode");

mDescription= jo.getString("description");

mDownloadUrl= jo.getString("downloadUrl");

System.out.println("versionCode--->"+mVersionCode);if (getVersionCode()

System.out.println("有新版本!!!");

msg.what=UPDATE_DIALOG;

}else{

System.out.println("没有新版本!!!");//跳转到主页面

msg.what =ENTER_HOME;

}

}

}catch(MalformedURLException e) {//url异常//TODO Auto-generated catch block

msg.what =URL_ERROR;

e.printStackTrace();

}catch(IOException e) {//网络异常//TODO Auto-generated catch block

msg.what =NETWORK_ERROR;

e.printStackTrace();

}catch(JSONException e) {//json异常//TODO Auto-generated catch block

e.printStackTrace();

msg.what=JSON_ERROR;

}finally{long endTime = System.currentTimeMillis();//访问网络结束时间

long timeUsed = endTime - startTime;//访问网络总的用时

if (timeUsed<2000) {//如果访问网络的时间小于2秒,就展示闪屏页面。目的是凑够两秒,来展示软件的品牌。

try{

Thread.sleep(2000);

}catch(InterruptedException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

mHandler.sendMessage(msg);//发送消息

}

}

}.start();

}/** 用于提醒用户更新的提示窗*/

protected voidshowUpdateDialog() {//TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("发现新版本:"+mVersionName);

builder.setMessage(mDescription);//新版本的描述

builder.setPositiveButton("立即升级", newOnClickListener() {

@Overridepublic void onClick(DialogInterface dialog, intwhich) {//TODO Auto-generated method stub

System.out.println("发现新版本");

downloadApk();

}

});

builder.setNegativeButton("以后再说", newOnClickListener() {

@Overridepublic void onClick(DialogInterface dialog, intwhich) {//TODO Auto-generated method stub

enterHome();

}

});

builder.show();

}/** 下载安装包*/

protected voiddownloadApk(){

String target= Environment.getExternalStorageDirectory().getAbsolutePath()+"/huiyi.apk";

tvProgress.setVisibility(View.VISIBLE);

HttpUtils utils= newHttpUtils();

utils.download(mDownloadUrl, target,new RequestCallBack() {//下载成功

@Overridepublic void onSuccess(ResponseInforesponseInfo) {//TODO Auto-generated method stub

System.out.println("下载成功!!!!");

File result=responseInfo.result;

tvProgress.setVisibility(View.GONE);

enterHome();

}/** 正在下载

* total 文件总大小

* current 当前下载的大小

* isUploading 是否正在上传

* (non-Javadoc)

* @see com.lidroid.xutils.http.callback.RequestCallBack#onLoading(long, long, boolean)*/

public void onLoading(long total, long current, booleanisUploading) {//TODO Auto-generated method stub

super.onLoading(total, current, isUploading);//����ٷֱ�

int percent = (int) ((current*100)/total);

tvProgress.setText("下载进度:"+percent+"%");

}//下载失败

@Overridepublic voidonFailure(HttpException error, String msg) {//TODO Auto-generated method stub

System.out.println("下载失败!!!!");//ToastUtils.showToast(getApplicationContext(),"下载失败!!");

error.printStackTrace();

}

});

}/** 获取版本名*/

privateString getVersionName() {//TODO Auto-generated method stub//获取包管理器

PackageManager pm =getPackageManager();try{

PackageInfo packageInfo= pm.getPackageInfo(getPackageName(), 0);int versionCode = packageInfo.versionCode;//获取版本号

String versionName = packageInfo.versionName;//获取版本名

System.out.println("versionName"+versionName+",versionCode"+versionCode);returnversionName;

}catch(NameNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}return "";

}/** 获取版本号*/

private intgetVersionCode() {//TODO Auto-generated method stub//获取包管理器

PackageManager pm =getPackageManager();try{

PackageInfo packageInfo= pm.getPackageInfo(getPackageName(), 0);int versionCode = packageInfo.versionCode;//获取版本号

returnversionCode;

}catch(NameNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}return 0;

}//跳转到主页面

private voidenterHome(){

startActivity(new Intent(this,LoginActivity.class));//开启的新的页面

finish();//结束原来的页面

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值