APP开发之一splash模板代码
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