android--Activity

1、isFinishing()

判断this Activity是否finish,自己调用或者某种因素请求finish,经常用在onPause函数里面。

一个activity在finish时候,还有收到广播,结果导致bug,需要    if(isFinishing()){。。。。},或

在activity  finish时候,这时候handler.sendMessage,这时候也会导致bug,需要最好在finish函数里面removeAllCallbackAndMessage(this)。

2、overridePendingTransition(int id ,int  id)

  1.  //实现淡入浅出的效果  
  2. overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);  
  3.                  
  4.                 //由左向右滑入的效果  
  5.                 //overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);  
  6.                   
  7.                 //实现zoommin 和 zoomout,即类似iphone的进入和退出时的效果  
  8.                 //overridePendingTransition(R.anim.zoomin, R.anim.zoomout);  

3、

SortedMap接口是排序接口,只要是实现了此接口的子类,都属于排序的子类,TreeMap也是此接口的一个子类。SortedMap接口的定义如下:

 
 
  1. public interface SortedMap<K,V>  
  2. extends Map<K,V> 

之前讲解的TreeMap就是此接口的实现类,所以TreeMap可以完成排序的功能。

4、

ActivityLifecycleCallbacks


  • API仅在14+版本上提供此接口回调,Android 4.0以下系统如何使用?

  • API仅针对上述几个Activity的生命周期事件留出了接口回调,可能已无法满足日益过渡为使用Fragment的今日需求

5、ServiceConnection

bind service,保持service的连接。

6、

为了讲清自定义权限,先以不同的程序之间访问Activity增加权限限制为例。假设应用程序A中有MainActivity,应用程序B中有AActivity和BActivity。现在想通过A中的MainActivity直接打开B中的BActivity。


7、

meta-data

在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>、<application> 、<service>和<receiver>元素中,但
不同的父元素,在应用时读取的方法也不同。

1 :在Activity的应用。
    xml代码段:
   
<activity...>
       <meta-data android:name="myMsg" android:value="hello my activity"></meta-data>
    </activity>

  ActivityInfo info=this.getPackageManager()
                          .getActivityInfo(getComponentName(),
                          PackageManager.GET_META_DATA);
    String msg=info.metaData.getString("myMsg");
    System.out.println("myMsg:"+msg);

8、
第一个参数为ID名,第二个为资源属性是ID或者是Drawable,第三个为包名。

int titleId = getResources().getIdentifier("action_bar_title","id", "android");            

 TextView actionBarTitleTextView = (TextView) findViewById(titleId);

9、

 this.getResources().updateConfiguration(config,null);


10、

 try {

MediaStore.Images.Media.insertImage(this.currentlyAssociatedActivity.getContentResolver(),new

File(download.getSavePath()).getAbsolutePath(),

download.getName(), "");

} catch (FileNotFoundException e) {

e.printStackTrace();

}

ContentResolver contentResolver = this.currentlyAssociatedActivity

.getContentResolver();

ContentValues values = new ContentValues(4);

values.put(Images.Media.DATE_TAKEN, System.currentTimeMillis());

values.put(Images.Media.MIME_TYPE, "image/png");

values.put(Images.Media.ORIENTATION, 0);

values.put(Images.Media.DATA, download.getSavePath());

contentResolver.insert(Images.Media.EXTERNAL_CONTENT_URI, values);


private static void scanPhoto(Context ctx, String imgFileName) {

Intent mediaScanIntent = new Intent(

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);

File file = new File(imgFileName);

Uri contentUri = Uri.fromFile(file);

mediaScanIntent.setData(contentUri);

ctx.sendBroadcast(mediaScanIntent);

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值