Android開發中關於提示信息的管理

【聲明】轉載請註明出處,此文出自指尖飛落的博客:http://blog.csdn.net/huntersnail

——尊重作者,知識無價,交流無限!


在Android項目開發中,提示信息你還只是侷限於在代碼中插入各種Dialog、Toast嗎?那我只能說你太loser了,那樣的缺點是:

1、增加了代碼的冗餘性

2、減少了代碼的可讀性

3、也不符合開發中分層、封裝、複用的思想......

綜上所述,最好是在項目中開闢一個Utils包,一些常用的工具類封裝在裏面,想用時直接調用,以後開發中也可以拷過去直接用,這也是爲什麼很多公司都有自己的一套框架的原因。下面是我自己經常使用的一個提示信息的管理工具,喜歡的朋友不要手軟直接拿去。不贊同的朋友可以留言,大家一起交流一下,呵呵~

不廢話了,直接上代碼:

package com.yiyun.mobileblottery.utils;

import com.yiyun.mobileblottery.R;

import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.widget.Toast;


/**
 * 提示信息的管理
 */
public class PromptManager {
	private static ProgressDialog dialog;

	public static void showProgressDialog(Context context) {
		dialog = new ProgressDialog(context);
		dialog.setIcon(R.drawable.icon);
		dialog.setTitle(R.string.app_name);

		dialog.setMessage("請等候,數據加載中……");
		dialog.show();
	}

	public static void closeProgressDialog() {
		if (dialog != null && dialog.isShowing()) {
			dialog.dismiss();
		}
	}

	/**
	 * 當判斷當前手機沒有網絡時使用
	 * 
	 * @param context
	 */
	public static void showNoNetWork(final Context context) {
		AlertDialog.Builder builder = new Builder(context);
		builder.setIcon(R.drawable.icon)//
				.setTitle(R.string.app_name)//
				.setMessage("當前無網絡").setPositiveButton("設置", new OnClickListener() {

					@Override
					public void onClick(DialogInterface dialog, int which) {
						// 跳轉到系統的網絡設置界面
						Intent intent = new Intent();
						intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");
						context.startActivity(intent);

					}
				}).setNegativeButton("知道了", null).show();
	}

	/**
	 * 退出系統
	 * 
	 * @param context
	 */
	public static void showExitSystem(Context context) {
		AlertDialog.Builder builder = new Builder(context);
		builder.setIcon(R.drawable.icon)//
				.setTitle(R.string.app_name)//
				.setMessage("是否退出應用").setPositiveButton("確定", new OnClickListener() {

					@Override
					public void onClick(DialogInterface dialog, int which) {
						android.os.Process.killProcess(android.os.Process.myPid());
						// 多個Activity——懶人聽書:沒有徹底退出應用
						// 將所有用到的Activity都存起來,獲取全部,幹掉
						// BaseActivity——onCreated——放到容器中
					}
				})//
				.setNegativeButton("取消", null)//
				.show();

	}

	/**
	 * 顯示錯誤提示框
	 * 
	 * @param context
	 * @param msg
	 */
	public static void showErrorDialog(Context context, String msg) {
		new AlertDialog.Builder(context)//
				.setIcon(R.drawable.icon)//
				.setTitle(R.string.app_name)//
				.setMessage(msg)//
				.setNegativeButton(context.getString(R.string.is_positive), null)//
				.show();
	}

	public static void showToast(Context context, String msg) {
		Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
	}

	public static void showToast(Context context, int msgResId) {
		Toast.makeText(context, msgResId, Toast.LENGTH_LONG).show();
	}

	// 當測試階段時true
	private static final boolean isShow = true;

	/**
	 * 測試用 在正式投入市場:刪
	 * 
	 * @param context
	 * @param msg
	 */
	public static void showToastTest(Context context, String msg) {
		if (isShow) {
			Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
		}
	}

}
<pre name="code" class="java">☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆轉載請註明出處☞指尖飛落的博客☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


發佈了22 篇原創文章 · 獲贊 10 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章