java用log.i打印数组_java-使用JSCH将ssh日志打印到列表(android)

我一直试图通过将包含我目录名称的log.i字符串值添加到数组中,然后使用数组适配器通过listView打印它们,来在listView中的目录中打印项目.但是,当我尝试运行该应用程序时,它将打印包含目录名称的日志,但不会在listView上打印任何内容.有什么帮助吗?

这是我的代码:

import android.os.AsyncTask;

import android.os.Bundle;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.util.ArrayList;

import java.util.Properties;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.Session;

import android.app.Activity;

import android.util.Log;

import android.widget.ListView;

import android.widget.Toast;

public class MainActivity extends Activity {

private String user = "root"; //username

private String pass = "password"; //password

private String host = "hostname"; //hostname

private int portNum = 22; //replace port number

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

new AsyncTask() {

@Override

protected Void doInBackground(Integer... params) {

try {

executeRemoteCommand(user, pass, host, portNum);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}.execute(1);

}

public String executeRemoteCommand(String username, String password, String hostname, int port)

throws Exception {

//declare list and array

final ListView list = (ListView)findViewById(R.id.choose_sound_listView);

ArrayList soundNames = new ArrayList();

JSch jsch = new JSch();

Session session = jsch.getSession(username, hostname, port);

session.setPassword(password);

// Avoid asking for key confirmation

Properties prop = new Properties();

prop.put("StrictHostKeyChecking", "no");

session.setConfig(prop);

session.connect();

Channel channel = session.openChannel("shell");

channel.connect();

DataInputStream dataIn = new DataInputStream(channel.getInputStream());

DataOutputStream dataOut = new DataOutputStream(channel.getOutputStream());

// send ls command to the server

dataOut.writeBytes("ls

");

dataOut.flush();

// and print the response

String line = dataIn.readLine();

String out = line + "

";

// loop to add log string values to array

for (int i = 0; i < 10; i++) {

line = dataIn.readLine();

out += line + "

";

Log.i("SSH", ": " + line);

//add to array

soundNames.add(line);

}

ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1, android.R.id.text1

, soundNames);

list.setAdapter(adapter);

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> arg0, View arg1,

int position, long arg3) {

// Show Alert

Toast.makeText(getApplicationContext(),

"Alert", Toast.LENGTH_LONG)

.show();

}

});

dataIn.close();

dataOut.close();

channel.disconnect();

session.disconnect();

return out;

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_main, menu);

return true;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Edge 浏览器被爆存在 XSS 绕过漏洞

来自知名安全测试套件Burp Suite厂商PortSwigger的安全专家Gareth Heyes近日在微软Edge浏览器的内置XSS过滤器存在绕过漏洞&#xff0c;这就意味着尽管微软在Edge浏览器中进行了大量的安全策略部署&#xff0c;但用户浏览网页的时候依然有可能让攻击者通过这种方式在Edge浏览器…

来了!十大更新

面向 Windows 10 正式版用户&#xff0c;微软发布了 2022 年 10 月更新。Windows 10 版本 21H1 更新后操作系统内部版本升级至 Build 190432130/2132&#xff08;带外更新&#xff09;。Windows 10 版本 21H2 更新后操作系统内部版本升级至 Build 19044.2130/2132&#xff08;带…

使用ansible 批量分发SSH Key

先确保你电脑有ansible&#xff0c;我是mac的用brew安装,其他可用yum安装brew search ansiblebrew install ansible我已经安装好2.7了生成下自己的key&#xff0c;一路回车ssh-keygen -t rsa编辑host&#xff0c;添加需要增加ssh key的机器vi /etc/ansible/hosts【hostgroup】我…

使用Git简单笔记

这里只是作为简单的笔记整理&#xff0c;第一次使用的推荐先看一下廖大的教程&#xff0c;内容很多很细&#xff0c;可以边看边练、看不懂的地方先记着、争取七七八八看下来。 心情不佳的分割线 廖雪峰的git教程&#xff1a; https://www.liaoxuefeng.com/wiki/001373951630592…

java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

简单看一下描述&#xff0c;例子最重要。1、getPath()&#xff1a;返回定义时的路径&#xff0c;(就是你写什么路径&#xff0c;他就返回什么路径)2、getAbsolutePath()&#xff1a;返回绝对路径&#xff0c;但不会处理“.”和“..”的情况3、getCanonicalPath()&#xff1a;返…

部署站点支持Https访问的方法

1、申请公钥和私钥&#xff0c;放到服务器 2、编辑default配置文件 改为 加上证书路径 ps:泛域名支持admin.xxx.com、demo.xxx.com等等&#xff0c;而免费的Lets Encrypt仅支持www.xxx.com和xxx.com 整理自www.laravist.com转载于:https://www.cnblogs.com/lamp01/p/6952464.ht…

.NET Core Onvif协议C#教程系列之XiaoFeng.Onvif组件库

物联网IOT大背景下音视频领域的Onvif 协议在2008年成为全球性的开放接口标准。于是一批开发者涌入该技术领域使用各种编程语言对其改造升级封装。因为是国际标准&#xff0c;所以规范内容比较多&#xff0c;物联网领域涉及又广&#xff0c;所以研究协议是一个很耗时间的一项工作…

php异常处理的深入

引出 如果你调一个类&#xff0c;调用时数据验证时报了个错&#xff0c;你会以什么方式返回 数组&#xff0c;布尔值&#xff1f; 数组这个可以带错误原因回来&#xff0c;那布尔值呢&#xff1f; 返回了个 false, 报错时把错误放在类变量里&#xff1f;还是专门用一个获取错误…

C# 跨平台的支付类库ICanPay

随着微软的开源&#xff0c;越来越多的项目支持跨平台&#xff0c;但是各种支付平台提供的类库&#xff0c;又老又不支持跨平台&#xff0c;吐槽下&#xff0c;尤其是微信&#xff0c;还有好多坑&#xff0c;于是ICanPay诞生了&#xff0c;今天就来讲ICanPay是什么&#xff0c;…

.NET CORE 下收发邮件之 MAILKIT

背景利用代码发送邮件在工作中还是比较常见的&#xff0c;相信大家都用过SmtpClient来处理发送邮件的操作&#xff0c;不过这个类以及被标记已过时&#xff0c;所以介绍一个微软推荐的库MailKit来处理。MailKit开源地址&#xff1a;https://github.com/jstedfast/MailKit需要邮…

【20181026T2】**图【最小瓶颈路+非旋Treap+启发式合并】

题面 【错解】 最大最小&#xff1f;最小生成树嘛 蛤&#xff1f;还要求和&#xff1f; 点分治&#xff1f; 不可做啊 写了个MST暴力LCA&#xff0c;30pts&#xff0c;140多行 事后发现30分是给dijkstra的 woc 【正解】 树上计数问题&#xff1a;①并查集②启发式合并③点分治 …

java实现关键词云_Java synchronized 关键词详细说明

Java synchronized 关键词详细说明外置专业技能点系统进程和进程的定义进程建立方法进程的情况情况变换线程安全的定义synchronized 关键词的几类使用方法装饰非静态数据组员方式synchronized public void sync(){}装饰静态数据组员方式synchronized public static void sync()…

损失函数(Loss function) 和 代价函数(Cost function)

1损失函数和代价函数的区别&#xff1a; 损失函数(Loss function)&#xff1a;指单个训练样本进行预测的结果与实际结果的误差。 代价函数(Cost function)&#xff1a;整个训练集&#xff0c;所有样本误差总和(所有损失函数总和)的平均值。&#xff08;这一步体现在propagate()…

Hadoop/HDFS命令

Hadoop中文手册&#xff1a;http://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html 英文手册&#xff1a;http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/CommandsManual.html Hadoop fs命令 hadoop fs: 该命令可以用于其他文件系统&#x…

《Node.js 入门系列》—— 一些简单的排错方法(一)

目录 TypeError: undefined is not a functionTypeError: Cannot read property xxx of undefined 或者 TypeError: Cannot read property xxx of null检查变量是未赋值检查函数是否有返回值检查变量是否引用了某个对象不存在的属性检查调用函数时是否未该传递参数俗话说“常在…

内置IOC容器ServiceCollection

.NetCore内置IOC容器ServiceCollection一、IOC介绍IOC&#xff1a;全名(Inversion of Control)-控制反转IOC意味着我们将对象的创建控制权交给了外部容器&#xff0c;我们不管它是如何创建的&#xff0c;我们只需要知道&#xff0c;当我们想要某个实例时&#xff0c;我们可以直…

java中 有没有方法将浏览器标签栏去掉_用JS去掉IE窗口的标题栏,工具栏,地址栏...

前言:经常上网的朋友可能会到过这样一些网站&#xff0c;一进入首页立刻会弹出一个窗口&#xff0c;或者按一个连接或按钮弹出&#xff0c;通常在这个窗口里会显示一些注意事项、版权信息 、警告、欢迎光顾之类的话或者作者想要特别提示的信息。其实制作这样的页面效果非常的容…

React+Redux仿Web追书神器

引言 由于 10 月份做的 React Native 项目没有使用到 Redux 等库&#xff0c;写了一段时间想深入学习 React&#xff0c;有个想法想做个 demo 练手下&#xff0c;那时候其实还没想好要做哪一个类型的&#xff0c;也看了些动漫的&#xff0c;小说阅读&#xff0c;聚合资源的开源…

【算法】LeetCode算法题-Maximum Subarray

这是悦乐书的第154次更新&#xff0c;第156篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第13题&#xff08;顺位题号是53&#xff09;。给定一个整数数组nums&#xff0c;找出一个最大和&#xff0c;此和是由数组中索引连续的元素组成&#xff0c;至少包含一个…

windows配置solr5.5.2(不通过tomcat,使用内置jetty)

一、windows下配置solr5.5.2(不通过tomcat,使用内置jetty) 第一步&#xff1a;安装Jdk1.7 Solr5.5好像只支持Jdk1.7及以上的版本&#xff0c;没亲测&#xff0c;solr6.0是只支持jdk1.8及以上的&#xff0c;下图为启动solr时的截图&#xff1a; 如何在windows环境下配置jdk及验证…