当前位置:  编程技术>移动开发
本页文章导读:
    ▪从sdcard加载资料        从sdcard加载文件 可以结合浏览文件的代码让用户可以选文件 /** * 判断sd卡是否存在 Environment.getExternalStorageState() 得到sd卡当前的状态 * * getExternalStorageState() returns MEDIA_MOUNTED if the m.........
    ▪ 资料转成流,流转为图片文件        文件转成流,流转为图片文件 package com.tcl.easybuy.utils; import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException.........
    ▪ NotificationManager与Notification对象的运用       NotificationManager与Notification对象的应用      在Android手机界面最上方有一条显示时间,信号强度和电池状态等信息的区域,这是Android手机的状态栏Status Bar,当系统有一些重要的信息要通知.........

[1]从sdcard加载资料
    来源: 互联网  发布时间: 2014-02-18
从sdcard加载文件
可以结合浏览文件的代码让用户可以选文件
		/**
		 * 判断sd卡是否存在 Environment.getExternalStorageState() 得到sd卡当前的状态
		 * 
		 * getExternalStorageState() returns MEDIA_MOUNTED if the media is
		 * present and mounted at its mount point with read/write access. 如果返回
		 * MEDIA_MOUNTED表示外部存储设备存在。并且有读写的权限(因为sd卡有写保护 如果写保护关闭也是没有权限读写的)
		 */
		String fileNameString = "espeak-data/example.txt";
		int info;
		if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_MOUNTED)) {
			if ("".equals(fileNameString)) {
				info = R.string.sdNotExit;
			} else {
				FileInputStream fileInputStream = null;
				try {
					/**
					 * Environment.getExternalStorageDirectory(); 得到外存储设备的路径
					 * 
					 */
					File file = new File(Environment.getExternalStorageDirectory(), fileNameString);
					fileInputStream = new FileInputStream(file);
					String contentString = DataManager.readDate(fileInputStream);
					mEditText.setText(contentString);
				} catch (Exception e) {
					info = R.string.infor;
				} finally {
					try {
						if (fileInputStream != null) {
							fileInputStream.close();
						}
					} catch (IOException e) {
						info = R.string.infor;
					}
				}
			}
		} else {
			info = R.string.infor;
		}
	

    
[2] 资料转成流,流转为图片文件
    来源: 互联网  发布时间: 2014-02-18
文件转成流,流转为图片文件

package com.tcl.easybuy.utils;

import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class PictureToStreamTransfer

 /**
  * 生成Byte流
  * TODO
  * @history
  * @knownBugs
  * @param
  * @return
  * @exception
  */
 public static byte[] getBytesFromFile(File file){
  byte[] ret=null;
  try{
   if (file==null){
    // log.error("helper:the file is null!");
    return null;
           }
           FileInputStream in=new FileInputStream(file);
           ByteArrayOutputStream out=new ByteArrayOutputStream(4096);
   byte[] b=new byte[4096];
   int n;
   while ((n= in.read(b))!=-1){
               out.write(b,0, n);
           }
           in.close();
           out.close();
           ret= out.toByteArray();
       }catch (IOException e){
   // log.error("helper:get bytes from file process error!");
  e.printStackTrace();
       }
  return ret;
   }
 /**
  * 把流生成图片
  * TODO
  * @history
  * @knownBugs
  * @param
  * @return
  * @exception
  */
 public static File getFileFromBytes(byte[] b, String outputFile){
       File ret=null;
       BufferedOutputStream stream=null;
  try{
           ret=new File(outputFile);
           FileOutputStream fstream=new FileOutputStream(ret);
           stream=new BufferedOutputStream(fstream);
           stream.write(b);
       }catch (Exception e){
   // log.error("helper:get file from byte process error!");    
   e.printStackTrace();
       }finally{
   if (stream!=null){
    try{
                   stream.close();
               }catch (IOException e){
     // log.error("helper:get file from byte process error!");
     e.printStackTrace();
               }
           }
       }
  return ret;
   }
 
 /**
     *@param args
     *@throws IOException*/
   public static void main(String[] args)throws IOException{
//        int byteread = 0;
//        File file = new File("2.GIF");
//        InputStream is = new FileInputStream(file);
//        byte[] buffer = new byte[1024];
//        while ((byteread = is.read(buffer)) != -1) {//一次读1444个字节放入buffer数组中
//            System.out.println(is.read(buffer));
//        }
        File file=new File("2.GIF");
        byte[] b= getBytesFromFile(file);
        getFileFromBytes(b,"22.jpg");

    }

}


    
[3] NotificationManager与Notification对象的运用
    来源: 互联网  发布时间: 2014-02-18
NotificationManager与Notification对象的应用

     在Android手机界面最上方有一条显示时间,信号强度和电池状态等信息的区域,这是Android手机的状态栏Status Bar,当系统有一些重要的信息要通知手机用户时,例如收到新短信,或者是收到新邮件,或者是有未接电话等等,系统通常会把信息显示在状态栏中,有的仅显 示小图片,有的则显示文字和小图片,用手指按住状态栏往下拉,还可以展开状态栏,查看所有系统发出的信息。

    在本范例中,要如何把提示信息放入状态栏,又要如何显示小图标呢??Android API为了管理提示信息,定义了一个NotificationManager(Android.app.NotificationManager),只要 将Notification添加到NotificationManager,即可将信息显示在状态栏中。

     本范例将模拟添加MSN在线状态的切换,在切换在线状态的同时,改变状态栏上显示的在线状态小图标,并以文字提示目前的状态为何。

 test.java

package com.allove;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class Test extends Activity {
private Spinner mSpinner;
private NotificationManager mNotificationManager;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mNotificationManager = (NotificationManager) this
.getSystemService(Service.NOTIFICATION_SERVICE);

mSpinner = (Spinner) this.findViewById(R.id.Spinner01);
mSpinner.setAdapter(new ArrayAdapter<String>(Test.this,
android.R.layout.simple_spinner_item, getResources()
.getStringArray(R.array.spiner_string)));
mSpinner
.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
setNotiType(R.drawable.msn, "在线");
break;
case 1:
setNotiType(R.drawable.away, "离开");
break;
case 2:
setNotiType(R.drawable.busy, "忙碌");
break;
case 3:
setNotiType(R.drawable.min, "马上回来");
break;
case 4:
setNotiType(R.drawable.offine, "离线");
break;
}
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}

protected void setNotiType(int iconId, String s) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(this, Test2.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent appIntent = PendingIntent.getActivity(this, 0, intent, 0);
Notification myNoti = new Notification();
myNoti.icon = iconId;
myNoti.tickerText = s;
myNoti.defaults = Notification.DEFAULT_SOUND;
myNoti.setLatestEventInfo(this, "MSN登陆状态", s, appIntent);
mNotificationManager.notify(0, myNoti);
}


    
最新技术文章:
▪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