当前位置:  编程技术>移动开发
本页文章导读:
    ▪手机照片下传        手机照片上传 首先写好一个专门用于封装提交的信息的处理类   FormFile.java package com.cnjmwl.util; public class FormFile { /* 上传文件的数据 */ private byte[] data; /* 文件名称 */ private String fi.........
    ▪ 【转】PendingIntent跟Intent的区别        【转】PendingIntent和Intent的区别 Notification n = new Notification(R.drawable.face_1, "Service启动", System.currentTimeMillis()); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, TServiceHolder.class), 0); .........
    ▪ EditeText标签名体大小设置 是否可编辑       EditeText标签字体大小设置 是否可编辑      <EditText android:layout_width="180px" android:editable="false"      android:layout_height="wrap_content" android:textColor="@drawable/Color_black"    android:id="@+id/clsx" andr.........

[1]手机照片下传
    来源: 互联网  发布时间: 2014-02-18
手机照片上传

首先写好一个专门用于封装提交的信息的处理类

 

FormFile.java

package com.cnjmwl.util;

public class FormFile
{
  /* 上传文件的数据 */  
  private byte[] data;  
  /* 文件名称 */  
  private String filname;  
  /* 表单字段名称*/  
  private String formname;  
  /* 内容类型 */  
  private String contentType = "text/plain"; //需要查阅相关的资料  

  public FormFile(String filname, byte[] data, String formname, String contentType) {  
    this.data = data;  
    this.filname = filname;  
    this.formname = formname;  
    if(contentType!=null) this.contentType = contentType;  
  }  

  public byte[] getData() {  
    return data;  
  }  

  public void setData(byte[] data) {  
    this.data = data;  
  }  

  public String getFilname() {  
    return filname;  
  }  

  public void setFilname(String filname) {  
    this.filname = filname;  
  }  

  public String getFormname() {  
    return formname;  
  }  

  public void setFormname(String formname) {  
    this.formname = formname;  
  }  

  public String getContentType() {  
    return contentType;  
  }  

  public void setContentType(String contentType) {  
    this.contentType = contentType;  
  }  
}

  然后写android客户端提交到的方法

  String actionURl="http://192.168.1.79:6888/jmcustomer/placeOrderServlet";

 		   //String actionURl=HttpUtil.BASE_URL+"new";
		   Map<String, String> params=new HashMap<String, String>();
		   
		   //传个用户名
		   params.put("username", this.getIntent().getStringExtra("username"));
		   params.put("orderdesc", StringUtil.utf8ToUnicode(orderdesc.getText().toString()));
		   String contentType = "image/JPEG";
		   
		   
		 File file =new File("/data/data/test.jpg");
		byte[] buffer = new byte[1024];
		int len = -1;
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		 BufferedInputStream bufferedInputStream;
		try {
			bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
			while ((len = bufferedInputStream.read(buffer)) != -1)
			{
				outStream.write(buffer, 0, len);
			}
			 data = outStream.toByteArray();
			outStream.close();
			bufferedInputStream.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		//获取用户编辑照片的文件名
	    String   photoName=fileName.getText().toString();
	    if(photoName==null||photoName.trim().equals("")){
	    	photoName="default";
	    }
		// FormFile[] files=new FormFile[]{new FormFile("test.jpg",data,"file1",contentType)};
		 FormFile[] files=new FormFile[]{new FormFile(photoName+".jpg",mContent,"file1",contentType)};
		String result= post(actionURl, params, files);
		if(result.equals("1")){
			showAlert("提交成功!");
		}else{
			showAlert("提交失败!");
		}

 /**

 	   * 直接通过HTTP协议提交数据到服务器,实现表单提交功能 
 	   * @param actionUrl 上传路径 
 	   * @param params 请求参数 key为参数名,value为参数值 
 	   * @param file 上传文件 
 	   */  
 	  public static String post(String actionUrl, Map<String, String> params, FormFile[] files) {  
 	      try {             
 	          String BOUNDARY = "---------7d4a6d158c9"; //数据分隔线  
 	          String MULTIPART_FORM_DATA = "multipart/form-data";  
 	            
 	          URL url = new URL(/blog_article/actionUrl/index.html);  
 	          HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
 	          conn.setDoInput(true);//允许输入  
 	          conn.setDoOutput(true);//允许输出  
 	          conn.setUseCaches(false);//不使用Cache  
 	          conn.setRequestMethod("POST");            
 	          conn.setRequestProperty("Connection", "Keep-Alive");  
 	          conn.setRequestProperty("Charset", "UTF-8");  
 	          conn.setRequestProperty("Content-Type", MULTIPART_FORM_DATA + "; boundary=" + BOUNDARY);  
 	    
 	          StringBuilder sb = new StringBuilder();  
 	            
 	          //上传的表单参数部分,格式请参考文章  
 	          for (Map.Entry<String, String> entry : params.entrySet()) {//构建表单字段内容  
 	              sb.append("--");  
 	              sb.append(BOUNDARY);  
 	              sb.append("\r\n");  
 	              sb.append("Content-Disposition: form-data; name=\""+ entry.getKey() + "\"\r\n\r\n");  
 	              sb.append(entry.getValue());  
 	              sb.append("\r\n");  
 	          }  
 	          DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());  
 	          outStream.write(sb.toString().getBytes());//发送表单字段数据  
 	           
 	          //上传的文件部分,格式请参考文章  
 	          for(FormFile file : files){  
 	              StringBuilder split = new StringBuilder();  
 	              split.append("--");  
 	              split.append(BOUNDARY);  
 	              split.append("\r\n");  
 	              split.append("Content-Disposition: form-data;name=\""+ file.getFormname()+"\";filename=\""+ file.getFilname() + "\"\r\n");  
 	              split.append("Content-Type: "+ file.getContentType()+"\r\n\r\n");  
 	              outStream.write(split.toString().getBytes());  
 	              outStream.write(file.getData(), 0, file.getData().length);  
 	              outStream.write("\r\n".getBytes());  
 	          }  
 	          byte[] end_data = ("--" + BOUNDARY + "--\r\n").getBytes();//数据结束标志           
 	          outStream.write(end_data);  
 	          outStream.flush();  
 	          int cah = conn.getResponseCode();  
 	          if (cah != 200) throw new RuntimeException("请求url失败");  
 	          InputStream is = conn.getInputStream();  
 	          int ch;  
 	          StringBuilder b = new StringBuilder();  
 	          while( (ch = is.read()) != -1 ){  
 	              b.append((char)ch);  
 	          }  
 	          outStream.close();  
 	          conn.disconnect();  
 	          return b.toString();  
 	      } catch (Exception e) {  
 	          throw new RuntimeException(e);  
 	      }  
 	  } 
   

    
[2] 【转】PendingIntent跟Intent的区别
    来源: 互联网  发布时间: 2014-02-18
【转】PendingIntent和Intent的区别
Notification n = new Notification(R.drawable.face_1, "Service启动", System.currentTimeMillis());  
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, TServiceHolder.class), 0);  
n.setLatestEventInfo(this, "任务标题", "任务内容", contentIntent);  
nManager.notify(NOTIFICATION_ID, n); // 任务栏启动 

PendingIntent和Intent的区别:An Intent is something that is used right now; a PendingIntent is something that may create an Intent in the future. You will use a PendingIntent with Notifications, AlarmManager, etc.
1. GSM网络中android发送短信示例
(1)代码节选
String msg ="你好,美女";  
String number = "135****6784";  
SmsManager sms = SmsManager.getDefault();  
  
PendingIntent pi = PendingIntent.getBroadcast(SmsActivity.this,0,new Intent(...),0);  
sms.sendTextMessage(number, null, msg, pi, null);  
Toast.makeText(SmsActivity.this,"发送成功",Toast.LENGHT_LONG).show();  

2)代码解释
      PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情 (By giving a PendingIntent to another application, you are granting it the right to perform the operation you have specified as if the other application was yourself,就相当于PendingIntent代表了Intent)。本例中别的程序就是发送短信的程序,短信发送成功后要把intent广播出去 。
      函数SmsManager.sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)中参数解释:
      1)PendingIntent sentIntent:当短信发出时,成功的话sendIntent会把其内部的描述的intent广播出去,否则产生错误代码并通过android.app.PendingIntent.OnFinished进行回调,这个参数最好不为空,否则会存在资源浪费的潜在问题;
      2)PendingIntent deliveryIntent:是当消息已经传递给收信人后所进行的PendingIntent广播。
      查看PendingIntent 类可以看到许多的Send函数,就是PendingIntent在进行被赋予的相关的操作。

原文地址 http://wayfarer.iteye.com/blog/586159

    
[3] EditeText标签名体大小设置 是否可编辑
    来源: 互联网  发布时间: 2014-02-18
EditeText标签字体大小设置 是否可编辑

     <EditText android:layout_width="180px" android:editable="false"
      android:layout_height="wrap_content" android:textColor="@drawable/Color_black"    android:id="@+id/clsx" android:textSize="16px">
     </EditText>

 

android:textSize="16px"-----字体大小设置

android:editable="false"-----不可编辑

 


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