当前位置:  编程技术>移动开发
本页文章导读:
    ▪Reduce Bit地图 size using Bit地图Factory.Options.inSampleSize        Reduce Bitmap size using BitmapFactory.Options.inSampleSize In the post "Load ImageView with JPG file in SD Card", the ImageView is loaded with bitmap in full-size. It cost too much resources for a mobile device, and easy to make the app closed unexpe.........
    ▪ StartActivityForResult的施用        StartActivityForResult的使用 实现从Activity1打开Activity2。当Activity2关闭的时候,我们需要它返回一些数据给Activity1   1.Activity1:   private int REQUEST_CODE = 0; //启动Activity2 rlSettingIcon.setOnClickListener(new On.........
    ▪ NSDate的惯用用法       NSDate的常用用法 1. 创建或初始化可用以下方法    用于创建NSDate实例的类方法有    + (id)date;    返回当前时间     + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;       返回以当前时间.........

[1]Reduce Bit地图 size using Bit地图Factory.Options.inSampleSize
    来源: 互联网  发布时间: 2014-02-18
Reduce Bitmap size using BitmapFactory.Options.inSampleSize

In the post "Load ImageView with JPG file in SD Card", the ImageView is loaded with bitmap in full-size. It cost too much resources for a mobile device, and easy to make the app closed unexpectly.

We can generate a shrinked bitmap using BitmapFactory.Optionswith inSampleSize; such that to reduce the needed resources greatly.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.AndroidLoadImageView;
 
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
 
public class AndroidLoadImageViewActivity extends Activity {
  
 String imagefile ="/sdcard/IMG_9331.JPG";
  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
        ImageView image = (ImageView)findViewById(R.id.image);
        //Bitmap bm = BitmapFactory.decodeFile(imagefile);
        Bitmap bm = ShrinkBitmap(imagefile, 300, 300);
        image.setImageBitmap(bm);
    }
     
 Bitmap ShrinkBitmap(String file, int width, int height){
   
     BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
        bmpFactoryOptions.inJustDecodeBounds = true;
        Bitmap bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions);
         
        int heightRatio = (int)Math.ceil(bmpFactoryOptions.outHeight/(float)height);
        int widthRatio = (int)Math.ceil(bmpFactoryOptions.outWidth/(float)width);
         
        if (heightRatio > 1 || widthRatio > 1)
        {
         if (heightRatio > widthRatio)
         {
          bmpFactoryOptions.inSampleSize = heightRatio;
         } else {
          bmpFactoryOptions.inSampleSize = widthRatio;
         }
        }
         
        bmpFactoryOptions.inJustDecodeBounds = false;
        bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions);
     return bitmap;
    }
}

    
[2] StartActivityForResult的施用
    来源: 互联网  发布时间: 2014-02-18
StartActivityForResult的使用

实现从Activity1打开Activity2。当Activity2关闭的时候,我们需要它返回一些数据给Activity1

 

1.Activity1:

 

private int REQUEST_CODE = 0;

//启动Activity2
rlSettingIcon.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {

				Intent intent = new Intent();
				
				intent.setClass(Activity1.this, Activity2.class);
				
				startActivityForResult(intent, REQUEST_CODE);//REQUEST_CODE
是一个必须大于或等于0的整数,不知道为什么...
				
			}
		});

//从Activity2返回的时候,靠这个方法接收数据
@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data)
	{
		super.onActivityResult(requestCode, resultCode, data);  
		System.out.println("onActivityResult------------");
		 if(requestCode == REQUEST_CODE)
		 {  
			   if(resultCode == RESULT_OK)
			   {  
			    Bundle extras = data.getExtras();  
			    if (extras != null)
			    {  
			    	if(extras.getString("name").equals(""))//设置姓名
			    	{
			    		tvName.setText("未命名"); 
			    	}
			    	else
			    	{
			    		tvName.setText(extras.getString("name"));
			    	}   	
	
			  }  
	}

 

 

2.Activity2

 

btnOk.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
                
                Bundle bundle = new Bundle();
                bundle.putString("name", etName.getHint().toString());
                Intent intent = new Intent();
                intent.putExtras(bundle);//用Intent保存对象
                setResult(RESULT_OK, intent);
                finish();
                
			}
		});
 

 

 


    
[3] NSDate的惯用用法
    来源: 互联网  发布时间: 2014-02-18
NSDate的常用用法
1. 创建或初始化可用以下方法

    用于创建NSDate实例的类方法有

    + (id)date;

    返回当前时间



    + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;  

    返回以当前时间为基准,然后过了secs秒的时间



    + (id)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;

    返回以2001/01/01 GMT为基准,然后过了secs秒的时间



    + (id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;

    返回以1970/01/01 GMT为基准,然后过了secs秒的时间



    + (id)distantFuture;

    返回很多年以后的未来的某一天。

    比如你需要一个比现在(Now)晚(大)很长时间的时间值,则可以调用该方法。测试返回了4000/12/31 16:00:00



    + (id)distantPast;

    返回很多年以前的某一天。

    比如你需要一个比现在(Now)早(小)大很长时间的时间值,则可以调用该方法。测试返回了公元前0001/12/31 17:00:00



    用于创建NSDate实例的实例方法有

    - (id)addTimeInterval:(NSTimeInterval)secs;

    返回以目前的实例中保存的时间为基准,然后过了secs秒的时间



    用于初始化NSDate实例的实例方法有

    - (id)init;

    初始化为当前时间。类似date方法



    - (id)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;

    初始化为以2001/01/01 GMT为基准,然后过了secs秒的时间。类似dateWithTimeIntervalSinceReferenceDate:方法



    - (id)initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;

    初始化为以refDate为基准,然后过了secs秒的时间



    - (id)initWithTimeIntervalSinceNow:(NSTimeInterval)secs;

    初始化为以当前时间为基准,然后过了secs秒的时间





2. 日期之间比较可用以下方法

    - (BOOL)isEqualToDate:(NSDate *)otherDate;

    与otherDate比较,相同返回YES



    - (NSDate *)earlierDate:(NSDate *)anotherDate;

    与anotherDate比较,返回较早的那个日期



    - (NSDate *)laterDate:(NSDate *)anotherDate;

    与anotherDate比较,返回较晚的那个日期



    - (NSComparisonResult)compare:(NSDate *)other;

    该方法用于排序时调用:

      . 当实例保存的日期值与anotherDate相同时返回NSOrderedSame

      . 当实例保存的日期值晚于anotherDate时返回NSOrderedDescending

      . 当实例保存的日期值早于anotherDate时返回NSOrderedAscending





3. 取回时间间隔可用以下方法

    - (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;

    以refDate为基准时间,返回实例保存的时间与refDate的时间间隔



    - (NSTimeInterval)timeIntervalSinceNow;

    以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔



    - (NSTimeInterval)timeIntervalSince1970;

    以1970/01/01 GMT为基准时间,返回实例保存的时间与1970/01/01 GMT的时间间隔



    - (NSTimeInterval)timeIntervalSinceReferenceDate;

    以2001/01/01 GMT为基准时间,返回实例保存的时间与2001/01/01 GMT的时间间隔





    + (NSTimeInterval)timeIntervalSinceReferenceDate;

    以2001/01/01 GMT为基准时间,返回当前时间(Now)与2001/01/01 GMT的时间间隔





4. 将时间表示成字符串

    - (NSString *)description;

    以YYYY-MM-DD HH:MM:SS ±HHMM的格式表示时间。

    其中 "±HHMM" 表示与GMT的存在多少小时多少分钟的时区差异。比如,若时区设置在北京,则 "±HHMM" 显示为 "+0800"

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3