现在的位置: 首页 > 综合 > 正文

APP开发之一splash模板代码

2017年05月18日 ⁄ 综合 ⁄ 共 3168字 ⁄ 字号 评论关闭

1.对于一个app开发 首先要做的是服务器端和客户端的协商 将接口确定下来 然后客户端根据接口文档进行 网络 业务类开发

2.当然对UI框架来说最先开发应该是打开界面的splash界面

splash界面的作用:

(1)首先是确定联网操作 是不是连上网了 是否要设置网络

(2)然后检测APP版本是否需要升级

(3)是用ViewPage介绍自己的APP的特色 


(4)然后在viewpage最后一页面进行登录



关于viewpage的下次我放到下一片文章里写,因为我觉的viewpage+slidingmenu+actionbar很多APP的框架里写比较好学习

关于splash界面的要求 首先将你APP的logo展示给你用户看,这里要做到动画效果并进行迟钝2秒进行判断网络 然后进入引导页面的最后一页 使用户登录。

下面是模版代码 大家可以直接复制粘贴

package com.xiaoxin.DouBan;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.os.Handler;
import android.view.animation.AlphaAnimation;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.xiaoxin.WeiBo.R;

public class SplashActivity extends Activity {
	private TextView versionNumber;
	private LinearLayout mLinearLayout;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.splash);
		//整个layout的ID
		mLinearLayout = (LinearLayout) this.findViewById(R.id.LinearLayout01);
		//版本号的id
		versionNumber = (TextView) this.findViewById(R.id.versionNumber);
		//这里要通过方法得到配置文件的版本号添加到splash街面上去
		versionNumber.setText(getVersion());
		// 判断当前网络状态是否可用
		if (isNetWorkConnection()) {
			// splash 做一个动画,进入主界面
			AlphaAnimation aa = new AlphaAnimation(0.5f, 1.0f);
			aa.setDuration(2000);
			mLinearLayout.setAnimation(aa);
			mLinearLayout.startAnimation(aa);
			// 通过handler 延时2秒 执行r任务
			new Handler().postDelayed(new LoadMainTabTask(), 2000);
		} else {
			showSetNetworkDialog();
		}

	}
	private class LoadMainTabTask implements Runnable{

		@Override
		public void run() {
			Intent intent = new Intent(SplashActivity.this,MainActivity.class);
			startActivity(intent);
			finish();
			
		}
		
	}

	private void showSetNetworkDialog() {

		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("设置网络");
		builder.setMessage("网络错误请检查网络状态");
		builder.setPositiveButton("设置网络", new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Intent intent = new Intent();
				// 类名一定要包含名
				if(android.os.Build.VERSION.SDK_INT > 10 ){  
				    startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));  
				}else {  
				    startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
				}  
				finish();
			}
		});
		builder.setNegativeButton("取消", new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				finish();
			}
		});
		builder.create().show();
	}

	private boolean isNetWorkConnection() {
		ConnectivityManager manager=(ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
		NetworkInfo info=manager.getActiveNetworkInfo();
		return (info!=null&&info.isConnected());
	}

	private String getVersion() {
		try {
			//通过包管理者拿到配置文件中的版本号
			PackageInfo info = getPackageManager().getPackageInfo(
					getPackageName(), 0);
			return "Version" + info.versionName;
		} catch (NameNotFoundException e) {
			e.printStackTrace();
			return "Version";
		}
	}

}

当然layout大家就自己设置了

注意配置权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

源代码 

http://download.csdn.net/detail/jack_king007/7856059

抱歉!评论已关闭.