当前位置: 编程技术>移动开发
本页文章导读:
▪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代码:
MainActivity代码:
最后效果:
点击“上”之后,MainActivity会调用refreshPriorityUI()方法:
我们知道,从一个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" />
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核心技术总结六
说明
c
创建一个新的或者空的存档文件并加入文件
C
暂时改变目录
e
在清单文件中创建一个条目
f
将jar文件名指定为第二个命令行参数
i
建立索引文件
m
将一个清单文件添加到JAR文件中
M
不为条目创建清单文件
t
显示内容表
u
更新一个已有的JAR文件
v
生成详细的输出结果
x
解压文件
0
第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)、没有标准的为配置文件命名的规则
最新技术文章: