当前位置:  编程技术>移动开发
本页文章导读:
    ▪Dialog向Activity传送数据        Dialog向Activity传递数据        我们知道,从一个Activity向另一个Activity传递数据,用Intent实现。而当一个浮在Activity之上的Dialog需要向该Activity传递数据时,应该怎么实现呢?接着上一篇.........
    ▪ com.cf.vpn.VPNCheck.sendCmd:Permission denied        com.cf.vpn.VPNCheck.sendCmd::Permission denied 2012-02-22 20:57:08.008 com.cf.vpn.VPNCheck.sendCmd::Permission denied    org.apache.harmony.luni.platform.OSNetworkSystem.socket:-2    dalvik.system.BlockGuard$WrappedNetworkSystem.socket:335 .........
    ▪ java核心技术小结六       java核心技术总结六 第10章 1、用命令打jar包: 选项 说明 c 创建一个新的或者空的存档文件并加入文件 C 暂时改变目录 e 在清单文件中创建一个条目 f 将jar文件.........

[1]Dialog向Activity传送数据
    来源: 互联网  发布时间: 2014-02-18
Dialog向Activity传递数据
       我们知道,从一个Activity向另一个Activity传递数据,用Intent实现。而当一个浮在Activity之上的Dialog需要向该Activity传递数据时,应该怎么实现呢?接着上一篇文章:用Dialog创建带箭头的对话框。
       现在PopupDialog中声明一个内部接口PriorityListener,接口中声明一个回调函数refreshPriorityUI,用于在Dialog的监听事件触发后刷新Activity的UI显示。然后在MainActivity中的Button点击事件中实现这个接口并将其作为PopupDialog的构造函数的参数传入,并实现refreshPriorityUI()方法。话不多说,直接上代码——
     PopupDialog代码:
public class PopupDialog extends Dialog {

	/**
	 * 自定义Dialog监听器
	 */
	public interface PriorityListener {
		/**
		 * 回调函数,用于在Dialog的监听事件触发后刷新Activity的UI显示
		 */
		public void refreshPriorityUI(String string);
	}
	
	private PriorityListener listener;
	/**
	 * 带监听器参数的构造函数
	 */
	public PopupDialog(Context context, int theme, PriorityListener listener) {
		super(context, theme);
		this.listener = listener;
	}

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
 		setContentView(R.layout.popup_dialog);
 		Button buttonUp = (Button) findViewById(R.id.btn_up);
 		buttonUp.setOnClickListener(new Button.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				dismiss();
				listener.refreshPriorityUI("数据来自:上");				
			}
		});
	}

}


     MainActivity代码:
public class MainActivity extends Activity {
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button)findViewById(R.id.btn);
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				PopupDialog popupDialog = new PopupDialog(MainActivity.this, R.style.dialog, new PopupDialog.PriorityListener() {
					
					@Override
					public void refreshPriorityUI(String string) {
						Toast.makeText(MainActivity.this, string, Toast.LENGTH_SHORT).show();
					}
				});
				popupDialog.setCanceledOnTouchOutside(true); // 点击Dialog之外的区域对话框消失
				Window window = popupDialog.getWindow();
				WindowManager.LayoutParams lp = window.getAttributes();
				lp.y = -64; // 设置竖直方向的偏移量
				lp.dimAmount = 0f; // 弹出对话框的时候背景不变暗
				popupDialog.show();
			}
		});
    }
}


      最后效果:



       点击“上”之后,MainActivity会调用refreshPriorityUI()方法:



    
[2] com.cf.vpn.VPNCheck.sendCmd:Permission denied
    来源: 互联网  发布时间: 2014-02-18
com.cf.vpn.VPNCheck.sendCmd::Permission denied
2012-02-22 20:57:08.008 com.cf.vpn.VPNCheck.sendCmd::Permission denied
    org.apache.harmony.luni.platform.OSNetworkSystem.socket:-2
    dalvik.system.BlockGuard$WrappedNetworkSystem.socket:335
    org.apache.harmony.luni.net.PlainDatagramSocketImpl.create:110
    java.net.DatagramSocket.createSocket:191
    java.net.DatagramSocket.<init>:77
    com.cf.vpn.VPNCheck.sendDatagramPacket:240
    com.cf.vpn.VPNCheck.sendCmd:254
    com.cf.vpn.VPNCheck.launchVPNConnection:121
    com.cf.vpn.VPNTestTool.clickBtnDial:26
    com.cf.vpn.VPNTestTool.access$0:24
    com.cf.vpn.VPNTestTool$1.onClick:20
    android.view.View.performClick:2574
    android.view.View$PerformClick.run:9223
    android.os.Handler.handleCallback:587
    android.os.Handler.dispatchMessage:92
    android.os.Looper.loop:130
    android.app.ActivityThread.main:3691
    java.lang.reflect.Method.invokeNative:-2
    java.lang.reflect.Method.invoke:507
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run:907
    com.android.internal.os.ZygoteInit.main:665
    dalvik.system.NativeStart.main:-2

出现以上异常是由于在AndroidManifest.xml文件中没有添加:
<uses-permission android:name="android.permission.INTERNET" />

    
[3] java核心技术小结六
    来源: 互联网  发布时间: 2014-02-18
java核心技术总结六

第10章

1、用命令打jar包:

选项
说明
c
创建一个新的或者空的存档文件并加入文件
C
暂时改变目录
e
在清单文件中创建一个条目
f
将jar文件名指定为第二个命令行参数
i
建立索引文件
m
将一个清单文件添加到JAR文件中
M
不为条目创建清单文件
t
显示内容表
u
更新一个已有的JAR文件
v
生成详细的输出结果
x
解压文件
0

存储,不进行ZIP压缩


例如:要想更新一个已有的JAR文件的清单,则需要将增加的部分加入放置到一个文本文件中:

jar ufm MyArchive.jar manifest -additions.mf

2、清单文件

 清单文件被命名为MANIFEST.MF,它位于JAR文件的META-INF子目录中。

清单文件的最后一行必须以换行符结束

3、windows资源包括图像,按钮标签等组成,它们都附属于可执行文件,并通过标准的程序设计访问。

4、密封:

可以将java包密封以保证不会有其他的类加入到其中。

在默认情况下,jar文件中的包是没有密封的,可以在清单文件中的主节中加入Sealed:true 这句话来改变全局的默认设定

5、沙箱:受限制的执行环境

安全管理器将检查有权使用所有系统的资源。在默认的情况下,只允许执行那些无害的操作。

在沙箱中运行的代码不能修改或查看用户系统。

6、属性映射:它是一种存储键/值对的数据结构,其特性为:

1)、键和值都是字符串

2)、键/值对可疑很容易地写入文件或者从文件中读出

3)、用二级表存放默认值。

7、使用属性文件存在一些不足:

1)、配置文件不能存放在用户的主目录中。因为像windows 9x这样的系统没有主目录的概念。

2)、没有标准的为配置文件命名的规则









    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
c/c++开源软件 iis7站长之家
▪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