小编Sea*_*ilb的帖子

如何在Java中将自定义类的ArrayList转换为JsonArray?

我试图将自定义类的ArrayList转换为JsonArray.以下是我的代码.它执行正常,但一些JsonArray元素为零,即使它们是ArrayList中的数字.我试图将它们打印出来.就像ArrayList中的customerOne年龄是35但在JsonArray中它是0.可能有什么不对?

    ArrayList<Customer> customerList = CustomerDB.selectAll();
    Gson gson = new Gson();

    JsonElement element = 
     gson.toJsonTree(customerList , new TypeToken<List<Customer>>() {}.getType());

    JsonArray jsonArray = element.getAsJsonArray();
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist gson

23
推荐指数
3
解决办法
4万
查看次数

Android DatagramSocket错误消息:EADDRINUSE(地址已在使用中)

我正在尝试编写一个简单的Android聊天应用程序.我创建了一个处理所有网络通信的服务类.DatagramSocket绑定在一个单独的线程中.一旦进入,我收到此错误并且应用程序崩溃:

java.net.BindException: bind failed: EADDRINUSE (Address already in use)
at libcore.io.IoBridge.bind(IoBridge.java:89)
at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:68)
at java.net.DatagramSocket.createSocket(DatagramSocket.java:133)
at java.net.DatagramSocket.<init>(DatagramSocket.java:78)
Run Code Online (Sandbox Code Playgroud)

这是推测它的代码.使用新DatagramSocket的行发生错误如何避免此错误?谢谢.

private class ComThread extends Thread {

        private static final int BCAST_PORT = 8779;
        DatagramSocket mSocket;
        InetAddress myBcastIP, myLocalIP;

        public ComThread() {

            try {
                myBcastIP = getBroadcastAddress();
                if (D)
                    Log.d(TAG, "my bcast ip : " + myBcastIP);

                myLocalIP = getLocalAddress();
                if (D)
                    Log.d(TAG, "my local ip : " + myLocalIP);

                if (mSocket == null) {
                    mSocket = new DatagramSocket(BCAST_PORT);
                    mSocket.setReuseAddress(true);
                    mSocket.setBroadcast(true); …
Run Code Online (Sandbox Code Playgroud)

sockets networking android chat

20
推荐指数
2
解决办法
2万
查看次数

如何使用TextWatcher删除EditText中的文本?每次它检测到一个字符串并格式化它

我有一个带TextWatcher的EditText.它应该将文本格式化为人类高度,如5'9".但是当用户犯了错误并想删除输入错误的字符时,TextWather不允许他这样做.假设用户想删除"characther the TextWather立即加回.下面是代码.那么如何允许用户删除EditText中的文本?

private class CustomTextWatcher implements TextWatcher {
    private EditText mEditText;

public CustomTextWatcher(EditText e) {
    mEditText = e;
}

public void beforeTextChanged(CharSequence s, int start, int count,
        int after) {
}

public void onTextChanged(CharSequence s, int start, int before,
        int count) {


}

public void afterTextChanged(Editable s) {
    int count = s.length();
    String str = s.toString();
    if (count == 1) {
        str = str + "'";
    } else if (count == 3) {
        str = str + "\"";
    } …
Run Code Online (Sandbox Code Playgroud)

android textwatcher android-edittext

6
推荐指数
1
解决办法
1万
查看次数

如何使用glassfish v4将http重定向到https

我们在Glassfish v4上创建了一个网站,它使用端口8080表示http,端口8081表示https.我们的cisco防火墙将请求转发到端口80到端口8080,并请求端口443到端口8081.

但我们不希望用户能够访问http站点.我们希望将所有请求重定向到http站点到https.怎么做到呢?在Glassfish管理面板中,我们更改了配置 - >服务器配置 - >网络侦听器 - > http-listener-1和http-listener-2以重定向到HTTP选项卡下的端口8081,但它无法正常工作.用户仍然可以从外部看到http站点.谢谢你的帮助.

在此输入图像描述

https redirect http glassfish

6
推荐指数
1
解决办法
7662
查看次数

如何使用相同的语句和结果集运行多个选择查询?

我正在尝试编写简单的 Java Web 应用程序来从数据库中获取数据。我需要在不同的数据库表上运行多个选择查询。

String queryOne = "select firstname from employees where empid = id";
String queryOne = "select title from books where bookid = bid";
String queryOne = "select auther from books where bookid = bid";
Run Code Online (Sandbox Code Playgroud)

我试着这样做:

Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
ResultSet rs1 = statement.executeQuery(queryOne);

while (rs1.nest()) {
String firstName = rs1.getString(1);
}
statement.close();
connection.close();
Run Code Online (Sandbox Code Playgroud)

我只能使用相同的语句运行一个查询。如何使用相同的语句执行多个查询?

java jdbc resultset

2
推荐指数
1
解决办法
9170
查看次数

如何在android中播放3gp视频文件?

我想在我的Android平板电脑上播放.3gp视频文件.我试过下面的代码,但它会抛出一条错误信息.如何在Android中使用默认视频播放器?

String movieurl = root + "/" + fileNameTextView.getText().toString();           
Intent intent = new Intent(android.content.Intent.ACTION_VIEW); 
Uri data = Uri.parse(movieurl); 
intent.setDataAndType(data,"video/3gpp"); 
startActivity(intent); 
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

11-15 13:47:11.060:E/AndroidRuntime(23061):android.content.ActivityNotFoundException:找不到处理Intent的Activity {act = android.intent.action.VIEW dat =/mnt/sdcard/DCIM/Camera/VID_20121002_174209 .3gp typ = video/3gpp}

android 3gp android-intent

0
推荐指数
1
解决办法
2423
查看次数