当前位置:  编程技术>移动开发
本页文章导读:
    ▪获取荧屏上正在显示的activity        获取屏幕上正在显示的activity         用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。   .........
    ▪ 资料在SD卡存储        文件在SD卡存储 手机的存储空间分俩种,一种是手机自带的,另一种是SD卡,(外存) 文件保存FileOutputStream fOutputStream =  context.openFileOutput(filename, Context.MODE_PRIVATE);  fOutputStream.write(content.ge.........
    ▪ 让 sun 的模拟器支持抚摸事件       让 sun 的模拟器支持触摸事件   默认情况下,sun 的模拟器不支持触摸事件,修改方法为,找到 C:\WTK2.5.2\wtklib\devices\DefaultColorPhone\DefaultColorPhone.properties 文件,用记事本打开,Ctrl + F 搜索 “t.........

[1]获取荧屏上正在显示的activity
    来源: 互联网  发布时间: 2014-02-18
获取屏幕上正在显示的activity
        用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。

         那么,从里面我们可以发掘点什么出来吗?

         仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。

          getRunningTasks有个整型参数,表示返回列表的最大个数。那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);  
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;  
Log.d("", "pkg:"+cn.getPackageName());  
Log.d("", "cls:"+cn.getClassName());

至于这个能做什么,嘿嘿,我相信你知道的。

    
[2] 资料在SD卡存储
    来源: 互联网  发布时间: 2014-02-18
文件在SD卡存储


手机的存储空间分俩种,一种是手机自带的,另一种是SD卡,(外存)


文件保存
FileOutputStream fOutputStream =
  context.openFileOutput(filename, Context.MODE_PRIVATE);
  fOutputStream.write(content.getBytes());
openFileOutput()方法的第一个参数用于指定文件名称,不能包含路径分隔符"/",如果文件不存在,Android会自动创建它,创建的文件保存在/data/data/<package name>files目录
openFileOutput()方法的第二个参数用于指定操作模式,有四种模式,分别为:
Context.MODE_PRIVATE=0
Context.MODE_APPEND =32768
Context.MODE_WORLD_READABLE=1
Context.MODE_WORLD_WRITEABLE=2

文件读取
public String readFile(String filename)throws Exception{
  FileInputStream input = context.openFileInput(filename);
  
  //定义的缓冲区
  byte[] bytes = new byte[1024];
  int len = 0;
  //写入文件到内存
  ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
  
  while((len=input.read(bytes))!=-1){
   //把缓冲区中 的数据从0位置开始,读取len长度,写入内存
   outputStream.write(bytes,0,len);
  }
  
  byte[] data  = outputStream.toByteArray();
  outputStream.close();
  input.close();
  return new String(data);
 }

 

文件操作模式
Context.MODE_PRIVATE,为默认操作模式,代表文件是私有数据,只能被应用本身访问,在改模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否具有权限读写该文件。
MOED_WORLD_READABLE:表示当前文件可以被其他应用读取
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入


快速定位文件,在activity中使用this.getFilesDir()


文件在SD卡存储
android2.2之前,SD卡在/sdcard目录
android2.2和之后,SD卡在/mnt/sdcard

使用activity的openFileOutput()方法保存文件,文件是存在手机空间上,一般手机的存储空间不是很大,存放些小文件还可以,如果要存储视频等大文件,是不可行的,对于像视频这样的大文件,我们存储在SD卡

在程序中访问SD卡,需要加入权限
<!--在SD卡中创建于删除文件的权限-->
<android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!--往SD卡中写入数据权限-->
<android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

//判断是否存在SD卡,是否可写
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
 //保存
 fileService.saveToSDCard(filenameString, context);
}

public void saveToSDCard(String filename,String content)throws Exception{
  File file = new File(Environment.getExternalStorageDirectory(),filename);
  FileOutputStream fOutputStream =
     new FileOutputStream(file);
  fOutputStream.write(content.getBytes());
  fOutputStream.close();
}


    
[3] 让 sun 的模拟器支持抚摸事件
    来源: 互联网  发布时间: 2014-02-18
让 sun 的模拟器支持触摸事件

 

默认情况下,sun 的模拟器不支持触摸事件,修改方法为,找到 C:\WTK2.5.2\wtklib\devices\DefaultColorPhone\DefaultColorPhone.properties 文件,用记事本打开,Ctrl + F 搜索 “touch_screen” 将 touch_screen=false 改为 touch_screen=true,即可。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android录音应用实例教程 iis7站长之家
▪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