欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MyApplication框架或者变量的初始化

程序员文章站 2022-04-29 12:47:23
...

1、MyApplication如果要起作用 必须让AndroidManifest.xml清单文件中 指定application标签的name属性为该类的全名
* 2、MyApplication类会在应用启动时 首先进行加载 所以该类中经常做一些 框架或者变量的初始化

效果图:
MyApplication框架或者变量的初始化

结构图:
MyApplication框架或者变量的初始化

AndroidManifest.xml:

MyApplication框架或者变量的初始化

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.day8imageloder2.MainActivity" >

    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

</RelativeLayout>

MainActivity.java:

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.drawable.ic_launcher)
                .showImageOnFail(R.drawable.guide1)
                .showImageForEmptyUri(R.drawable.guide2).cacheInMemory(true)
                .cacheOnDisk(true)
                // .displayer(new RoundedBitmapDisplayer(20))
                .build();

        ImageView iv = (ImageView) findViewById(R.id.iv);

        ImageLoader.getInstance().displayImage(
                "http://img.my.csdn.net/uploads/201407/26/1406383275_3977.jpg",
                iv, options);
    }
}

MyApplication.java:

import android.app.Application;

import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;

public class MyApplication extends Application{
    @Override
    public void onCreate() {


        DisplayImageOptions options = new DisplayImageOptions.Builder()
        .showImageOnLoading(R.drawable.ic_launcher)
        .showImageOnFail(R.drawable.guide1)
        .showImageForEmptyUri(R.drawable.guide2).cacheInMemory(true)
        .cacheOnDisk(true)
        // .displayer(new RoundedBitmapDisplayer(20))
        .displayer(new FadeInBitmapDisplayer(3000)).build();


        //在一个肯定会被最先执行的方法中  初始化ImageLoader
//      ImageLoaderConfiguration configs = ImageLoaderConfiguration.createDefault(this);
        ImageLoaderConfiguration configs = new ImageLoaderConfiguration.Builder(this)
            .memoryCacheExtraOptions(480, 800)
            .threadPoolSize(5)
            .threadPriority(Thread.NORM_PRIORITY - 1)
            .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) 
            .defaultDisplayImageOptions(options)
            .build();

        //在init方法之后  ImageLoader就可以使用了
        ImageLoader.getInstance().init(configs);

        super.onCreate();
    }
}