⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourceroundup.java

📁 Android从入门到精通
💻 JAVA
字号:
package com.androidbook.resourceroundup;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.NinePatchDrawable;
import android.os.Bundle;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;


public class resourceroundup extends Activity {
    /** Called when the activity is first created. */
	private static final String DEBUG_TAG= "ResourceRoundup Log";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        // SOME SIMPLE RESOURCE HANDLING (a string, a bold styled string, a color, a dimension and a simple drawable
        String myResourceString = getResources().getString(R.string.hello);  
        CharSequence myResourceStringRich = getResources().getText(R.string.boldhello);
        int myResourceColor = getResources().getColor(R.color.prettyTextColor);
        float myResourceDimension = getResources().getDimension(R.dimen.textPointSize);
        ColorDrawable myResourceDrawable = (ColorDrawable)getResources().getDrawable(R.drawable.redDrawable);
        
        Log.d(DEBUG_TAG, "myResourceString value is: " + myResourceString);
        Log.d(DEBUG_TAG, "myResourceStringRich value is: " + myResourceStringRich.toString());
        Log.d(DEBUG_TAG, "myResourceColor value is: " + myResourceColor);
        Log.d(DEBUG_TAG, "myResourceDimension value is: " + myResourceDimension);
        Log.d(DEBUG_TAG, "myResourceDrawable value is: " + myResourceDrawable.toString()); // Not very exciting, I know.

        // SOME STRING-ARRAY HANDLING
        String[] aFlavors = getResources().getStringArray(R.array.flavors);
        for(int i=0; i<aFlavors.length; i++)
        {
         	Log.d(DEBUG_TAG, "aFlavors["+ i + "] value is: "+ aFlavors[i]);
        } 
        
        // SOME FORMAT STRING HANDLING
        // You can use htmlEncode to make sure your string is escaped properly. Of course, "Won" is fine as is... But if it had been "You've won!", you'd be glad you called this.
        String escapedWin = TextUtils.htmlEncode("Won");
        Log.d(DEBUG_TAG, "escapedWin value is: " + escapedWin);
        
        // First, the simple format string
        String mySimpleWinString = getResources().getString(R.string.simpleformatString);
        Log.d(DEBUG_TAG, "mySimpleWinString value is: " + mySimpleWinString);
        String resultsText1 = String.format(mySimpleWinString, 5, 5, escapedWin);
        Log.d(DEBUG_TAG, "resultsText1 (simple) value is: " + resultsText1);
        
        // Second, the styled format string
        String resultsTextFormat = getResources().getString(R.string.formatStringWithTwoNumbersAndAString);
        Log.d(DEBUG_TAG, "resultsTextFormat value is: " + resultsTextFormat);
        String resultsText = String.format(resultsTextFormat, 5, 5, escapedWin);
        Log.d(DEBUG_TAG, "resultsText value is: " + resultsText);
        CharSequence styledResults = Html.fromHtml(resultsText);
        Log.d(DEBUG_TAG, "styledResults value is: " + styledResults);
        
        // SOME WIDGET/VIEW/IMAGE HANDLING
        // Grab the ImageView and display the flag graphic on the main layout ImageView
        ImageView flagImageView = (ImageView)findViewById(R.id.ImageView01);
        flagImageView.setImageResource(R.drawable.flag);
        
        // Grab the Bitmap flag graphic and check out some stuff about it
        BitmapDrawable bitmapFlag = (BitmapDrawable)getResources().getDrawable(R.drawable.flag); 
        Log.d(DEBUG_TAG, "bitmapFlag is HEIGHT: " + bitmapFlag.getIntrinsicHeight() + " and WIDTH: " + bitmapFlag.getIntrinsicWidth());
        
        // Grab a Nine-patch graphic and check out some stuff about it
        NinePatchDrawable stretchy = (NinePatchDrawable)getResources().getDrawable(R.drawable.pyramid);
        Log.d(DEBUG_TAG, "stretchy is HEIGHT: " + stretchy.getIntrinsicHeight() + " and WIDTH: " + stretchy.getIntrinsicWidth());
        
        // SOME ANIMATION HANDLING
        // Make the flag (png) spin using our spin.xml animation resource
        Animation an =  AnimationUtils.loadAnimation(this, R.anim.spin);
        flagImageView.startAnimation(an);
 
        // Make the red oval drawable shape resource pulse using our pulse.xml animation resource 
        ImageView redOval = (ImageView)findViewById(R.id.ImageView02);
        Animation an2 =  AnimationUtils.loadAnimation(this, R.anim.pulse);
        redOval.startAnimation(an2);
 
        // SOME XML HANDLING
        XmlResourceParser myPets = getResources().getXml(R.xml.my_pets);
        
        try {
			inspectPetsXml(myPets);
		} catch (Exception e) {
			Log.e(DEBUG_TAG, "InspectPetsXml broke.", e);
		}
		


		// SOME RAW FILE HANDLING
		InputStream iFile = getResources().openRawResource(R.raw.limerick);
        try {
        	String strFile = inputStreamToString(iFile);
        	Log.d(DEBUG_TAG, "Here's the limerick from the Input Stream:\n"+ strFile); 
        	
		} catch (Exception e) {
			Log.e(DEBUG_TAG, "InputStreamToString broke.", e);
		}	
				
    }
    
    // This method is called when the user presses the Menu button
    @Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// SOME MENU RESOURCE HANDLING
    	getMenuInflater().inflate(R.menu.speed, menu);
    	return true;
	}

    // Churns through a specific XML file, and prints all my pet elements and their attributes
	public static void inspectPetsXml(XmlResourceParser myPets) throws XmlPullParserException, IOException
    {
    	
        // Let's inspect my pets a little 
    	int eventType = -1;
        while (eventType != XmlResourceParser.END_DOCUMENT) {
         if(eventType == XmlResourceParser.START_DOCUMENT) {
        	 Log.d(DEBUG_TAG, "Document Start");
         } else if(eventType == XmlResourceParser.START_TAG) {
        	
        	// Get the name of the tag (eg pets or pet) 
        	String strName = myPets.getName();

        	if(strName.equals("pet"))
        	{
       		 	 Log.d(DEBUG_TAG, "Found a PET");        		 
        		 Log.d(DEBUG_TAG, "Name: "+myPets.getAttributeValue(null, "name"));
        		 Log.d(DEBUG_TAG, "Species: "+myPets.getAttributeValue(null, "type"));      
        	}
         } 
         
         eventType = myPets.next();
        }
   	    
        Log.d(DEBUG_TAG, "Document End");
    	
    	
    }
    
	// Converts an input stream to a string so we can print it using logcat debug logging.
    public String inputStreamToString(InputStream is) throws IOException
    {
    	StringBuffer sBuffer = new StringBuffer();
    	DataInputStream dataIO = new DataInputStream(is);
    	String strLine = null;
    	
    	while((strLine=dataIO.readLine()) != null){
    			sBuffer.append(strLine+"\n");
    	}

    	dataIO.close();
    	is.close();

    	return sBuffer.toString();
    	
    }

    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -