android gson解析json数据,android--Gson解析Json格式数据

package com.example.fragmentdemo;

import java.util.Timer;

import java.util.TimerTask;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.View;

import android.view.Window;

import android.view.View.OnClickListener;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

import android.app.Activity;

import android.app.FragmentManager;

import android.app.FragmentTransaction;

import android.content.Intent;

import android.content.SharedPreferences;

import android.graphics.Color;

public class MainActivity extends Activity implements

OnClickListener {

private MessageFragment messageFragment;

private ContactsFragment contactsFragment;

private NewsFragment newsFragment;

private SettingFragment settingFragment;

private View messageLayout;

private View contactsLayout;

private View newsLayout;

private View settingLayout;

private ImageView messageImage;

private ImageView contactsImage;

private ImageView newsImage;

private ImageView settingImage;

private TextView messageText;

private TextView contactsText;

private TextView newsText;

private TextView settingText;

private FragmentManager fragmentManager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

initViews();

fragmentManager = getFragmentManager();

// 第一次启动时选中第0个tab

setTabSelection(0);

SharedPreferences pref = getSharedPreferences("data",

MODE_PRIVATE);

String name = pref.getString("name", "");

String pass = pref.getString("pass", "");

// 判断字符串

// 1 null

// 2“”

// 3 “ ”

// 初始化布局元素

if (name == "" || pass == "") {

Intent intent = new Intent(MainActivity.this,

loginActivity.class);

startActivityForResult(intent, 1);

}

}

@Override

protected void onActivityResult(int requestCode, int

resultCode, Intent data) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {

case 1:

if (resultCode == RESULT_OK) {

Bundle bu = data.getBundleExtra("user");

User use = (User) bu.get("userinfo");

String name = use.getName();

Toast.makeText(MainActivity.this, "名称是:"+name,

Toast.LENGTH_LONG)

.show();

} else {

Intent intent = new Intent(MainActivity.this,

loginActivity.class);

startActivityForResult(intent, 1);

}

break;

default:

break;

}

}

private void initViews() {

messageLayout = findViewById(R.id.message_layout);

contactsLayout = findViewById(R.id.contacts_layout);

newsLayout = findViewById(R.id.news_layout);

settingLayout = findViewById(R.id.setting_layout);

messageImage = (ImageView)

findViewById(R.id.message_image);

contactsImage = (ImageView)

findViewById(R.id.contacts_image);

newsImage = (ImageView) findViewById(R.id.news_image);

settingImage = (ImageView)

findViewById(R.id.setting_image);

messageText = (TextView)

findViewById(R.id.message_text);

contactsText = (TextView)

findViewById(R.id.contacts_text);

newsText = (TextView) findViewById(R.id.news_text);

settingText = (TextView)

findViewById(R.id.setting_text);

messageLayout.setOnClickListener(this);

contactsLayout.setOnClickListener(this);

newsLayout.setOnClickListener(this);

settingLayout.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.message_layout:

// 当点击了消息tab时,选中第1个tab

setTabSelection(0);

break;

case R.id.contacts_layout:

// 当点击了联系人tab时,选中第2个tab

setTabSelection(1);

break;

case R.id.news_layout:

// 当点击了动态tab时,选中第3个tab

setTabSelection(2);

break;

case R.id.setting_layout:

// 当点击了设置tab时,选中第4个tab

setTabSelection(3);

break;

default:

break;

}

}

private void setTabSelection(int index) {

// 每次选中之前先清楚掉上次的选中状态

clearSelection();

// 开启一个Fragment事务

FragmentTransaction transaction =

fragmentManager.beginTransaction();

// 先隐藏掉所有的Fragment,以防止有多个Fragment显示在界面上的情况

hideFragments(transaction);

switch (index) {

case 0:

// 当点击了消息tab时,改变控件的图片和文字颜色

messageImage.setImageResource(R.drawable.message_selected);

messageText.setTextColor(Color.WHITE);

if (messageFragment == null) {

// 如果MessageFragment为空,则创建一个并添加到界面上

messageFragment = new MessageFragment();

transaction.add(R.id.content, messageFragment);

} else {

// 如果MessageFragment不为空,则直接将它显示出来

transaction.show(messageFragment);

}

break;

case 1:

// 当点击了联系人tab时,改变控件的图片和文字颜色

contactsImage.setImageResource(R.drawable.contacts_selected);

contactsText.setTextColor(Color.WHITE);

if (contactsFragment == null) {

// 如果ContactsFragment为空,则创建一个并添加到界面上

contactsFragment = new ContactsFragment();

transaction.add(R.id.content, contactsFragment);

} else {

// 如果ContactsFragment不为空,则直接将它显示出来

transaction.show(contactsFragment);

}

break;

case 2:

// 当点击了动态tab时,改变控件的图片和文字颜色

newsImage.setImageResource(R.drawable.news_selected);

newsText.setTextColor(Color.WHITE);

if (newsFragment == null) {

// 如果NewsFragment为空,则创建一个并添加到界面上

newsFragment = new NewsFragment();

transaction.add(R.id.content, newsFragment);

} else {

// 如果NewsFragment不为空,则直接将它显示出来

transaction.show(newsFragment);

}

break;

case 3:

default:

// 当点击了设置tab时,改变控件的图片和文字颜色

settingImage.setImageResource(R.drawable.setting_selected);

settingText.setTextColor(Color.WHITE);

if (settingFragment == null) {

// 如果SettingFragment为空,则创建一个并添加到界面上

settingFragment = new SettingFragment();

transaction.add(R.id.content, settingFragment);

} else {

// 如果SettingFragment不为空,则直接将它显示出来

transaction.show(settingFragment);

}

break;

}

transaction.commit();

}

private void clearSelection() {

messageImage.setImageResource(R.drawable.message_unselected);

messageText.setTextColor(Color.parseColor("#82858b"));

contactsImage.setImageResource(R.drawable.contacts_unselected);

contactsText.setTextColor(Color.parseColor("#82858b"));

newsImage.setImageResource(R.drawable.news_unselected);

newsText.setTextColor(Color.parseColor("#82858b"));

settingImage.setImageResource(R.drawable.setting_unselected);

settingText.setTextColor(Color.parseColor("#82858b"));

}

private void hideFragments(FragmentTransaction transaction)

{

if (messageFragment != null) {

transaction.hide(messageFragment);

}

if (contactsFragment != null) {

transaction.hide(contactsFragment);

}

if (newsFragment != null) {

transaction.hide(newsFragment);

}

if (settingFragment != null) {

transaction.hide(settingFragment);

}

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

if (keyCode == KeyEvent.KEYCODE_BACK) {

exitBy2Click(); // 调用双击退出函数

}

return false;

}

private static Boolean isExit = false;

private void exitBy2Click() {

Timer tExit = null;

if (isExit == false) {

isExit = true; // 准备退出

Toast.makeText(this, "再按一次退出程序",

Toast.LENGTH_SHORT).show();

tExit = new Timer();

tExit.schedule(new TimerTask() {

public void run() {

isExit = false; // 取消退出

}

}, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务

} else {

finish();

System.exit(0);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值