`
jiava9900
  • 浏览: 86796 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Android intent and activity 经典程序

    博客分类:
  • java
阅读更多
    #massage_box {  
    position: absolute;  
    left: expression((body.clientwidth-350)/ 2 );  
    top: expression((body.clientheight-200)/ 2 );  
    width: 350px;  
    height: 200px;  
   
    z-index: 2;  
    visibility: hidden  
}  
 
#mask {  
    position: absolute;  
    top: 0;  
    left: 0;  
    width: expression(body.scrollwidth);  
    height: expression(body.scrollheight);  
    background: #d3ddea;  
    filter: alpha(opacity =50);  
    z-index: 1;  
    visibility: hidden  

//数据写入intentintent openwelcomeactivityintent=new intent();bundle mybundelforname=new bundle();mybundelforname.putstring("key_name",inname.gettext().tostring());mybundelforname.putstring("key_age",inage.gettext().tostring());openwelcomeactivityintent.putextras(mybundelforname);openwelcomeactivityintent.setclass(androidbundel.this, welcome.class);startactivity(openwelcomeactivityintent);//从intent 中获取数据bundle mybundelforgetname=this.getintent().getextras();string name=mybundelforgetname.getstring("key_name");


package zyf.android.study;import ……import android.content.intent;import android.net.uri;import android.view.view.onclicklistener;public class androidstudy_two extends activity {@overridepublic void oncreate(bundle savedinstancestate) {super.oncreate(savedinstancestate);setcontentview(r.layout.main);final edittext inname = (edittext) findviewbyid(r.id.name);final textview result = (textview) findviewbyid(r.id.result);button button_start_browser = (button) findviewbyid(r.id.submit_tonet);button button_login=(button) findviewbyid(r.id.show_login);button button_showloginname=(button)findviewbyid(r.id.submit_toshowloingname);button_start_browser.setonclicklistener(new onclicklistener(){@overridepublic void onclick(view v) {uri myuri = uri.parse("http://www.flashwing.net");intent openbrowserintent = new intent(intent.action_view,myuri);startactivity(openbrowserintent);}});button_login.setonclicklistener(new onclicklistener(){@overridepublic void onclick(view v) {intent openwelcomeactivityintent=new intent();openwelcomeactivityintent.setclass(androidstudy_two.this,welcome.class);startactivity(openwelcomeactivityintent);}});button_showloginname.setonclicklistener(new onclicklistener(){@overridepublic void onclick(view v) {result.settext(inname.gettext()+"欢迎您进入");}});}}



使用bundle在activity间传递数据2从源请求activity 中通过一个intent 把一个服务请求传到目标activity 中//数据写入intentintent openwelcomeactivityintent=new intent();bundle mybundelforname=new bundle();mybundelforname.putstring("key_name",inname.gettext().tostring());mybundelforname.putstring("key_age",inage.gettext().tostring());openwelcomeactivityintent.putextras(mybundelforname);openwelcomeactivityintent.setclass(androidbundel.this, welcome.class);startactivity(openwelcomeactivityintent);//从intent 中获取数据bundle mybundelforgetname=this.getintent().getextras();string name=mybundelforgetname.getstring("key_name");mytextview_showname.settext("欢迎您进入:"+name);private intent tonextintent;//intent 成员声明tonextintent=new intent();//intent 定义tonextintent.setclass(twoactivityme3.this, secondactivity3.class);//设定开启的下一个activitystartactivityforresult(tonextintent, request_ask);//开启intent 时候,把请求码同时传递-----------------------------------android 编程基础3在源请求activity 中等待intent 返回应答结果,通过重载onactivityresult()方法☻ 第一个参数是你开启请求intent时的对应请求码,可以自己定义。☻ 第二个参数是目标activity返回的验证结果码☻ 第三个参数是目标activity返回的intent目标activity 中发送请求结果代码,连同源activity 请求的数据一同绑定到bundle中通过intent 传回源请求activity 中log与ddms(查看log等信息)@overrideprotected void onactivityresult(int requestcode,int resultcode, intent data) {// todo auto-generated method stubsuper.onactivityresult(requestcode, resultcode, data);if(requestcode==request_ask){if(resultcode==result_canceled){settitle("cancel****");}else if(resultcode==result_ok){showbundle=data.getextras();//从返回的intent中获得bundlename=showbundle.getstring("myname");//从bundle中获得相应数据text.settext("the name get from the second layout:\n"+name);}}}backintent=new intent();stringbundle=new bundle();stringbundle.putstring("myname", name);backintent.putextras(stringbundle);setresult(result_ok, backintent);//返回activity结果码finish();


1、打开cmd输入netca。 2、选择【本地net服务名配置】→下一步。 3、选择【添加】→下一步。 4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字→下一步。 5、选择【tcp】→下一步。 6、在【主机名】中输入你想要连接的服务器ip,端口号不变→下一步。 7、选择【进行测试】→下一步。(当然你也可以选择不测试) ※1测试如果不通过,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】→确定,出现【正在连接...测试成功。】表明测试成功。 ※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听服务已经打开。 8、在【net服务名中】输入你想要使用的本地的服务名→下一步。 ※就是【sqlplus user/passwd @本地服务名】。 9、选择【否】→下一步。 10、出现【net服务配置完毕】字样→下一步。 11、点击【完成】完成服务配置。 12、在上面服务配置完成以后,在cmd中输入如下命令即可远程登录oracle服务器: sqlplus user_name/password@本地服务名 一定记住,上面的本地服务名是你第8步写的服务名。



3. jboss 的安全设置3.1 jmx-console 登录的用户名和密码设置 默认情况访问 http://localhost:8080/jmx-console 就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问。步骤如下:3.1.1 修改jboss-web.xml文件打开/server/default/deploy/jmx-console.war/web-inf/jboss-web.xml文件,去掉<security-domain>java:/jaas/jmx-console</security-domain>的注释。修改后的该文件内容为:<jboss-web>   <!-- uncomment the security-domain to enable security. you will      need to edit the htmladaptor login configuration to setup the      login modules used to authentication users.-->      <security-domain>java:/jaas/jmx-console</security-domain></jboss-web>3.1.2 修改web.xml文件与3.1.1中的jboss-web.xml同级目录下的web.xml文件,查找到<security-constraint/>节点,去掉它的注释,修改后该部分内容为:<!-- a security constraint that restricts access to the html jmx console   to users with the role jbossadmin. edit the roles to what you want and   uncomment the web-inf/jboss-web.xml/security-domain element to enable   secured access to the html jmx console.-->   <security-constraint>     <web-resource-collection>       <web-resource-name>htmladaptor</web-resource-name>       <description>an example security config that only allows users with the         role jbossadmin to access the html jmx console web application       </description>       <url-pattern>/*</url-pattern>       <http-method>get</http-method>       <http-method>post</http-method>     </web-resource-collection>     <auth-constraint>       <role-name>jbossadmin</role-name>     </auth-constraint>   </security-constraint>   在此处可以看出,为登录配置了角色jbossadmin。3.1.3 修改login-config.xml文件在第一步中的jmx-console安全域和第二步中的运行角色jbossadmin都是在login-config.xml中配置,我们在jboss安装目录/server/default/config下找到它。查找名字为:jmx-console的application-policy:<application-policy name = "jmx-console">       <authentication>          <login-module code="org.jboss.security.auth.spi.usersrolesloginmodule"             flag = "required">           <module-option name="usersproperties">props/jmx-console-users.properties</module-option>           <module-option name="rolesproperties">props/jmx-console-roles.properties</module-option>          </login-module>       </authentication>    </application-policy>在此处可以看出,登录的角色、用户等的信息分别在props目录下的jmx-console-roles.properties和jmx-console-users.properties文件中设置,分别打开这两个文件。其中jmx-console-users.properties文件的内容如下:# a sample users.properties file for use with the usersrolesloginmoduleadmin=admin该文件定义的格式为:用户名=密码,在该文件中,默认定义了一个用户名为admin,密码也为admin的用户,读者可将其改成所需的用户名和密码。jmx-console-roles.properties的内容如下:# a sample roles.properties file for use with the usersrolesloginmoduleadmin=jbossadmin, httpinvoker该文件定义的格式为:用户名=角色,多个角色以“,”隔开,该文件默认为admin用户定义了jbossadmin和httpinvoker这两个角色。配置完成后读者可以通过访问: http://localhost:8088/jmx-console/ ,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。如图:


package action;import java.awt.image;import java.awt.toolkit;import java.awt.image.bufferedimage;import java.awt.image.cropimagefilter;import java.awt.image.filteredimagesource;import java.awt.image.imagefilter;import java.awt.image.imageproducer;import java.io.bufferedinputstream;import java.io.bufferedoutputstream;import java.io.file;import java.io.fileinputstream;import java.io.fileoutputstream;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.util.arraylist;import java.util.date;import java.util.list;import java.util.map;import java.util.random;import javax.imageio.imageio;import javax.servlet.http.httpservletrequest;import org.apache.struts2.servletactioncontext;import po.blog;import po.login;import po.photo;import po.userinfo;import service.qqrservice;import util.imagehepler;import com.opensymphony.xwork2.actioncontext;import com.sun.image.codec.jpeg.jpegcodec;import com.sun.image.codec.jpeg.jpegimageencoder;public class kindeditoraction extends baseaction {	private static final long serialversionuid = 1l;	private qqrservice qqrservice;	// 封装参数	private file imgfile;	private string imgfilefilename;	private string imgfilecontenttype;	private string filedir = "/blogimg";	private string imgtitle = "";	private string align;	private int imgwidth = 0;	private int imgheight = 0;	// 上传kindeditor 图片及压缩	@suppresswarnings("deprecation")	public string uploadimg() throws exception {		// todo auto-generated method stub		// 只能传图片		try {			if (this.imgfile != null) {				file dir = new file(servletactioncontext.getrequest()						.getrealpath(filedir));				if (!dir.exists())					dir.mkdir();				integer login_id = (integer) actioncontext.getcontext()						.getsession().get("login_id");				date dt = new date();				file dst = new file(dir.getabsolutepath() + file.separator						+ login_id + new date().gettime() + ".jpg");				this.resize_image(this.imgfile, dst);				string id = "context";				string url = servletactioncontext.getrequest().getcontextpath()						+ "/" + this.filedir + "/" + dst.getname();				string border = "0";				string result = "<script type='text/javascript'>";				result += "parent.ke.plugin['image'].insert('" + id + "','"						+ url + "','" + imgtitle + "','" + imgheight + "','"						+ imgheight + "','" + border + "','" + align + "');   ";				result += "</script>";				servletactioncontext.getresponse().getwriter().write(result);			} else {				return null;			}		} catch (runtimeexception e) {			// todo auto-generated catch block			e.printstacktrace();		}		return null;	}	// 自己封装的一个把源文件对象复制成目标文件对象	public boolean copy(file src, file dst) {		inputstream in = null;		outputstream out = null;		try {			in = new bufferedinputstream(new fileinputstream(src), 1024);			out = new bufferedoutputstream(new fileoutputstream(dst), 1024);			byte[] buffer = new byte[1024];			int len = 0;			while ((len = in.read(buffer)) > 0) {				out.write(buffer, 0, len);			}			return true;		} catch (exception e) {			e.printstacktrace();			return false;		} finally {			if (null != in) {				try {					in.close();				} catch (ioexception e) {					e.printstacktrace();				}			}			if (null != out) {				try {					out.close();				} catch (ioexception e) {					e.printstacktrace();				}			}		}	}	/**	 * 图像压缩	 * 	 * @param fi大图文件	 * @param fo将要转换出的小图文件	 */	public boolean resize_image(file fi, file fo) {		try {			// file fi = new file("e:/3.jpg"); // 大图文件			// file fo = new file("e:/333.jpg"); // 将要转换出的小图文件			// affinetransform transform = new affinetransform();			bufferedimage bis = imageio.read(fi);			int w = bis.getwidth();			// system.out.println(w);			int h = bis.getheight();			// system.out.println(h);			// double scale = (double) w / h;			int nw = w;			int nh = h;			bufferedimage tag = new bufferedimage(nw, nh,					bufferedimage.type_int_rgb);			this.imgwidth = tag.getwidth();			this.imgheight = tag.getheight();			if (this.imgwidth > 250)				this.imgwidth = 250;			if (this.imgheight >= 250)				this.imgheight = 250;			tag.getgraphics().drawimage(bis, 0, 0, nw, nh, null); // 绘制缩小后的图			// 转换为32*32 jpg格式			fileoutputstream newimage = new fileoutputstream(fo); // 输出到文件流			jpegimageencoder encoder = jpegcodec.createjpegencoder(newimage);			encoder.encode(tag);			newimage.close();			return true;		} catch (exception e) {			e.printstacktrace();			return false;		}	}	public void imageshow(int width, int height, int w, int h) {		int i = width;		int j = height;		width = w;		height = h;		if (i > w) {			float width_bili = w / i;			float height_bili = h / j;			float bili = width_bili;			if (width_bili < height_bili) {				bili = width_bili;			} else {				bili = height_bili;			}			i = (int) (i * bili);			j = (int) (j * bili);		} else {			if (j > h) {				float bili = (float) (h / j);				i = (int) (i * bili);				j = (int) (j * bili);			}		}		width = i;		height = j;	}	/**	 * 图像的缩略	 * 	 * 	 * width 输出图片大小 height	 * 	 * @param fi大图文件	 * @param fo将要转换出的小图文件	 */	public boolean resize_image(file fi, file fo, int width, int height) {		try {			bufferedimage bis = imageio.read(fi);			int w = bis.getwidth();			int h = bis.getheight();			int nw = width;			int nh = height;			bufferedimage tag = new bufferedimage(nw, nh,					bufferedimage.type_int_rgb);			tag.getgraphics().drawimage(bis, 0, 0, nw, nh, null); // 绘制缩小后的图			// 转换为32*32 jpg格式			fileoutputstream newimage = new fileoutputstream(fo); // 输出到文件流			jpegimageencoder encoder = jpegcodec.createjpegencoder(newimage);			encoder.encode(tag);			newimage.close();			return true;		} catch (exception e) {			e.printstacktrace();			return false;		}	}	/**	 * 图像的等比缩略	 * 	 * 	 * width 输出图片大小 height	 * 	 * @param fi大图文件	 * @param fo将要转换出的小图文件	 */	public boolean geometric_image(file fi, file fo, int width, int height) {		try {			bufferedimage bis = imageio.read(fi);			int w = bis.getwidth();			int h = bis.getheight();			int nw = w;			int nh = h;			if (w > width) {				nw = width;				nh = nw * h / w;				if (nh > height) {					nh = height;					nw = nh * w / h;				}			} else if (h > height) {				nh = height;				nw = nh * w / h;				if (nw > width) {					nw = width;					nh = nw * h / w;				}			}			bufferedimage tag = new bufferedimage(nw, nh,					bufferedimage.type_int_rgb);			tag.getgraphics().drawimage(bis, 0, 0, nw, nh, null); // 绘制缩小后的图			// 转换为32*32 jpg格式			fileoutputstream newimage = new fileoutputstream(fo); // 输出到文件流			jpegimageencoder encoder = jpegcodec.createjpegencoder(newimage);			encoder.encode(tag);			newimage.close();			return true;		} catch (exception e) {			e.printstacktrace();			return false;		}	}	public string getimgtitle() {		return imgtitle;	}	public void setimgtitle(string imgtitle) {		this.imgtitle = imgtitle;	}	public string getalign() {		return align;	}	public void setalign(string align) {		this.align = align;	}	public qqrservice getqqrservice() {		return qqrservice;	}	public void setqqrservice(qqrservice qqrservice) {		this.qqrservice = qqrservice;	}	public file getimgfile() {		return imgfile;	}	public void setimgfile(file imgfile) {		this.imgfile = imgfile;	}	public string getimgfilefilename() {		return imgfilefilename;	}	public void setimgfilefilename(string imgfilefilename) {		this.imgfilefilename = imgfilefilename;	}	public string getimgfilecontenttype() {		return imgfilecontenttype;	}	public void setimgfilecontenttype(string imgfilecontenttype) {		this.imgfilecontenttype = imgfilecontenttype;	}	public string getfiledir() {		return filedir;	}	public void setfiledir(string filedir) {		this.filedir = filedir;	}}
 
0
0
分享到:
评论

相关推荐

    android intent and intent-filters

    在Android应用开发中,Intent是连接应用程序组件的重要机制,它是一种消息传递对象,用于启动其他组件(如Activity、Service、BroadcastReceiver)或者传递数据。Intent-filters则定义了组件能够响应的Intent类型,...

    android----intent

    在Android操作系统中,Intent是一种强大的组件间通信机制,它用于启动其他应用程序组件,如Activity、Service,甚至BroadcastReceiver。Intent不仅能够传递数据,还能在应用的不同部分之间建立连接,是Android开发中...

    intent实现两个activity间的数据传输

    在Android应用开发中,Intent是连接应用程序组件的重要机制,它被用来启动新的Activity或Service,同时还能传递数据。本文将详细讲解如何运用Intent实现在两个Activity之间进行数据传输,包括Activity1向Activity2...

    实现androidActivity的跳转,数据返回,传数据

    在Android应用开发中,Activity是构成应用程序的基本单元,它负责用户界面的展示和交互。Activity间的跳转和数据传递是Android开发中的常见操作,对于构建功能丰富的应用至关重要。本篇文章将详细阐述如何在Android...

    Android学习笔记-Activity篇

    在Android开发中,Activity是应用程序的基本构建块,它代表了一个用户可以交互的屏幕。这篇学习笔记将深入探讨Activity的相关知识,包括创建、声明、启动、关闭以及生命周期管理,同时还会涉及Task和Back Stack的...

    Android Anatomy and Physiology

    其中包括Activity Manager、Content Provider、Intent、Broadcast Receiver、Service等关键组件,它们定义了应用程序的生命周期和交互方式。 6. **应用层**:这是用户最直观接触的部分,包含各种预装和第三方应用,...

    Android系列教程之十二:Intents and Intent Filters(三).docx

    在Android开发中,Intent是应用程序之间通信的重要机制,它用于启动其他组件或传递数据。Intent Filters则是接收Intent的组件(如Activity、Service等)用来声明它们能处理的Intent类型。本教程将深入讲解Intent和...

    Xamarin.Android之Intent传递对象简单实例

    在Android应用开发中,Intent是一种强大的机制,用于在不同的组件之间进行通信,如活动(Activity)、服务(Service)以及广播接收器(BroadcastReceiver)。在Xamarin.Android中,我们可以利用C#的强大特性来处理...

    1.高焕堂讲解 Intent-based Programming

    然后,Activity-1 通过调用 startActivity(Intent intent) 方法,将 Intent 交给 Android 系统。Android 系统根据 Intent 的内容在 AndroidManifest.xml 文件中查找匹配的组件,并将 Intent 传递给合适的 Activity-2...

    Android_activity向fragment传值 对应45

    Activity作为应用程序的主要入口点,而Fragment则可以看作是Activity中的可重用模块,它们共同构建了丰富的用户界面。当需要在Activity与Fragment之间进行数据传递时,有多种方法可以实现。下面我们将详细探讨...

    Android开发入门经典

    标题“Android开发入门经典”表明本文档是一本针对初学者的Android开发入门指南。描述部分提到的“第一部分 Android的入门基础”是指学习Android开发的起始阶段,需要了解Android平台的基本概念,包括它是什么,拥有...

    android教程之intent的action属性使用示例(intent发短信)

    在Android开发中,Intent是应用程序之间通信的重要工具,它用于启动其他组件或传递数据。本教程将深入讲解Intent中的Action属性及其使用示例,特别是如何使用Intent发送短信。 `Action`属性是Intent的核心部分,它...

    android activity

    - **Intent-filter**:使用`&lt;intent-filter&gt;` 标签来指定`Activity` 的入口点,通常是应用程序的主界面。 - **启动方式**:通过`android:launchMode` 属性来控制`Activity` 的启动模式,包括: - **standard**:...

    Android编程入门教程andbook中文版

    5. **Activity与Intent**:Activity是Android应用的基本组件,负责用户界面。Intent则用来在Activity之间传递信息,实现应用间的交互。书中会详细阐述它们的工作原理和使用方法。 6. **UI设计**:包括XML布局文件的...

    Android编程入门教程andbook与Android开发教程笔记完全版

    6. **Intent和Activity间通信**:Intent是Android中启动服务或活动的主要方式。教程会解释Intent的使用以及如何在不同Activity之间传递数据。 7. **生命周期管理**:Activity和Fragment有各自的生命周期,理解它们...

    Android入门开发实例--Toast、Notification、Intent应用

    结合压缩包中的`My_Toast_and_Notification`文件,我们可以创建一个简单的Android项目,实现`Toast`显示、`Notification`推送以及使用`Intent`启动新的Activity。在`MainActivity`中,你可以为不同的按钮绑定对应的...

    Android andbook 中文版(未翻译完成)

    - **Activity**: Activity是Android应用程序中最基本的组件之一,代表了一个屏幕界面,负责处理用户的交互操作。 - **IntentReceiver**: IntentReceiver用于接收系统或其他应用程序发出的Intent消息。 - **Service**...

Global site tag (gtag.js) - Google Analytics