android context.java_Android / Java类范围和Context
我有一个简单的按钮类,当按钮被点击时,我希望另一个类被安装并调用所有的方法。按钮类:
public class ButtonActivity extends Activity {
Button myButton;
TextView myLabel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myButton = (Button)findViewById(R.id.button1);
myLabel = (TextView)findViewById(R.id.textView1);
myButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
myLabel.setText("Fired");
SendClass sendy = new SendClass();
sendy.onReceive(null, null );
}
});
}
}第二类发送广播消息:
public class SendClass extends BroadcastReceiver {
private static final int UDP_SERVER_PORT = 2562;
Context mContext ;
DatagramSocket mSocket ;
InetAddress myBcastIP, myLocalIP ;
@Override
public void onReceive(Context context, Intent intent) {
String msg = "Toast Message" ;
DatagramSocket ds = null;
mContext = context;
try {
ds = new DatagramSocket();
try {
myBcastIP = getBroadcastAddress();
mSocket = new DatagramSocket(UDP_SERVER_PORT);
mSocket.setBroadcast(true);
} catch (IOException e) {
}
String udpMsg = "hello";
InetAddress serverAddr = myBcastIP;
//InetAddress serverAddr = InetAddress.getByName("192.168.1.5");
DatagramPacket dp;
dp = new DatagramPacket(udpMsg.getBytes(), udpMsg.length(), serverAddr, UDP_SERVER_PORT);
ds.send(dp);
} catch (SocketException e) {
e.printStackTrace();
}catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ds != null) {
ds.close();
}
}
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
}
/**
* Calculate the broadcast IP we need to send the packet along.
*/
private InetAddress getBroadcastAddress() throws IOException {
WifiManager mWifi = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = mWifi.getConnectionInfo();
DhcpInfo dhcp = mWifi.getDhcpInfo();
if (dhcp == null) {
return null;
}
int broadcast = (dhcp.ipAddress & dhcp.netmask) | ~dhcp.netmask;
byte[] quads = new byte[4];
for (int k = 0; k < 4; k++)
quads[k] = (byte) ((broadcast >> k * 8) & 0xFF);
return InetAddress.getByAddress(quads); // The high order byte is quads[0].
}}
我认为问题在于onReceive(Context context, Intent intent)。
在ButtonClass中将值设置为NULL会导致强制关闭,并且我不能将其明显留空。
使用代码提示设置它们以:
sendy.onReceive(getBaseContext() , getIntent());意思是Toast动作触发,没有FC,但广播消息从不发送。
android context.java_Android / Java类范围和Context相关推荐
- android jni 返回java类
今天,简单讲讲android 在jni中如何返回一个java的类. 之前,我写了一些关于jni的博客,里面返回的都是简单的int类型,那么如果我需要返回很多int和String类型,那么怎么办呢?当然 ...
- Android热修复Java类_Android 热修复(一)
名词: dex:java文件编译class 然后生成 dex文件在Android上运行: 1.dex分包: 2.找出出现问题的dex文件进行替换操作 3.下载dex文件,静默替换有问题的dex文件,进 ...
- Android中怎样在工具类中获取Context对象
场景 Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context对象, 如果在编写 ...
- android studio创建一个类继承application_带你全方位了解Android中的Context
这道题想考察什么? 是否熟悉Context类结构 是否熟悉Application,Activity,Service和Context的依赖关系 Application,Activity,Service中 ...
- 普通Java类获取context
场景:存储数据使用的是SharedPreferences,都知道最简单的获得SharedPreferences的方法是context.getSharedPreferences,但是我存储数据的环节放在 ...
- Android R.java类的手动生成
Android中的资源和R.java类 在Android项目中的res目录中包含了项目使用的各种资源,这些资源全部都分布在res目录下的各个子目录中.每个资源都有两个属性,一个是资源的名字,一个是资源 ...
- java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....
Android中利用画图类和线程画出闪烁的心形,android心形,package com.package com.tt.view;import android.content.Context;imp ...
- Swagger报错,Unable to scan document context default java.lang.NullPointerException: null
最近改完代码之后,启动项目,发现有以下error报错: Unable to scan document context default java.lang.NullPointerException: ...
- Qt for Android创建AndroidManifest.xml和Java类文件
前言 随着Qt的不断升级,如今用Qt来做跨平台开发也越来越方便,特别是Qt5.0版本以后加大了对Qt Quick的拓展,用QML来开发移动端的应用非常简单,并且支持的库也越来越多. 今天要讲的是Qt开 ...
最新文章
- react es6+ 代码优化之路-1
- Linux/ubuntu 服务器开启6010端口-X11服务-ssh连接
- java读取与写入_Java读取与写入文件
- 判断正则 shell_【US分享】Shell中的括号
- 如何在读研读博的道路上迅速失败?
- H.264 无参考视频质量评价方法 (使用了基于遗传编程方法的符号回归)
- 微信小程序实现下拉刷新
- 通用数据链接(UDL)的用法
- c语言中node是数据类型吗,lnode(数据结构lnode是什么类型)
- 如何快速入门 Python 爬虫
- Excel快速排查重复数据的几种方法?
- 中不中奖,都是抽奖程序的锅?
- python自动注册邮箱_python自动化办公——邮箱
- emqx配置ssl/tsl实现双向认证
- 单月营业额一个亿,任泉李冰冰黄晓明追着投钱!这家企业是谁?
- 10个比Visio更好的流程图制作软件
- poi对word读取(文本和图片)、修改、保存操作及word转换为PDF
- 乔布斯前传:混沌岁月塑造独特性格
- 前端追梦人Cytoscape.js教程
- Uber入驻四川乐山峨眉地区
热门文章
- boost::mpl::abs相关的测试程序
- bgi::detail::is_valid用法的测试程序
- GDCM:gdcm::ImageChangePlanarConfiguration的测试程序
- Boost:宏BOOST_TEST_EQ的测试
- VTK:PolyData之ExtractSelection
- VTK:Math之1DTupleInterpolation
- OpenCV使用MultiTracker
- QDoc包括图片includingimages
- OpenGL 分层渲染Layered Rendering的实例
- OpenGL 着色器的N体仿真