您的位置:首页 > 编程语言 > Go语言

进入显示logo界面以及导航界面,之后显示主界面

2015-04-08 12:59 281 查看
package com.tele.test;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.sql.Connection;

import javax.crypto.spec.IvParameterSpec;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;

import com.android.volley.Request.Method;
import com.tele.test.view.MyViewFlipper;

/**
 * 开始界面,由于加载公司logo和初始化数据
 */
public class StartActivity extends Activity {

	/**
	 * 记录是否首次登陆的标志,true为首次
	 */
	private boolean isFirst=true;
	private SharedPreferences preferences;
	
	private Handler handler=new Handler(){
		public void handleMessage(Message msg) {
			jumpToOther();
		};
	};
	private ImageView mivHome;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.aty_start);
		//创建文件存储
		preferences = getSharedPreferences("config", MODE_PRIVATE);
		
		isFirst=preferences.getBoolean("isFirst", true);
		
		mivHome = (ImageView) findViewById(R.id.start_iv_home);
		
		doSomething();
		
		//可以使用Handler进行跳转,2s后进行跳转
		handler.sendEmptyMessageDelayed(1, 2000);
	}

	/**
	 * 跳转到其他页面
	 */
	private void jumpToOther() {
		Intent intent=new Intent();
		//如果不是第一次进入则进入导航界面
		if(isFirst){
			intent.setClass(this, MyViewFlipper.class);
			//保存数据
			Editor edit = preferences.edit();
			edit.putBoolean("isFirst", false);//不是第一次登陆
			edit.commit();
			
		}else{//否则直接进入首页
			intent.setClass(this, MainActivity.class);
		}
		startActivity(intent);
		this.finish();
	}

	/**
	 * 耗时的操作,例如加载一部分数据,
	 */
	private void doSomething() {
//		SystemClock.sleep(2000);
		Thread thread=new Thread(){
			public void run() {
				//线程访问网络数据
				String urlString="http://img3.imgtn.bdimg.com/it/u=2784767165,3850836158&fm=23&gp=0.jpg";
				try {
					URL url=new URL(urlString);
					HttpURLConnection connection=(HttpURLConnection) url.openConnection();
					
					connection.setReadTimeout(5000);//读取时间
					connection.setRequestMethod("GET");//设置连接方式
					connection.setConnectTimeout(2000);//连接超时时间
					connection.connect();
					int responseCode = connection.getResponseCode();//获取返回状态码
					//int 采用截掉尾数的方式
					if(responseCode==200){//访问成功
						InputStream inputStream = connection.getInputStream();
						final Bitmap decodeStream = BitmapFactory.decodeStream(inputStream);
						//在主线程中设置
						runOnUiThread(new Runnable() {
							@Override
							public void run() {
								mivHome.setBackgroundDrawable(new BitmapDrawable(getResources(), decodeStream));
							}
						});
					}else{
						throw new RuntimeException("访问失败");
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			};
		};
		thread.start();
	}
}

一共分为三个Activity,第一个为显示logo的界面,一个为导航界面,一个为首页界面

这里的logo界面采用动态加载的方式,以便可以随时拿到最新的数据,例如节日时候的问候

这里的导航界面使用FlipperView进行实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐